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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58632e
mov eax, dword fs:[0]
push eax
sub esp, 0x334
mov eax, dword [0x615000]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 8]
call fcn.00459a60
cmp dword [ebp + 0xc], 0
je 0x456837
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x456850
push str._Target_dir_path_invalid__OUT._n
push 0x5e787c
call fcn.0040c050
add esp, 8
xor eax, eax
jmp 0x456c37
lea ecx, [ebp + 0x10]
call fcn.00441480
push eax
lea ecx, [ebp - 0x2c]
call fcn.00407f00
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004582a0
add esp, 8
lea ecx, [ebp + 0x10]
call fcn.00441480
add eax, 0x1c
mov ecx, eax
call fcn.0042e880
test eax, eax
je 0x45691a
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp + 0x10]
call fcn.00441480
add eax, 0x1c
mov ecx, eax
call fcn.00442990
lea ecx, [ebp - 0x2e4]
push ecx
lea ecx, [ebp + 0x10]
call fcn.00441480
add eax, 0x1c
mov ecx, eax
call fcn.00459300
push eax
lea ecx, [ebp - 0x34]
call fcn.00460350
movzx edx, al
test edx, edx
je 0x456915
lea ecx, [ebp - 0x34]
call fcn.00441480
push eax
lea ecx, [ebp - 0x50]
call fcn.00407f00
mov byte [ebp - 4], 1
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004582a0
add esp, 8
push 0
lea edx, [ebp - 0x2ec]
push edx
lea ecx, [ebp - 0x34]
call fcn.004414a0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.004060f0
jmp 0x4568a8
jmp 0x456c18
mov dword [ebp - 0x2bc], 0
push 0x24c
push 0
lea eax, [ebp - 0x2b8]
push eax
call fcn.00562540
add esp, 0xc
push str..
lea ecx, [ebp - 0x308]
call fcn.004060b0
mov dword [ebp - 0x314], eax
mov ecx, dword [ebp - 0x314]
mov dword [ebp - 0x318], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x318]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x2d8]
push ecx
call fcn.0045e870
add esp, 0xc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x308]
call fcn.004060f0
lea edx, [ebp - 0x2bc]
push edx
lea ecx, [ebp - 0x2d8]
call fcn.00406110
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2dc], eax
cmp dword [ebp - 0x2dc], 0xffffffff
jne 0x456a09
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x2d8]
call fcn.00406110
push eax
push 0x5e78a0
push str.CFileMon::EnumDirAllPathAttribs
call fcn.0040c050
add esp, 0x10
mov dword [ebp - 0x30c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2d8]
call fcn.004060f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004060f0
mov eax, dword [ebp - 0x30c]
jmp 0x456c37
push 0x5e76d4
lea ecx, [ebp - 0x6c]
call fcn.004060b0
mov byte [ebp - 4], 5
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x6c]
call fcn.0040e480
lea ecx, [ebp - 0x6c]
call fcn.00459160
sub eax, 1
push eax
lea ecx, [ebp - 0x6c]
call fcn.00419290
movzx ecx, word [eax]
cmp ecx, 0x5c
je 0x456a4f
push 0x5e789c
lea ecx, [ebp - 0x6c]
call fcn.00408020
lea edx, [ebp - 0x290]
push edx
lea ecx, [ebp - 0x6c]
call fcn.00408020
mov eax, dword [ebp - 0x2bc]
and eax, 0x10
je 0x456bbb
mov dword [ebp - 0x31c], 0x5e7908
lea ecx, [ebp - 0x290]
mov dword [ebp - 0x320], ecx
mov edx, dword [ebp - 0x320]
mov ax, word [edx]
mov word [ebp - 0x322], ax
mov ecx, dword [ebp - 0x31c]
cmp ax, word [ecx]
jne 0x456ae9
cmp word [ebp - 0x322], 0
je 0x456add
mov edx, dword [ebp - 0x320]
mov ax, word [edx + 2]
mov word [ebp - 0x324], ax
mov ecx, dword [ebp - 0x31c]
cmp ax, word [ecx + 2]
jne 0x456ae9
add dword [ebp - 0x320], 4
add dword [ebp - 0x31c], 4
cmp word [ebp - 0x324], 0
jne 0x456a83
mov dword [ebp - 0x328], 0
jmp 0x456af4
sbb edx, edx
sbb edx, 0xffffffff
mov dword [ebp - 0x328], edx
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x32c], eax
cmp dword [ebp - 0x32c], 0
je 0x456bb9
mov dword [ebp - 0x330], 0x5e790c
lea ecx, [ebp - 0x290]
mov dword [ebp - 0x334], ecx
mov edx, dword [ebp - 0x334]
mov ax, word [edx]
mov word [ebp - 0x336], ax
mov ecx, dword [ebp - 0x330]
cmp ax, word [ecx]
jne 0x456b89
cmp word [ebp - 0x336], 0
je 0x456b7d
mov edx, dword [ebp - 0x334]
mov ax, word [edx + 2]
mov word [ebp - 0x338], ax
mov ecx, dword [ebp - 0x330]
cmp ax, word [ecx + 2]
jne 0x456b89
add dword [ebp - 0x334], 4
add dword [ebp - 0x330], 4
cmp word [ebp - 0x338], 0
jne 0x456b23
mov dword [ebp - 0x33c], 0
jmp 0x456b94
sbb edx, edx
sbb edx, 0xffffffff
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x340], eax
cmp dword [ebp - 0x340], 0
je 0x456bb9
lea ecx, [ebp - 0x6c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004582a0
add esp, 8
jmp 0x456bcb
lea eax, [ebp - 0x6c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004582a0
add esp, 8
lea edx, [ebp - 0x2bc]
push edx
mov eax, dword [ebp - 0x2dc]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x456a1a
cmp dword [ebp - 0x2dc], 0xffffffff
je 0x456bfd
mov ecx, dword [ebp - 0x2dc]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x6c]
call fcn.004060f0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2d8]
call fcn.004060f0
mov dword [ebp - 0x310], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004060f0
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055abea
mov esp, ebp
pop ebp
ret