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

Disassembly:
push ebp
lea ebp, [esp - 0x100]
sub esp, 0x180
mov eax, dword [0x429060]
xor eax, ebp
mov dword [ebp + 0xfc], eax
mov eax, dword [ebp + 0x108]
mov eax, dword [eax]
push ebx
mov ebx, dword [ebp + 0x10c]
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp + 0x110]
push esi
push edi
sub eax, 0x10
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x64], ecx
call fcn.00401773
add eax, 0x10
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x54]
call fcn.0040c50c
mov eax, dword [ebp - 0x54]
add eax, 0xfffffff0
mov dword [ebp - 0x78], eax
call fcn.00401773
add eax, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx]
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00401cb8
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
and dword [ebp - 0x58], 0
lea ecx, [ebp - 0x44]
push ecx
push eax
mov dword [ebp - 0x5c], eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp eax, 1
jne 0x42118a
lea eax, [ebp - 0x18]
push eax
lea esi, [ebp - 0x48]
call fcn.00401d1b
mov edi, dword [ebp - 0x48]
mov esi, dword [edi - 0xc]
push 0x2e
mov eax, edi
call fcn.004015e9
test eax, eax
pop ecx
jne 0x421068
or ecx, 0xffffffff
jmp 0x42106c
sub eax, edi
mov ecx, eax
mov eax, esi
sub eax, ecx
lea ecx, [ebp - 0x60]
push ecx
lea esi, [ebp - 0x48]
call fcn.00401456
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push str..pack
push dword [ebp - 0x60]
call ebx
test eax, eax
jne 0x421156
push 0x2e
mov eax, edi
call fcn.004015e9
test eax, eax
pop ecx
jne 0x4210a7
or eax, 0xffffffff
jmp 0x4210a9
sub eax, edi
lea ecx, [ebp - 0x74]
push ecx
lea esi, [ebp - 0x48]
call fcn.004014a5
mov edi, esi
call fcn.0040158b
mov eax, dword [ebp - 0x74]
add eax, 0xfffffff0
call fcn.0040175b
mov esi, dword [ebp - 0x48]
mov edi, dword [esi - 0xc]
push 0x2e
mov eax, esi
call fcn.004015e9
test eax, eax
pop ecx
jne 0x4210e0
or ecx, 0xffffffff
jmp 0x4210e4
sub eax, esi
mov ecx, eax
mov eax, edi
sub eax, ecx
lea ecx, [ebp - 0x68]
push ecx
lea esi, [ebp - 0x48]
call fcn.00401456
lea edi, [ebp - 0x60]
call fcn.0040158b
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
call fcn.0040175b
push str..jar
push dword [ebp - 0x60]
call ebx
test eax, eax
jne 0x421153
push dword [ebp + 0x114]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x54]
lea edi, [ebp - 0x6c]
call fcn.0041b25b
pop ecx
lea esi, [ebp - 0x80]
call fcn.00420e1f
mov ebx, dword [ebp - 0x64]
mov edi, eax
call fcn.0042155c
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
call fcn.0040175b
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
call fcn.0040175b
mov edi, dword [ebp - 0x48]
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov ebx, eax
mov eax, dword [ebp - 0x60]
dec ebx
neg ebx
sbb bl, bl
add eax, 0xfffffff0
inc bl
call fcn.0040175b
lea eax, [edi - 0x10]
call fcn.0040175b
test bl, bl
jne 0x421043
mov ebx, dword [ebp - 0x50]
push 0x424cbc
lea eax, [ebp - 0x54]
lea edi, [ebp - 0x50]
call fcn.0041b25b
pop ecx
lea edi, [ebp - 0x4c]
call fcn.0040158b
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
call fcn.0040175b
cmp dword [ebp - 0x5c], 0
je 0x4211c1
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_FindClose]
and dword [ebp - 0x5c], 0
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push eax
lea esi, [ebp - 0x5c]
call fcn.004215a6
mov esi, dword [sym.imp.KERNEL32.dll_FindNextFileA]
jmp 0x421219
lea eax, [ebp - 0x44]
call fcn.0041aca5
test al, al
je 0x421219
push dword [ebp + 0x114]
lea eax, [ebp - 0x18]
push dword [ebp - 0x64]
lea edi, [ebp - 0x50]
push ebx
push eax
lea eax, [ebp - 0x54]
call fcn.0041b25b
pop ecx
mov ecx, dword [ebp - 0x70]
push eax
call fcn.00420fa7
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
call fcn.0040175b
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x5c]
call esi
cmp eax, 1
je 0x4211df
cmp dword [ebp - 0x5c], 0
pop edi
pop esi
pop ebx
je 0x421239
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
call fcn.0040175b
mov eax, dword [ebp - 0x78]
call fcn.0040175b
mov ecx, dword [ebp + 0xfc]
xor ecx, ebp
call fcn.0042254d
add ebp, 0x100
leave
ret 0x10