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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x284
mov eax, dword [0x451220]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x26c], ecx
mov dword [ebp - 0x268], eax
test edi, edi
jne 0x415df4
call fcn.00413ab4
jmp 0x416062
mov eax, dword [ebp + 0x14]
cmp dword [ebp + 0x10], eax
ja 0x415dea
push edi
call fcn.00413ab4
pop ecx
lea esi, [ebp - 0x284]
call fcn.00404d28
push edi
lea esi, [ebp - 0x25c]
call fcn.00406e38
mov esi, 0x4478c4
push esi
lea ecx, [ebp - 0x260]
lea eax, [ebp - 0x25c]
call fcn.00404caf
push eax
call fcn.00404b9e
mov edi, eax
mov eax, dword [ebp - 0x260]
add eax, 0xfffffff0
call fcn.00406e8b
test edi, edi
je 0x415e58
push esi
lea eax, [ebp - 0x25c]
push eax
call fcn.00404b6a
mov eax, dword [ebp - 0x25c]
add eax, 0xfffffff0
mov dword [ebp - 0x260], eax
call fcn.0040698f
add eax, 0x10
mov dword [ebp - 0x264], eax
push 0x44cfc4
lea eax, [ebp - 0x264]
push eax
call fcn.00404b6a
mov ebx, dword [ebp - 0x264]
push ebx
call fcn.00413ab4
pop ecx
push 0x18
pop esi
call fcn.004056bf
test eax, eax
je 0x415eab
lea ecx, [ebp - 0x258]
push ecx
push ebx
call eax
jmp 0x415eb9
lea eax, [ebp - 0x258]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x415fa8
mov eax, dword [ebp - 0x260]
call fcn.0040698f
add eax, 0x10
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x25c]
push eax
call fcn.00404b6a
mov esi, dword [ebp - 0x25c]
push esi
call fcn.00413ab4
test byte [ebp - 0x258], 0x10
pop ecx
je 0x415f41
lea eax, [ebp - 0x22c]
push 0x4468b8
push eax
call fcn.004281ba
pop ecx
pop ecx
test eax, eax
je 0x415f59
lea eax, [ebp - 0x22c]
push 0x4468bc
push eax
call fcn.004281ba
pop ecx
pop ecx
test eax, eax
je 0x415f59
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebp - 0x284]
call fcn.00408c29
cmp dword [esi - 0xc], 0
jle 0x415f59
lea eax, [ebp - 0x25c]
push eax
mov eax, dword [ebp - 0x268]
call fcn.00408c29
lea eax, [esi - 0x10]
call fcn.00406e8b
push 0x1a
pop esi
call fcn.004056bf
test eax, eax
je 0x415f79
lea ecx, [ebp - 0x258]
push ecx
push edi
call eax
jmp 0x415f87
lea eax, [ebp - 0x258]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x415ec4
push 0x1b
pop esi
call fcn.004056bf
push edi
test eax, eax
je 0x415fa0
call eax
jmp 0x415fb7
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x415fb7
push ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00413ab4
pop ecx
pop ecx
mov eax, dword [ebp - 0x274]
sub eax, dword [ebp - 0x278]
xor ebx, ebx
sar eax, 2
test eax, eax
jbe 0x416032
mov edi, ebx
lea esi, [ebp - 0x284]
call fcn.0040cc70
mov edi, dword [eax]
push 0x1f
pop esi
call fcn.004056bf
push edi
test eax, eax
je 0x415fec
call eax
jmp 0x415ff2
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x41601e
mov edi, ebx
lea esi, [ebp - 0x284]
call fcn.0040cc70
push dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
inc ecx
push ecx
push dword [ebp - 0x268]
mov ecx, dword [ebp - 0x26c]
push dword [eax]
call fcn.00415dbe
mov eax, dword [ebp - 0x274]
sub eax, dword [ebp - 0x278]
inc ebx
sar eax, 2
cmp ebx, eax
jb 0x415fcc
mov eax, dword [ebp - 0x264]
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, dword [ebp - 0x260]
call fcn.00406e8b
lea esi, [ebp - 0x284]
call fcn.00404eaa
push dword [ebp - 0x284]
call fcn.0042751c
pop ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00427527
leave
ret 0x10