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

Disassembly:
mov eax, 0x4bce70
call fcn.00483820
sub esp, 0x268
mov eax, dword [0x4eec8c]
push esi
push edi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x10], eax
and dword [ebp - 4], 0
cmp dword [ecx + 0x262], 0
jne 0x40ac06
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40aa0e
cmp byte [esi], 0
je 0x40aa0e
push 0x4ea59c
push esi
call fcn.00484860
pop ecx
test eax, eax
pop ecx
je 0x40a9ae
sub eax, esi
jmp 0x40a9b5
push esi
call fcn.00483b20
pop ecx
push esi
lea ecx, [ebp - 0x10]
mov edi, eax
call fcn.0049b93c
lea eax, [ebp - 0x18]
push edi
push eax
lea ecx, [ebp - 0x10]
call fcn.00493848
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 1
call fcn.0049b8ec
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.0049b7ff
lea ecx, [ebp - 0x10]
call fcn.00493cc7
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x1c]
push dword [ebp - 0x10]
push dword [ebp + 8]
call fcn.0040ac22
add esi, edi
cmp byte [esi], 0x3b
jne 0x40aa07
inc esi
mov ecx, dword [ebp - 0x1c]
test esi, esi
jne 0x40a994
cmp dword [ecx + 0x24a], 0
je 0x40ac06
cmp dword [ecx + 0x27a], 0
jne 0x40ac06
push ebx
lea ecx, [ebp - 0x14]
push dword [ebp + 8]
call fcn.0049b86d
push 0x4e9c58
push eax
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 2
push eax
call fcn.0049ba48
push dword [eax]
lea eax, [ebp - 0x274]
push eax
call fcn.004838f0
pop ecx
pop ecx
lea ecx, [ebp - 0x18]
call fcn.0049b7ff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.0049b7ff
mov ebx, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x274]
push eax
call ebx
cmp eax, 0xffffffff
mov dword [ebp - 0x14], eax
je 0x40abee
or dword [ebp - 0x18], 0xffffffff
inc dword [ebp - 0x18]
cmp byte [ebp - 0x144], 0x2e
je 0x40abab
mov eax, dword [ebp - 0x170]
and eax, 0x10
cmp al, 0x10
jne 0x40abab
push 0x4e9540
lea ecx, [ebp - 0x28]
call fcn.0049b86d
mov esi, eax
lea eax, [ebp - 0x144]
lea ecx, [ebp - 0x24]
push eax
mov byte [ebp - 4], 3
call fcn.0049b86d
mov edi, eax
push dword [ebp + 8]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.0049b86d
push edi
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 5
push eax
call fcn.0049b9e2
push esi
push eax
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 6
push eax
call fcn.0049b9e2
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 7
call fcn.0049b8ec
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 6
call fcn.0049b7ff
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 5
call fcn.0049b7ff
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.0049b7ff
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.0049b7ff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.0049b7ff
mov esi, dword [ebp - 0x1c]
mov ecx, esi
call fcn.0040c58e
test eax, eax
jne 0x40abd2
push dword [ebp + 0x10]
mov ecx, esi
push dword [ebp + 0xc]
push dword [ebp - 0x10]
call fcn.0040a95f
cmp dword [0x4f1454], 0
je 0x40abab
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x274]
push eax
call ebx
cmp dword [ebp - 0x18], 0
mov dword [ebp - 0x14], eax
jle 0x40abab
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x170]
push eax
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
dec esi
jne 0x40ab98
lea eax, [ebp - 0x170]
push eax
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x40abc4
mov eax, dword [ebp - 0x14]
jmp 0x40abc7
or eax, 0xffffffff
cmp eax, 0xffffffff
jne 0x40aa91
jmp 0x40abee
mov eax, dword [esi + 0x24a]
mov dword [esi + 0x262], 1
mov dword [0x4f14c4], eax
and dword [esi + 0x24a], 0
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_FindClose]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0049b7ff
pop ebx
jmp 0x40ac12
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.0049b7ff
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
leave
ret 0xc