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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5a8
push esi
push edi
mov edi, dword [ebp + 8]
cmp byte [edi], 0
je 0x4319d4
push edi
call sub.MSVCRT.dll_strlen
cmp byte [eax + edi - 1], 0x5c
pop ecx
jne 0x4317bb
push edi
call sub.MSVCRT.dll_strlen
and byte [eax + edi - 1], 0
pop ecx
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push edi
lea eax, [ebp - 0x364]
push str._s.
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x364]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [ebp - 8], eax
je 0x4319d4
push ebx
mov ebx, str._s_s
jmp 0x4317fe
mov edi, dword [ebp + 8]
cmp dword [ebp + 0x10], 0
je 0x43183c
test byte [ebp - 0x14c], 0x10
je 0x431849
cmp byte [ebp - 0x120], 0x2e
je 0x43183c
lea eax, [ebp - 0x120]
push eax
push edi
lea eax, [ebp - 0x364]
push ebx
push eax
call esi
push 1
lea eax, [ebp - 0x364]
push dword [ebp + 0xc]
push eax
call fcn.0043178a
add esp, 0x1c
test byte [ebp - 0x14c], 0x10
jne 0x4319b2
lea eax, [ebp - 0x120]
push eax
call fcn.00439351
cmp byte [eax], 0
pop ecx
mov dword [ebp - 4], eax
je 0x4319b2
push 0x44e56c
push eax
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
lea eax, [ebp - 0x120]
push eax
jne 0x431969
push edi
lea eax, [ebp - 0x5a8]
push ebx
push eax
call esi
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x5a8]
push eax
push dword [0x45b980]
call fcn.00435ca0
add esp, 0x1c
test eax, eax
je 0x4319b2
lea eax, [ebp - 0x250]
push 0x44d3e0
push eax
call dword [sym.imp.MSVCRT.dll__mbsstr]
pop ecx
test eax, eax
pop ecx
je 0x4318d1
lea eax, [ebp - 0x250]
jmp 0x4319ab
lea eax, [ebp - 0x4a4]
push eax
lea eax, [ebp - 0x250]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [ebp - 4], eax
je 0x4319b2
test byte [ebp - 0x4a4], 0x10
jne 0x431944
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0x478]
push eax
call fcn.00439351
mov dword [ebp - 0xc], eax
mov eax, edi
cmp byte [eax], 0
jmp 0x431930
push edi
push dword [ebp - 0xc]
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
je 0x431935
push edi
call sub.MSVCRT.dll_strlen
lea edi, [edi + eax + 1]
cmp byte [edi], 0
pop ecx
jne 0x431913
jmp 0x43195e
lea eax, [ebp - 0x250]
push eax
call fcn.004309f3
pop ecx
jmp 0x43195e
cmp dword [ebp + 0x10], 1
jne 0x43195e
push 2
lea eax, [ebp - 0x250]
push dword [ebp + 0xc]
push eax
call fcn.0043178a
add esp, 0xc
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x4319b2
push dword [ebp + 8]
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0x364]
push ebx
push eax
call esi
mov eax, edi
add esp, 0x10
cmp byte [eax], 0
je 0x4319b2
push dword [ebp - 4]
push edi
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
je 0x4319a5
push edi
call sub.MSVCRT.dll_strlen
lea edi, [edi + eax + 1]
pop ecx
cmp byte [edi], 0
jne 0x431983
jmp 0x4319b2
lea eax, [ebp - 0x364]
push eax
call fcn.004309f3
pop ecx
lea eax, [ebp - 0x14c]
push eax
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4317fb
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_FindClose]
pop ebx
pop edi
pop esi
leave
ret