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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x758
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea eax, [ebp - 0x140]
push edi
push eax
push dword [ebp + 8]
call esi
mov ebx, dword [ebp + 0xc]
mov edi, eax
cmp edi, 0xffffffff
je 0x406e5e
test byte [ebp - 0x140], 0x10
jne 0x406e33
push dword [ebp + 8]
lea eax, [ebp - 0x348]
push 0
push eax
call fcn.00403bc9
push dword [ebp + 0x10]
lea eax, [ebp - 0x550]
push eax
call fcn.0041bb30
add esp, 0x14
cmp byte [ebx], 0
je 0x406deb
lea eax, [ebp - 0x550]
push ebx
push eax
call fcn.00405453
pop ecx
pop ecx
lea eax, [ebp - 0x550]
push eax
call fcn.00405d65
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x348]
push eax
call fcn.00405453
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x550]
push eax
call fcn.00405453
lea eax, [ebp - 0x550]
push eax
lea eax, [ebp - 0x348]
push eax
call fcn.00404d6e
add esp, 0x1c
lea eax, [ebp - 0x140]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x406e5e
call fcn.00404d12
cmp dword [0x42ab7c], 0
je 0x406dab
xor eax, eax
jmp 0x407020
push dword [ebp + 8]
lea eax, [ebp - 0x348]
push 0
push eax
call fcn.00403bc9
add esp, 0xc
lea eax, [ebp - 0x348]
push 0x427460
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x348]
push eax
call esi
cmp eax, 0xffffffff
mov dword [ebp + 0xc], eax
je 0x40701d
test byte [ebp - 0x140], 0x10
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
je 0x406f44
lea eax, [ebp - 0x114]
push 0x427458
push eax
call fcn.0041c5b0
pop ecx
test eax, eax
pop ecx
je 0x406f44
lea eax, [ebp - 0x114]
push 0x42745c
push eax
call fcn.0041c5b0
pop ecx
test eax, eax
pop ecx
je 0x406f44
push dword [ebp + 8]
lea eax, [ebp - 0x348]
push eax
call esi
lea eax, [ebp - 0x758]
push ebx
push eax
call fcn.0041bb30
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x758]
push eax
call fcn.00405453
add esp, 0x10
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x348]
push eax
call fcn.00406d24
push dword [ebp + 0x10]
lea eax, [ebp - 0x758]
push eax
lea eax, [ebp - 0x348]
push eax
call fcn.00406d7f
add esp, 0xc
test eax, eax
je 0x406e57
mov edi, dword [sym.imp.KERNEL32.dll_FindNextFileA]
lea eax, [ebp - 0x140]
push eax
push dword [ebp + 0xc]
call edi
test eax, eax
je 0x40701d
call fcn.00404d12
cmp dword [0x42ab7c], 0
jne 0x406e57
test byte [ebp - 0x140], 0x10
je 0x40700e
lea eax, [ebp - 0x114]
push 0x427458
push eax
call fcn.0041c5b0
pop ecx
test eax, eax
pop ecx
je 0x40700e
lea eax, [ebp - 0x114]
push 0x42745c
push eax
call fcn.0041c5b0
pop ecx
test eax, eax
pop ecx
je 0x40700e
push dword [ebp + 8]
lea eax, [ebp - 0x348]
push eax
call esi
lea eax, [ebp - 0x758]
push ebx
push eax
call fcn.0041bb30
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x758]
push eax
call fcn.00405453
add esp, 0x10
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x348]
push eax
call fcn.00406d24
push dword [ebp + 0x10]
lea eax, [ebp - 0x758]
push eax
lea eax, [ebp - 0x348]
push eax
call fcn.00406d7f
add esp, 0xc
test eax, eax
je 0x406e57
lea eax, [ebp - 0x140]
push eax
push dword [ebp + 0xc]
jmp 0x406f54
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret