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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58c
mov eax, dword [0x75ce68]
xor eax, ebp
mov dword [ebp - 4], eax
mov byte [ebp - 0x414], 0
push 0x207
push 0
lea eax, [ebp - 0x413]
push eax
call fcn.0061cde0
add esp, 0xc
mov byte [ebp - 0x20c], 0
push 0x207
push 0
lea ecx, [ebp - 0x20b]
push ecx
call fcn.0061cde0
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
push str._s.
push 0x208
lea eax, [ebp - 0x20c]
push eax
call fcn.00403ed0
add esp, 0x10
lea ecx, [ebp - 0x554]
push ecx
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x56c], eax
cmp dword [ebp - 0x56c], 0xffffffff
jne 0x404fec
mov dword [ebp - 0x56c], 0
jmp 0x405397
mov eax, dword [ebp - 0x554]
and eax, 0x10
je 0x405148
mov ecx, 1
imul edx, ecx, 0
movsx eax, byte [ebp + edx - 0x528]
cmp eax, 0x2e
je 0x405143
push 0x208
push 0
lea ecx, [ebp - 0x20c]
push ecx
call fcn.0061cde0
add esp, 0xc
lea edx, [ebp - 0x528]
push edx
mov eax, dword [ebp + 8]
push eax
push 0x708a38
push 0x208
lea ecx, [ebp - 0x20c]
push ecx
call fcn.00403ed0
add esp, 0x14
push str.C:windows
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x405073
lea eax, [ebp - 0x20c]
push eax
call fcn.00404f50
add esp, 4
lea ecx, [ebp - 0x20c]
mov dword [ebp - 0x560], ecx
mov edx, dword [ebp - 0x560]
add edx, 1
mov dword [ebp - 0x578], edx
mov eax, dword [ebp - 0x560]
mov cl, byte [eax]
mov byte [ebp - 0x555], cl
add dword [ebp - 0x560], 1
cmp byte [ebp - 0x555], 0
jne 0x40508e
mov edx, dword [ebp - 0x560]
sub edx, dword [ebp - 0x578]
mov dword [ebp - 0x580], edx
lea eax, [ebp - 0x528]
mov dword [ebp - 0x564], eax
mov ecx, dword [ebp - 0x564]
add ecx, 1
mov dword [ebp - 0x57c], ecx
mov edx, dword [ebp - 0x564]
mov al, byte [edx]
mov byte [ebp - 0x556], al
add dword [ebp - 0x564], 1
cmp byte [ebp - 0x556], 0
jne 0x4050d9
mov ecx, dword [ebp - 0x564]
sub ecx, dword [ebp - 0x57c]
mov dword [ebp - 0x584], ecx
mov edx, dword [ebp - 0x580]
sub edx, dword [ebp - 0x584]
sub edx, 1
push edx
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x20c]
push ecx
call fcn.00403de0
add esp, 0xc
push str..
lea edx, [ebp - 0x20c]
push edx
call fcn.00403e00
add esp, 8
jmp 0x40535c
push 0x708a54
lea eax, [ebp - 0x20c]
push eax
call fcn.00403e20
add esp, 8
test eax, eax
je 0x40535c
push 0x208
push 0
lea ecx, [ebp - 0x414]
push ecx
call fcn.0061cde0
add esp, 0xc
lea edx, [ebp - 0x20c]
mov dword [ebp - 0x568], edx
mov eax, dword [ebp - 0x568]
add eax, 1
mov dword [ebp - 0x588], eax
mov ecx, dword [ebp - 0x568]
mov dl, byte [ecx]
mov byte [ebp - 0x557], dl
add dword [ebp - 0x568], 1
cmp byte [ebp - 0x557], 0
jne 0x405195
mov eax, dword [ebp - 0x568]
sub eax, dword [ebp - 0x588]
mov dword [ebp - 0x58c], eax
mov ecx, dword [ebp - 0x58c]
sub ecx, 3
push ecx
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x414]
push eax
call fcn.00403de0
add esp, 0xc
mov dword [ebp - 0x570], 0
jmp 0x405200
mov ecx, dword [ebp - 0x570]
add ecx, 1
mov dword [ebp - 0x570], ecx
mov edx, dword [ebp - 0x570]
cmp dword [edx*4 + 0x75deb4], 0
je 0x40535c
mov eax, dword [ebp - 0x570]
mov ecx, dword [eax*4 + 0x75deb4]
push ecx
lea edx, [ebp - 0x414]
push edx
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
je 0x405357
lea eax, [ebp - 0x528]
push eax
lea ecx, [ebp - 0x414]
push ecx
call fcn.00403e00
add esp, 8
push 0x2e
lea edx, [ebp - 0x528]
push edx
call fcn.00403e40
add esp, 8
test eax, eax
je 0x405355
mov dword [ebp - 0x55c], 0
jmp 0x405281
mov eax, dword [ebp - 0x55c]
add eax, 1
mov dword [ebp - 0x55c], eax
mov ecx, dword [ebp - 0x55c]
cmp dword [ecx*4 + 0x75df2c], 0
je 0x405355
mov edx, dword [ebp - 0x55c]
mov eax, dword [edx*4 + 0x75df2c]
push eax
push 0x2e
lea ecx, [ebp - 0x528]
push ecx
call fcn.00403e40
add esp, 8
add eax, 1
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x405350
lea edx, [ebp - 0x414]
push edx
call fcn.00404c50
add esp, 4
mov dword [ebp - 0x574], eax
cmp dword [ebp - 0x574], 0
je 0x40534e
cmp dword [ebp - 0x574], 0xc8000
jge 0x40534e
push 0x708a58
mov eax, dword [ebp - 0x55c]
mov ecx, dword [eax*4 + 0x75df2c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x40532a
push 0x708a60
mov edx, dword [ebp - 0x55c]
mov eax, dword [edx*4 + 0x75df2c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x40533d
push 1
lea ecx, [ebp - 0x414]
push ecx
call fcn.00404de0
add esp, 8
jmp 0x40534e
push 0
lea edx, [ebp - 0x414]
push edx
call fcn.00404de0
add esp, 8
jmp 0x405355
jmp 0x405272
jmp 0x40535c
jmp 0x4051f1
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x554]
push eax
mov ecx, dword [ebp - 0x56c]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x404fec
mov edx, dword [ebp - 0x56c]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 0x56c], 0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005faac9
mov esp, ebp
pop ebp
ret