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

Disassembly:
sub esp, 0x554
push ebx
push ebp
push esi
mov ebp, ecx
push edi
xor ebx, ebx
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x15]
mov byte [esp + 0x14], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x14]
stosb byte es:[edi], al
mov eax, dword [esp + 0x56c]
push eax
push ecx
call esi
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x461]
mov byte [esp + 0x460], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x35d]
mov byte [esp + 0x35c], bl
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x568]
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x35c]
push edx
push eax
call esi
lea ecx, [esp + 0x35c]
lea edx, [esp + 0x460]
push ecx
push str._s.
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, 0x4f
xor eax, eax
lea edi, [esp + 0x128]
mov dword [esp + 0x124], ebx
add esp, 0xc
rep stosd dword es:[edi], eax
lea eax, [esp + 0x118]
lea ecx, [esp + 0x460]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
jne 0x10008d90
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x554
ret 0xc
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x259]
mov byte [esp + 0x258], bl
rep stosd dword es:[edi], eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, dword [esp + 0x570]
jmp 0x10008dc5
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpA]
lea edx, [esp + 0x144]
push 0x1000f610
push edx
call ebx
test eax, eax
je 0x10008f3b
lea eax, [esp + 0x144]
push 0x1000f60c
push eax
call ebx
test eax, eax
je 0x10008f3b
lea ecx, [esp + 0x144]
lea edx, [esp + 0x35c]
push ecx
push edx
lea eax, [esp + 0x260]
push str._s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov al, byte [esp + 0x128]
add esp, 0x10
test al, 0x10
je 0x10008e49
mov ecx, dword [esp + 0x56c]
push edi
lea edx, [esp + 0x25c]
push ecx
push edx
mov ecx, ebp
call fcn.10008cb0
test eax, eax
je 0x10008f6c
jmp 0x10008f3b
lea eax, [esp + 0x14]
push 0x1000f620
push eax
call ebx
test eax, eax
je 0x10008f2b
lea ecx, [esp + 0x14]
push 0x1000f61c
push ecx
call ebx
test eax, eax
je 0x10008f2b
cmp byte [esp + 0x14], 0x2a
jne 0x10008ea2
cmp byte [esp + 0x15], 0x2e
jne 0x10008ea2
lea edx, [esp + 0x15]
push edx
call esi
lea ebx, [esp + 0x144]
sub ebx, eax
lea eax, [esp + 0x144]
push eax
call esi
add ebx, eax
lea ecx, [esp + 0x15]
push ebx
jmp 0x10008f16
lea eax, [esp + 0x14]
push eax
call esi
lea ecx, [esp + 0x14]
sub ecx, 2
cmp byte [eax + ecx], 0x2e
jne 0x10008f0a
lea edx, [esp + 0x14]
push edx
call esi
cmp byte [esp + eax + 0x13], 0x2a
jne 0x10008f0a
lea eax, [esp + 0x14]
push eax
call esi
sub eax, 2
lea ecx, [esp + 0x144]
push eax
lea edx, [esp + 0x18]
push ecx
push edx
call dword [sym.imp.SHLWAPI.dll_StrCmpNIA]
test eax, eax
jne 0x10008f3b
lea eax, [esp + 0x14]
push eax
call esi
lea ecx, [esp + 0x144]
mov ebx, eax
push ecx
add ebx, 2
call esi
cmp ebx, eax
jne 0x10008f3b
lea edx, [esp + 0x258]
push edx
jmp 0x10008f33
lea eax, [esp + 0x144]
lea ecx, [esp + 0x14]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x10008f3b
lea edx, [esp + 0x258]
push edx
jmp 0x10008f33
lea eax, [esp + 0x258]
push eax
push edi
mov ecx, ebp
call fcn.10008790
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x118]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x10008dbf
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x10008f7b
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x554
ret 0xc
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x554
ret 0xc