Function at 0x404f08
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x21cc
call fcn.00417744
push edi
push esi
push ebx
mov esi, dword [ebp + 0xc]
add esp, 0xfffffff8
push dword [ebp + 8]
lea ebx, [ebp - 0x2140]
push ebx
call sub.msvcrt.dll_strcpy
add esp, 0xfffffff8
push 0x404f04
push ebx
call sub.msvcrt.dll_strcat
add esp, 0x20
cmp byte [esi], 0x2e
je 0x404f54
add esp, 0xfffffff8
push 0x403e61
push ebx
call sub.msvcrt.dll_strcat
add esp, 0x10
add esp, 0xfffffff8
push esi
push ebx
call sub.msvcrt.dll_strcat
add esp, 0xfffffff8
lea eax, [ebp - 0x140]
mov dword [ebp - 0x21b0], eax
push eax
push ebx
call sub.KERNEL32.dll_FindFirstFileA
mov esi, eax
add esp, 0x18
cmp esi, 0xffffffff
jne 0x404f88
xor eax, eax
jmp 0x405214
add esp, 0xfffffff4
push 0x430408
call sub.KERNEL32.dll_EnterCriticalSection
add esp, 0xc
mov ebx, dword [0x422c10]
test ebx, ebx
jne 0x404fc8
add esp, 0xfffffff4
push 0x10
call fcn.0041d6e8
mov ebx, eax
add esp, 0xfffffff4
push 0x430408
call sub.KERNEL32.dll_LeaveCriticalSection
add esp, 0xc
mov eax, ebx
add esp, 0x10
jmp 0x404fe1
mov eax, dword [ebx]
mov dword [0x422c10], eax
add esp, 0xfffffff4
push 0x430408
call sub.KERNEL32.dll_LeaveCriticalSection
add esp, 0xc
mov eax, ebx
mov dword [ebp - 0x2150], eax
mov dword [eax], eax
mov eax, dword [ebp - 0x2150]
mov dword [eax + 4], eax
mov esi, esi
add esp, 0xfffffff4
push 0x2000
call sub.msvcrt.dll_malloc
mov edx, eax
mov dword [ebp - 0x21a4], edx
add esp, 0xfffffff8
lea eax, [ebp - 0x114]
push eax
push edx
call sub.msvcrt.dll_strcpy
lea edi, [ebp - 0x21a4]
add esp, 0x20
mov eax, dword [ebp - 0x2150]
mov dword [ebp - 0x2190], eax
add esp, 0xfffffff4
push 0x430408
call sub.KERNEL32.dll_EnterCriticalSection
add esp, 0xc
mov ebx, dword [0x422c10]
test ebx, ebx
jne 0x40506c
add esp, 0xfffffff4
push 0x10
call fcn.0041d6e8
mov ebx, eax
add esp, 0xfffffff4
push 0x430408
call sub.KERNEL32.dll_LeaveCriticalSection
add esp, 0xc
mov edx, ebx
add esp, 0x10
jmp 0x405085
mov eax, dword [ebx]
mov dword [0x422c10], eax
add esp, 0xfffffff4
push 0x430408
call sub.KERNEL32.dll_LeaveCriticalSection
add esp, 0xc
mov edx, ebx
cmp edx, 0xfffffff8
je 0x40508f
mov eax, dword [edi]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x2190]
mov dword [edx], eax
mov eax, dword [ebp - 0x2190]
mov eax, dword [eax + 4]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x2190]
mov eax, dword [eax + 4]
mov dword [eax], edx
mov eax, dword [ebp - 0x2190]
mov dword [eax + 4], edx
mov dword [ebp - 0x2180], edx
add esp, 0xfffffff8
mov edx, dword [ebp - 0x21b0]
push edx
push esi
call sub.KERNEL32.dll_FindNextFileA
add esp, 8
test eax, eax
jne 0x404ff4
add esp, 0xfffffff4
push esi
call sub.KERNEL32.dll_FindClose
add esp, 0xc
mov dword [ebp - 0x21a8], 0
lea ecx, [ebp - 0x21a8]
mov eax, dword [ebp - 0x2150]
mov edx, dword [eax]
cmp edx, eax
je 0x405108
mov edx, dword [edx]
inc dword [ecx]
cmp edx, eax
jne 0x405100
mov ecx, dword [ebp - 0x21a8]
mov dword [ebp - 0x21b4], ecx
add esp, 0xfffffff4
mov eax, ecx
shl eax, 0xd
push eax
call sub.msvcrt.dll_malloc
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
xor edi, edi
add esp, 0x10
mov dword [ebp - 0x21ac], 0
lea ecx, [ebp - 0x21ac]
mov eax, dword [ebp - 0x2150]
mov edx, dword [eax]
cmp edx, eax
je 0x405150
mov edx, dword [edx]
inc dword [ecx]
cmp edx, eax
jne 0x405148
cmp dword [ebp - 0x21ac], 0
je 0x4051cc
mov eax, dword [ebp - 0x2150]
mov eax, dword [eax]
mov dword [ebp - 0x21a0], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [eax + 8]
mov dword [edx + edi*4], eax
mov eax, dword [ebp - 0x2150]
mov eax, dword [eax]
mov dword [ebp - 0x2190], eax
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [eax], ebx
mov dword [ebx + 4], eax
mov esi, dword [ebp - 0x2190]
add esp, 0xfffffff4
push 0x430408
call sub.KERNEL32.dll_EnterCriticalSection
add esp, 0xc
mov eax, dword [0x422c10]
mov dword [esi], eax
mov dword [0x422c10], esi
add esp, 0xfffffff4
push 0x430408
call sub.KERNEL32.dll_LeaveCriticalSection
add esp, 0xc
mov dword [ebp - 0x2180], ebx
inc edi
jmp 0x40512c
lea eax, [ebp - 0x2150]
add esp, 0xfffffff4
push eax
call fcn.004201f4
mov ebx, dword [ebp - 0x2150]
add esp, 0x10
add esp, 0xfffffff4
push 0x430408
call sub.KERNEL32.dll_EnterCriticalSection
add esp, 0xc
mov eax, dword [0x422c10]
mov dword [ebx], eax
mov dword [0x422c10], ebx
add esp, 0xfffffff4
push 0x430408
call sub.KERNEL32.dll_LeaveCriticalSection
mov eax, dword [ebp - 0x21b4]
lea esp, [ebp - 0x21d8]
pop ebx
pop esi
pop edi
leave
ret