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

Disassembly:
push ebp
lea ebp, [esp - 0x9f8]
sub esp, 0xa78
mov eax, dword [0x4705d0]
xor eax, ebp
mov dword [ebp + 0x9f4], eax
mov eax, dword [ebp + 0xa04]
push ebx
mov ebx, dword [ebp + 0xa00]
push esi
push edi
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0xa14]
xor edi, edi
push 0x13c
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x6c]
push edi
push eax
mov dword [ebp - 0x70], edi
call fcn.004464f0
mov esi, 0x207
push esi
lea eax, [ebp + 0x3dd]
push edi
push eax
mov dword [ebp - 0x78], edi
mov byte [ebp + 0x3dc], 0
call fcn.004464f0
push esi
lea eax, [ebp + 0x7ed]
push edi
push eax
mov byte [ebp + 0x7ec], 0
call fcn.004464f0
push esi
lea eax, [ebp + 0x5e5]
push edi
push eax
mov byte [ebp + 0x5e4], 0
call fcn.004464f0
push esi
lea eax, [ebp + 0xd1]
push edi
push eax
mov byte [ebp + 0xd0], 0
call fcn.004464f0
mov esi, 0x103
push esi
lea eax, [ebp + 0x2d9]
push edi
push eax
mov byte [ebp + 0x2d8], 0
call fcn.004464f0
add esp, 0x48
cmp ebx, edi
je 0x40f229
cmp byte [ebx], 0
je 0x40f229
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ebx
call edi
inc eax
cmp eax, esi
jle 0x40ef5b
mov eax, esi
jmp 0x40ef5f
push ebx
call edi
inc eax
push eax
push ebx
lea eax, [ebp + 0x3dc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 0
lea eax, [ebp + 0x3dc]
push eax
call fcn.0040cd63
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
test eax, eax
je 0x40efb8
lea eax, [ebp + 0x3dc]
push eax
call edi
lea ecx, [ebp + 0x3dc]
dec ecx
cmp byte [eax + ecx], 0x5c
je 0x40efaa
push 0x45a954
lea eax, [ebp + 0x3dc]
push eax
call esi
push 0x45c518
lea eax, [ebp + 0x3dc]
push eax
call esi
lea eax, [ebp + 0x3dc]
push 0x5c
push eax
call fcn.00445cc0
pop ecx
pop ecx
test eax, eax
je 0x40f005
push 3
lea eax, [ebp + 0x5e4]
push eax
lea eax, [ebp + 0x3dc]
push eax
call fcn.0040dac4
lea eax, [ebp + 0x5e4]
push eax
call edi
lea ecx, [ebp + 0x5e4]
dec ecx
cmp byte [eax + ecx], 0x5c
je 0x40f005
push 0x45a954
lea eax, [ebp + 0x5e4]
push eax
call esi
push 0xc
lea eax, [ebp + 0xd0]
push eax
lea eax, [ebp + 0x3dc]
push eax
call fcn.0040dac4
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x3dc]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0xffffffff
je 0x40f0e6
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpA]
push 0x45b780
lea eax, [ebp - 0x44]
push eax
call ebx
test eax, eax
je 0x40f0d1
push 0x45bef8
lea eax, [ebp - 0x44]
push eax
call ebx
test eax, eax
je 0x40f0d1
cmp dword [ebp + 0xa10], 0
je 0x40f071
test byte [ebp - 0x70], 0x10
je 0x40f0d1
jmp 0x40f077
test byte [ebp - 0x70], 0x10
jne 0x40f0d1
lea eax, [ebp + 0x5e4]
push eax
lea eax, [ebp + 0x7ec]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 0x7ec]
push eax
call esi
push dword [ebp - 0x74]
call edi
mov ebx, eax
lea eax, [ebp + 0x7ec]
push eax
call edi
lea eax, [ebx + eax + 1]
cmp eax, dword [ebp + 0xa08]
jge 0x40f0ce
cmp dword [ebp - 0x74], 0
je 0x40f0ce
lea eax, [ebp + 0x7ec]
push eax
push dword [ebp - 0x74]
call esi
push dword [ebp - 0x7c]
push dword [ebp - 0x74]
call esi
inc dword [ebp - 0x78]
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x40f02e
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0xa0c], 0
jne 0x40f100
mov eax, dword [ebp - 0x78]
jmp 0x40f22b
lea eax, [ebp + 0x5e4]
push eax
call edi
mov ecx, eax
inc ecx
mov eax, 0x103
cmp ecx, eax
jg 0x40f11f
lea eax, [ebp + 0x5e4]
push eax
call edi
inc eax
push eax
lea eax, [ebp + 0x5e4]
push eax
lea eax, [ebp + 0x2d8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 0x45c518
lea eax, [ebp + 0x2d8]
push eax
call esi
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x2d8]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x40f21d
test byte [ebp - 0x70], 0x10
je 0x40f20a
push 0x45b780
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x40f20a
push 0x45bef8
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x40f20a
lea eax, [ebp + 0x5e4]
push eax
lea eax, [ebp + 0x7ec]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 0x7ec]
push eax
call esi
lea eax, [ebp + 0x7ec]
push eax
call edi
lea ecx, [ebp + 0x7ec]
dec ecx
cmp byte [eax + ecx], 0x5c
je 0x40f1d7
push 0x45a954
lea eax, [ebp + 0x7ec]
push eax
call esi
lea eax, [ebp + 0xd0]
push eax
lea eax, [ebp + 0x7ec]
push eax
call esi
push dword [ebp - 0x7c]
lea eax, [ebp + 0x7ec]
push dword [ebp + 0xa10]
push 1
push dword [ebp + 0xa08]
push dword [ebp - 0x74]
push eax
call fcn.0040ee75
add dword [ebp - 0x78], eax
lea eax, [ebp - 0x70]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x40f155
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x40f0f8
xor eax, eax
mov ecx, dword [ebp + 0x9f4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004464bf
add ebp, 0x9f8
leave
ret 0x18