Function at 0x403d68
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x21cc
call fcn.004161a4
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 0x403d64
push ebx
call sub.msvcrt.dll_strcat
add esp, 0x20
cmp byte [esi], 0x2e
je 0x403db4
add esp, 0xfffffff8
push 0x402d01
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 0x403de8
xor eax, eax
jmp 0x404074
add esp, 0xfffffff4
push 0x42f400
call sub.KERNEL32.dll_EnterCriticalSection
add esp, 0xc
mov ebx, dword [0x421c10]
test ebx, ebx
jne 0x403e28
add esp, 0xfffffff4
push 0x10
call fcn.0041c140
mov ebx, eax
add esp, 0xfffffff4
push 0x42f400
call sub.KERNEL32.dll_LeaveCriticalSection
add esp, 0xc
mov eax, ebx
add esp, 0x10
jmp 0x403e41
mov eax, dword [ebx]
mov dword [0x421c10], eax
add esp, 0xfffffff4
push 0x42f400
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 0x42f400
call sub.KERNEL32.dll_EnterCriticalSection
add esp, 0xc
mov ebx, dword [0x421c10]
test ebx, ebx
jne 0x403ecc
add esp, 0xfffffff4
push 0x10
call fcn.0041c140
mov ebx, eax
add esp, 0xfffffff4
push 0x42f400
call sub.KERNEL32.dll_LeaveCriticalSection
add esp, 0xc
mov edx, ebx
add esp, 0x10
jmp 0x403ee5
mov eax, dword [ebx]
mov dword [0x421c10], eax
add esp, 0xfffffff4
push 0x42f400
call sub.KERNEL32.dll_LeaveCriticalSection
add esp, 0xc
mov edx, ebx
cmp edx, 0xfffffff8
je 0x403eef
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 0x403e54
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 0x403f68
mov edx, dword [edx]
inc dword [ecx]
cmp edx, eax
jne 0x403f60
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 0x403fb0
mov edx, dword [edx]
inc dword [ecx]
cmp edx, eax
jne 0x403fa8
cmp dword [ebp - 0x21ac], 0
je 0x40402c
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 0x42f400
call sub.KERNEL32.dll_EnterCriticalSection
add esp, 0xc
mov eax, dword [0x421c10]
mov dword [esi], eax
mov dword [0x421c10], esi
add esp, 0xfffffff4
push 0x42f400
call sub.KERNEL32.dll_LeaveCriticalSection
add esp, 0xc
mov dword [ebp - 0x2180], ebx
inc edi
jmp 0x403f8c
lea eax, [ebp - 0x2150]
add esp, 0xfffffff4
push eax
call fcn.0041ec4c
mov ebx, dword [ebp - 0x2150]
add esp, 0x10
add esp, 0xfffffff4
push 0x42f400
call sub.KERNEL32.dll_EnterCriticalSection
add esp, 0xc
mov eax, dword [0x421c10]
mov dword [ebx], eax
mov dword [0x421c10], ebx
add esp, 0xfffffff4
push 0x42f400
call sub.KERNEL32.dll_LeaveCriticalSection
mov eax, dword [ebp - 0x21b4]
lea esp, [ebp - 0x21d8]
pop ebx
pop esi
pop edi
leave
ret