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

Disassembly:
push ebp
mov eax, 0x17bc
mov ebp, esp
push edi
push esi
push ebx
call fcn.004128fc
sub esp, eax
mov eax, dword [ebp + 8]
lea esi, [ebp - 0x1630]
cmp dword [eax + 0x204], 0
jne 0x404d9b
lea ebx, [ebp - 0x142c]
mov dword [esp + 8], 0x204
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0040ad48
dec eax
mov dl, byte [ebp + eax - 0x142c]
cmp dl, 0x2f
je 0x404c73
cmp dl, 0x5c
jne 0x404c7b
mov byte [ebp + eax - 0x142c], 0
mov dword [esp], ebx
call fcn.00404a4e
test al, al
je 0x404d9b
lea edi, [ebp - 0x1228]
mov dword [esp], ebx
mov dword [esp + 8], 0x104
mov dword [esp + 4], edi
call fcn.0040b460
mov dword [esp], ebx
mov dword [esp + 8], 0x204
mov dword [esp + 4], esi
call fcn.0040b406
lea ecx, [ebp - 0x1791]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 8], 0x21
mov dword [ebp - 0x179c], ecx
call fcn.0040481e
mov dword [esp], ebx
lea ebx, [ebp - 0x1018]
call fcn.00404be8
mov ecx, dword [ebp - 0x179c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 8], str._d_a_s_a_I64u_a_s_a_s_a
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov dword [esp + 4], 0x1000
mov dword [esp], ebx
call fcn.0040afa3
test eax, eax
jle 0x404d46
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x4b
mov eax, dword [eax + 0x208]
mov dword [esp], eax
call fcn.00403f73
mov dword [esp], 0x32
call fcn.004053d0
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4c
mov eax, dword [eax + 0x208]
mov dword [esp], eax
call fcn.00403f73
mov eax, dword [ebp + 8]
cmp byte [eax + 0x20d], 0
je 0x405048
lea eax, [ebp + 8]
mov dword [esp], eax
call fcn.00405434
jmp 0x405048
mov dword [esp], 0x8003
call sub.KERNEL32.dll_SetErrorMode
mov eax, dword [ebp + 8]
push edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x4139a2
mov dword [esp + 4], 0x204
mov dword [esp], esi
call fcn.0040afa3
test eax, eax
js 0x405048
lea eax, [ebp - 0x1770]
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.KERNEL32.dll_FindFirstFileA
cmp eax, 0xffffffff
mov esi, eax
push ebx
push ebx
je 0x40501f
lea ebx, [ebp - 0x1744]
lea edi, [ebp - 0x142c]
cmp dword [0x4182a0], 0
jne 0x404e11
mov dword [esp], esi
call sub.KERNEL32.dll_FindClose
push ecx
jmp 0x40501f
mov dword [esp + 4], 0x4139a6
mov dword [esp], ebx
call fcn.0040b055
test eax, eax
je 0x404ffe
mov dword [esp + 4], 0x4139a8
mov dword [esp], ebx
call fcn.0040b055
test eax, eax
je 0x404ffe
mov edx, dword [ebp - 0x1770]
mov eax, dword [ebp + 8]
test dl, 0x10
je 0x404f24
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x1018]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 8], str._d_a_s_a_s_a
mov dword [esp + 4], 0x1000
mov dword [esp], edx
mov dword [ebp - 0x179c], edx
call fcn.0040afa3
test eax, eax
js 0x404ffe
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x179c]
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x4b
mov dword [esp + 8], edx
mov eax, dword [eax + 0x208]
mov dword [esp], eax
call fcn.00403f73
mov eax, dword [ebp + 8]
cmp byte [eax + 0x20c], 0
je 0x404ffe
lea edx, [ebp - 0x1228]
mov dword [esp], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x4139ab
mov dword [esp + 4], 0x204
mov dword [ebp - 0x179c], edx
call fcn.0040afa3
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x179c]
mov ecx, dword [eax + 0x204]
mov eax, dword [eax + 0x208]
mov dword [esp], edx
mov byte [ebp - 0x101c], 1
inc ecx
mov dword [ebp - 0x1024], ecx
mov dword [ebp - 0x1020], eax
call fcn.00404c1f
jmp 0x404ffe
mov ecx, dword [ebp - 0x1750]
mov edx, dword [ebp - 0x1754]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x4139cc
mov dword [esp + 4], 0x204
mov dword [esp], edi
mov dword [ebp - 0x17a4], ecx
mov dword [ebp - 0x17a0], edx
call fcn.0040afa3
lea eax, [ebp - 0x1791]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x21
mov dword [esp], edi
mov dword [ebp - 0x179c], eax
call fcn.0040481e
mov eax, dword [ebp - 0x179c]
mov edx, dword [ebp - 0x17a0]
mov ecx, dword [ebp - 0x17a4]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x1018]
mov dword [esp + 0x14], ecx
mov dword [esp + 8], str._d_a_s_a_I64u_a_s_a_s_a
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x1770]
mov dword [esp + 4], 0x1000
mov dword [esp], edx
mov dword [ebp - 0x179c], edx
mov dword [esp + 0xc], eax
call fcn.0040afa3
test eax, eax
js 0x404ffe
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x179c]
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x4b
mov dword [esp + 8], edx
mov eax, dword [eax + 0x208]
mov dword [esp], eax
call fcn.00403f73
lea eax, [ebp - 0x1770]
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.KERNEL32.dll_FindNextFileA
test eax, eax
push edx
push edx
jne 0x404dfa
jmp 0x404e03
mov eax, dword [ebp + 8]
cmp dword [eax + 0x204], 0
jne 0x405048
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4c
jmp 0x404d6d
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret