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

Disassembly:
push ebp
lea ebp, [esp - 0x9f8]
sub esp, 0xa78
mov eax, dword [0x47e5d0]
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.00452e00
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.00452e00
push esi
lea eax, [ebp + 0x7ed]
push edi
push eax
mov byte [ebp + 0x7ec], 0
call fcn.00452e00
push esi
lea eax, [ebp + 0x5e5]
push edi
push eax
mov byte [ebp + 0x5e4], 0
call fcn.00452e00
push esi
lea eax, [ebp + 0xd1]
push edi
push eax
mov byte [ebp + 0xd0], 0
call fcn.00452e00
mov esi, 0x103
push esi
lea eax, [ebp + 0x2d9]
push edi
push eax
mov byte [ebp + 0x2d8], 0
call fcn.00452e00
add esp, 0x48
cmp ebx, edi
je 0x4137e9
cmp byte [ebx], 0
je 0x4137e9
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ebx
call edi
inc eax
cmp eax, esi
jle 0x413527
mov eax, esi
jmp 0x41352b
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.00411143
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
test eax, eax
je 0x413580
lea eax, [ebp + 0x3dc]
push eax
call edi
lea ecx, [ebp + 0x3dc]
cmp byte [eax + ecx - 1], 0x5c
je 0x413572
push 0x4648e0
mov eax, ecx
push eax
call esi
push 0x467b20
lea eax, [ebp + 0x3dc]
push eax
call esi
lea eax, [ebp + 0x3dc]
push 0x5c
push eax
call fcn.00452d30
pop ecx
pop ecx
test eax, eax
je 0x4135c9
push 3
lea eax, [ebp + 0x5e4]
push eax
lea eax, [ebp + 0x3dc]
push eax
call fcn.00411eca
lea eax, [ebp + 0x5e4]
push eax
call edi
lea ecx, [ebp + 0x5e4]
cmp byte [eax + ecx - 1], 0x5c
je 0x4135c9
push 0x4648e0
mov eax, ecx
push eax
call esi
push 0xc
lea eax, [ebp + 0xd0]
push eax
lea eax, [ebp + 0x3dc]
push eax
call fcn.00411eca
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 0x4136aa
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpA]
push 0x466c80
lea eax, [ebp - 0x44]
push eax
call ebx
test eax, eax
je 0x413695
push 0x467414
lea eax, [ebp - 0x44]
push eax
call ebx
test eax, eax
je 0x413695
cmp dword [ebp + 0xa10], 0
je 0x413635
test byte [ebp - 0x70], 0x10
je 0x413695
jmp 0x41363b
test byte [ebp - 0x70], 0x10
jne 0x413695
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 0x413692
cmp dword [ebp - 0x74], 0
je 0x413692
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 0x4135f2
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp + 0xa0c], 0
jne 0x4136c4
mov eax, dword [ebp - 0x78]
jmp 0x4137eb
lea eax, [ebp + 0x5e4]
push eax
call edi
lea ecx, [eax + 1]
mov eax, 0x103
cmp ecx, eax
jg 0x4136e3
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 0x467b20
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 0x4137dd
test byte [ebp - 0x70], 0x10
je 0x4137ca
push 0x466c80
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x4137ca
push 0x467414
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x4137ca
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]
cmp byte [eax + ecx - 1], 0x5c
je 0x413797
push 0x4648e0
mov eax, ecx
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.00413441
add dword [ebp - 0x78], eax
lea eax, [ebp - 0x70]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x413719
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x4136bc
xor eax, eax
mov ecx, dword [ebp + 0x9f4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00452dee
add ebp, 0x9f8
leave
ret 0x18