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

Disassembly:
push ebp
push edi
mov edi, eax
push esi
push ebx
mov esi, edx
sub esp, 0x1ac
mov ebp, dword [esp + 0x1c0]
mov dword [esp + 0x2c], ecx
test ebp, ebp
je 0x413f14
lea eax, [esp + 0x60]
mov dword [esp], 0x439cb5
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
sub esp, 8
cmp eax, 0xffffffff
mov dword [esp + 0x28], eax
lea ebx, [esp + 0x8c]
je 0x413e62
lea esi, [esi]
cmp byte [esp + 0x8c], 0x2e
je 0x413e42
test esi, esi
je 0x413d96
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00423730
test eax, eax
je 0x413e42
test edi, edi
je 0x413ec1
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov ecx, ebx
mov ebp, dword [ecx]
add ecx, 4
lea edx, [ebp - 0x1010101]
not ebp
and edx, ebp
and edx, 0x80808080
je 0x413da8
mov ebp, edx
shr ebp, 0x10
test edx, 0x8080
cmove edx, ebp
lea ebp, [ecx + 2]
cmove ecx, ebp
add dl, dl
sbb ecx, 3
sub ecx, ebx
lea eax, [ecx + eax + 2]
mov dword [esp], eax
call fcn.0041a680
test eax, eax
mov ebp, eax
je 0x413e42
mov eax, edi
mov edx, 0x439c83
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str._s_s_s
mov dword [esp], ebp
call sub.msvcrt.dll_sprintf
lea eax, [esp + 0x3c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.004312d0
test eax, eax
js 0x413e3a
movzx eax, word [esp + 0x42]
mov ecx, dword [esp + 0x2c]
and ax, 0xf000
test ecx, ecx
je 0x413e70
cmp ax, 0x4000
je 0x413ea0
mov dword [esp], ebp
call fcn.0041a750
lea eax, [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
sub esp, 8
test eax, eax
jne 0x413d70
add esp, 0x1ac
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x1c0]
test edx, edx
je 0x413f80
cmp ax, 0x4000
je 0x413e3a
mov eax, dword [esp + 0x1c0]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.00413c60
jmp 0x413e42
mov eax, dword [esp + 0x1c0]
test eax, eax
jne 0x413e3a
mov edx, dword [esp + 0x2c]
mov dword [esp], 0
xor ecx, ecx
mov eax, ebp
call fcn.00413d20
jmp 0x413e42
mov edx, ebx
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x413ec3
mov ecx, eax
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
add al, al
sbb edx, 3
sub edx, ebx
add edx, 2
mov dword [esp], edx
call fcn.0041a680
test eax, eax
mov ebp, eax
je 0x413e42
mov edx, 0x439c85
mov eax, edx
jmp 0x413df3
test ecx, ecx
sete bl
test edx, edx
je 0x413f35
test bl, bl
je 0x413f35
mov dword [esp + 4], 0x2f
mov dword [esp], edx
call sub.msvcrt.dll_strchr
test eax, eax
je 0x413f9c
test edi, edi
setne al
test bl, al
je 0x413d41
test esi, esi
jne 0x413d41
mov dword [esp + 4], 0x2f
mov dword [esp], edi
call sub.msvcrt.dll_strchr
test eax, eax
jne 0x413d41
mov dword [esp + 4], 0x28
mov dword [esp], edi
call sub.msvcrt.dll_strchr
mov dword [esp + 0x1c0], eax
mov eax, edi
jmp 0x413fb5
cmp ax, 0x4000
jne 0x413e85
test byte [0x44a21c], 0x10
je 0x413e42
jmp 0x413eab
mov dword [esp + 4], 0x28
mov dword [esp], esi
call sub.msvcrt.dll_strchr
mov dword [esp + 0x1c0], eax
mov eax, esi
mov ebx, dword [esp + 0x1c0]
test ebx, ebx
je 0x413d41
mov dword [esp + 4], 0x29
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
je 0x414000
cmp byte [eax + 1], 0
jne 0x414000
mov ebx, dword [esp + 0x1c0]
add dword [esp + 0x1c0], 1
mov byte [ebx], 0
mov byte [eax], 0
jmp 0x413d41
mov dword [esp], str.File_and_map_must_have_the_format_file_map__n
call fcn.0041ac30
add esp, 0x1ac
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret