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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x264
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x260], edx
mov esi, ecx
call fcn.00401810
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
call edi
mov ecx, esi
lea eax, [esi + eax*2]
mov dword [ebp - 0x25c], eax
call fcn.004021c0
test eax, eax
jne 0x402405
push esi
push 1
push esi
call edi
push eax
push 1
push str.FindAll__:_Path__ws_is_related_to_system_specific_files__BLACKLISTED._r_n
call fcn.00404640
mov esi, eax
add esp, 0x14
test esi, esi
je 0x4025d9
push 0
push 1
push 0
push esi
call fcn.004013b0
add esp, 0x10
lea eax, [esi - 4]
push eax
call edi
xor ecx, ecx
mov word [esi + eax*2], cx
mov ecx, esi
call fcn.00404450
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004048b1
mov esp, ebp
pop ebp
ret
push 0x418d88
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 2
push 0
push 0
lea eax, [ebp - 0x258]
push eax
push 1
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x40243e
lea eax, [ebp - 0x258]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, eax
mov eax, dword [ebp - 0x25c]
xor ecx, ecx
mov word [eax], cx
cmp ebx, 0xffffffff
jne 0x402490
mov edx, esi
mov ecx, str.FileSearch_error:_FindFirstFile___error_in:
call fcn.00401640
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 2
push 1
push esi
call edi
add eax, 0xa
push eax
push str.FileSearch_error:_FindFirstFile___error_0x_X_in:__ws_r_n
call fcn.004013b0
add esp, 0x18
mov eax, 0xdeadbeaf
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004048b1
mov esp, ebp
pop ebp
ret
push 0x418e60
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x402577
push 0x418e64
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x402577
lea eax, [ebp - 0x22c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatW]
test byte [ebp - 0x258], 0x10
push esi
push 1
push 1
push esi
je 0x40250c
call edi
push eax
push str.FileSearch:_Found_Directory:__ws_r_n
call fcn.004013b0
add esp, 0x14
push 0x418eb8
push esi
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov edx, dword [ebp - 0x260]
mov ecx, esi
call fcn.00402370
jmp 0x40256c
call edi
push eax
push 0x418ebc
call fcn.004013b0
add esp, 0x14
lea eax, [ebp - 0x22c]
push eax
push 1
push 1
push eax
call edi
push eax
push str.FileSearch:_Found_file_pure_name:__ws_r_n
call fcn.004013b0
add esp, 0x14
push 0x41e3b8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [0x41e320], 1
push 0x41e3b8
adc dword [0x41e324], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [ebp - 0x260]
mov ecx, esi
call fcn.00401ed0
add esp, 4
mov eax, dword [ebp - 0x25c]
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x258]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x402490
push 0x41e3b8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [0x41e338], 1
push 0x41e3b8
adc dword [0x41e33c], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
push 1
push esi
call edi
push eax
push 1
push str.Finshed_Scanning_Dir:__ws
call fcn.00404640
add esp, 0x14
test eax, eax
je 0x4025d2
mov ecx, eax
call fcn.00404450
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004048b1
mov esp, ebp
pop ebp
ret