Function at 0x413ed0
Capabilities:
Check if file exists
Enumerate files on windows

Disassembly:
push 0x168
mov eax, 0x46b3e1
call fcn.0042dc0b
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x154]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x158], esi
call fcn.0040699e
and dword [ebp - 4], 0
lea ecx, [ebp - 0x15c]
call fcn.0040699e
lea ecx, [ebp - 0x164]
call fcn.0040699e
lea ecx, [ebp - 0x16c]
call fcn.0040699e
or dword [ebp - 0x168], 0xffffffff
lea eax, [ebp - 0x168]
mov dword [ebp - 0x174], eax
mov byte [ebp - 4], 4
test esi, esi
jne 0x413f46
mov esi, dword [ebp - 0x15c]
mov eax, str.IN_Operations::ListAllFiles_:_parameter_lpszPath_is_NULL__return_false
jmp 0x414102
push esi
call fcn.00436130
pop ecx
push eax
push esi
lea ecx, [ebp - 0x15c]
call fcn.0040e094
mov esi, dword [ebp - 0x15c]
lea ecx, [ebp - 0x15c]
mov eax, dword [esi - 0xc]
dec eax
push eax
call fcn.00413d93
cmp al, 0x5c
jne 0x413f96
mov esi, dword [esi - 0xc]
lea ecx, [ebp - 0x15c]
dec esi
push esi
call fcn.00406be3
push esi
lea ecx, [ebp - 0x15c]
call fcn.00406c6f
mov esi, dword [ebp - 0x15c]
push 0x5c
push esi
call fcn.00438c7c
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x4140f2
or edi, 0xffffffff
push edi
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x15c]
call fcn.00413e8b
push eax
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 5
call fcn.00413753
mov ecx, dword [ebp - 0x160]
mov byte [ebp - 4], 4
lea ecx, [ecx - 0x10]
call fcn.00406c57
mov eax, dword [esi - 0xc]
lea ecx, [edi + 1]
sub eax, ecx
push eax
push ecx
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x15c]
call fcn.00414b14
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x16c]
call fcn.00413753
mov ecx, dword [ebp - 0x160]
mov byte [ebp - 4], 4
lea ecx, [ecx - 0x10]
call fcn.00406c57
mov eax, dword [ebp - 0x164]
add eax, 0xfffffff0
push eax
call fcn.0040cf3e
add eax, 0x10
mov dword [ebp - 0x160], eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 7
mov dword [esp], 0x472cac
call fcn.004139b0
lea eax, [ebp - 0x150]
push eax
push dword [ebp - 0x160]
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, dword [ebp - 0x16c]
mov dword [ebp - 0x168], eax
cmp eax, 0xffffffff
jne 0x414168
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
cmp eax, 2
jne 0x41411c
push dword [ebp - 0x158]
lea ecx, [ebp - 0x158]
call fcn.0040c993
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.0040d3bb
push eax
lea eax, [ebp - 0x154]
push str.Operations::ListAllFiles._File_not_found:__s
push eax
call fcn.00406b1a
mov ecx, dword [ebp - 0x158]
add esp, 0xc
mov byte [ebp - 4], 7
lea ecx, [ecx - 0x10]
call fcn.00406c57
mov eax, dword [ebp - 0x154]
xor ebx, ebx
inc ebx
cmp dword [eax - 4], ebx
jle 0x4140ec
push dword [eax - 0xc]
lea ecx, [ebp - 0x154]
call fcn.00406aae
push ebx
jmp 0x4142a5
sub edi, esi
cmp edi, 1
jne 0x413fad
mov eax, str.IN_Operations::ListAllFiles_:_path_not_valid__return_false
push 5
push eax
mov ecx, 0x493f4c
call fcn.0040c5b8
mov edi, dword [ebp - 0x16c]
xor ebx, ebx
jmp 0x4142c8
call ebx
push eax
lea eax, [ebp - 0x154]
push str.FindFirstFile___failed_in_Operations::ListAllFiles._Error:__d
push eax
call fcn.00406b1a
mov eax, dword [ebp - 0x154]
xor ebx, ebx
inc ebx
add esp, 0xc
cmp dword [eax - 4], ebx
jle 0x41414f
push dword [eax - 0xc]
lea ecx, [ebp - 0x154]
call fcn.00406aae
push 7
push dword [ebp - 0x154]
mov ecx, 0x493f4c
call fcn.0040c5b8
xor ebx, ebx
jmp 0x4142ba
lea eax, [ebp - 0x124]
push eax
push edi
call fcn.00435a9e
pop ecx
pop ecx
test eax, eax
jne 0x414248
push 0x46f9b8
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.004138cb
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 9
push ecx
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.004138cb
add esp, 0x18
mov byte [ebp - 4], 0xb
jmp 0x414202
lea eax, [ebp - 0x124]
push eax
push edi
call fcn.00435a9e
pop ecx
pop ecx
test eax, eax
jne 0x414248
push 0x46f9b8
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x170]
push eax
call fcn.004138cb
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0xc
push ecx
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.004138cb
add esp, 0x18
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x170]
lea ecx, [ecx - 0x10]
call fcn.00406c57
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x158]
push ecx
push eax
cmp eax, dword [ebx + 8]
je 0x41422f
push ebx
call fcn.00412ec1
add esp, 0xc
add dword [ebx + 4], 4
jmp 0x414236
mov ecx, ebx
call fcn.00412acf
mov ecx, dword [ebp - 0x158]
mov byte [ebp - 4], 7
lea ecx, [ecx - 0x10]
call fcn.00406c57
lea eax, [ebp - 0x150]
push eax
push dword [ebp - 0x168]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4141b8
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
cmp eax, 0x12
je 0x4142b7
call ebx
push eax
lea eax, [ebp - 0x154]
push str.FindNextFile___failed_in_Operations::ListAllFiles._Error:__d
push eax
call fcn.00406b1a
mov eax, dword [ebp - 0x154]
xor ebx, ebx
inc ebx
add esp, 0xc
cmp dword [eax - 4], ebx
jle 0x4142a3
push dword [eax - 0xc]
lea ecx, [ebp - 0x154]
call fcn.00406aae
push 7
push dword [ebp - 0x154]
mov ecx, 0x493f4c
call fcn.0040c5b8
jmp 0x4142ba
xor ebx, ebx
inc ebx
mov ecx, dword [ebp - 0x160]
lea ecx, [ecx - 0x10]
call fcn.00406c57
lea ecx, [ebp - 0x174]
call fcn.00413636
lea ecx, [edi - 0x10]
call fcn.00406c57
mov ecx, dword [ebp - 0x164]
lea ecx, [ecx - 0x10]
call fcn.00406c57
lea ecx, [esi - 0x10]
call fcn.00406c57
mov ecx, dword [ebp - 0x154]
add ecx, 0xfffffff0
call fcn.00406c57
mov al, bl
call fcn.0042dbb5
ret