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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94c
push ebx
push esi
push edi
mov dword [ebp - 0x94c], ecx
push eax
xor eax, eax
xor eax, eax
je 0x100052c0
push ebp
adc byte [ecx], 0x58
pop eax
mov byte [ebp - 0x204], 0
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x203]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x204]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov byte [ebp - 0x408], 0
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x407]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x948], 0
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x947]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x948]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp - 0x948]
push ecx
push str._s.
lea edx, [ebp - 0x408]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov dword [ebp - 0x748], 0
mov ecx, 0x4f
xor eax, eax
lea edi, [ebp - 0x744]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x748]
push eax
lea ecx, [ebp - 0x408]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0xffffffff
jne 0x1000538d
xor eax, eax
jmp 0x1000560e
mov dword [ebp - 4], 0
mov byte [ebp - 0x608], 0
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x607]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
cmp dword [ebp - 4], 0
jne 0x100055fc
push 0x1001206c
lea edx, [ebp - 0x71c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x100055ba
push 0x10012068
lea eax, [ebp - 0x71c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x100055ba
lea ecx, [ebp - 0x71c]
push ecx
lea edx, [ebp - 0x948]
push edx
push str._s_s
lea eax, [ebp - 0x608]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov ecx, dword [ebp - 0x748]
and ecx, 0x10
test ecx, ecx
je 0x10005445
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x608]
push ecx
mov ecx, dword [ebp - 0x94c]
call fcn.100052a0
test eax, eax
jne 0x10005440
xor eax, eax
jmp 0x1000560e
jmp 0x100055ba
push 0x1001207c
lea edx, [ebp - 0x204]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x10005471
push 0x10012078
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x1000548c
lea ecx, [ebp - 0x608]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x94c]
call fcn.10004be0
jmp 0x100055ba
movsx eax, byte [ebp - 0x204]
cmp eax, 0x2a
jne 0x100054f4
movsx ecx, byte [ebp - 0x203]
cmp ecx, 0x2e
jne 0x100054f4
lea edx, [ebp - 0x71c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea esi, [ebp + eax - 0x71c]
lea eax, [ebp - 0x203]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
sub esi, eax
push esi
lea ecx, [ebp - 0x203]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x100054ef
lea edx, [ebp - 0x608]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x94c]
call fcn.10004be0
jmp 0x100055ba
lea ecx, [ebp - 0x204]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
movsx edx, byte [ebp + eax - 0x206]
cmp edx, 0x2e
jne 0x1000558c
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
movsx ecx, byte [ebp + eax - 0x205]
cmp ecx, 0x2a
jne 0x1000558c
lea edx, [ebp - 0x204]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
sub eax, 2
push eax
lea eax, [ebp - 0x71c]
push eax
lea ecx, [ebp - 0x204]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCmpNIA]
test eax, eax
jne 0x1000558a
lea edx, [ebp - 0x204]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
add esi, 2
lea eax, [ebp - 0x71c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jne 0x1000558a
lea ecx, [ebp - 0x608]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x94c]
call fcn.10004be0
jmp 0x100055ba
lea eax, [ebp - 0x71c]
push eax
lea ecx, [ebp - 0x204]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x100055ba
lea edx, [ebp - 0x608]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x94c]
call fcn.10004be0
lea ecx, [ebp - 0x748]
push ecx
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x100055f7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x100055e6
mov dword [ebp - 4], 1
jmp 0x100055f7
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
jmp 0x1000560e
jmp 0x100053ad
mov ecx, dword [ebp - 0x208]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc