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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58c88e
mov eax, dword fs:[0]
push eax
sub esp, 0x334
mov eax, dword [0x61b000]
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.0045c380
cmp dword [ebp + 0xc], 0
je 0x459147
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x459160
push str._Target_dir_path_invalid__OUT._n
push 0x5ee5b4
call fcn.0040c230
add esp, 8
xor eax, eax
jmp 0x459547
lea ecx, [ebp + 0x10]
call fcn.004642b0
push eax
lea ecx, [ebp - 0x2c]
call fcn.00408070
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0045abc0
add esp, 8
lea ecx, [ebp + 0x10]
call fcn.004642b0
add eax, 0x1c
mov ecx, eax
call fcn.004a2040
test eax, eax
je 0x45922a
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp + 0x10]
call fcn.004642b0
add eax, 0x1c
mov ecx, eax
call fcn.004308f0
lea ecx, [ebp - 0x2e4]
push ecx
lea ecx, [ebp + 0x10]
call fcn.004642b0
add eax, 0x1c
mov ecx, eax
call fcn.0047b3e0
push eax
lea ecx, [ebp - 0x34]
call fcn.0047bdc0
movzx edx, al
test edx, edx
je 0x459225
lea ecx, [ebp - 0x34]
call fcn.004642b0
push eax
lea ecx, [ebp - 0x50]
call fcn.00408070
mov byte [ebp - 4], 1
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0045abc0
add esp, 8
push 0
lea edx, [ebp - 0x2ec]
push edx
lea ecx, [ebp - 0x34]
call fcn.004642d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00406270
jmp 0x4591b8
jmp 0x459528
mov dword [ebp - 0x2bc], 0
push 0x24c
push 0
lea eax, [ebp - 0x2b8]
push eax
call fcn.00568440
add esp, 0xc
push str..
lea ecx, [ebp - 0x308]
call fcn.00406230
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.00460fd0
add esp, 0xc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x308]
call fcn.00406270
lea edx, [ebp - 0x2bc]
push edx
lea ecx, [ebp - 0x2d8]
call fcn.00406290
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2dc], eax
cmp dword [ebp - 0x2dc], 0xffffffff
jne 0x459319
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x2d8]
call fcn.00406290
push eax
push 0x5ee5d8
push str.CFileMon::EnumDirAllPathAttribs
call fcn.0040c230
add esp, 0x10
mov dword [ebp - 0x30c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2d8]
call fcn.00406270
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00406270
mov eax, dword [ebp - 0x30c]
jmp 0x459547
push 0x5ee40c
lea ecx, [ebp - 0x6c]
call fcn.00406230
mov byte [ebp - 4], 5
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x6c]
call fcn.0040e620
lea ecx, [ebp - 0x6c]
call fcn.004061b0
sub eax, 1
push eax
lea ecx, [ebp - 0x6c]
call fcn.00418b90
movzx ecx, word [eax]
cmp ecx, 0x5c
je 0x45935f
push 0x5ee5d4
lea ecx, [ebp - 0x6c]
call fcn.00408190
lea edx, [ebp - 0x290]
push edx
lea ecx, [ebp - 0x6c]
call fcn.00408190
mov eax, dword [ebp - 0x2bc]
and eax, 0x10
je 0x4594cb
mov dword [ebp - 0x31c], 0x5ee640
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 0x4593f9
cmp word [ebp - 0x322], 0
je 0x4593ed
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 0x4593f9
add dword [ebp - 0x320], 4
add dword [ebp - 0x31c], 4
cmp word [ebp - 0x324], 0
jne 0x459393
mov dword [ebp - 0x328], 0
jmp 0x459404
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 0x4594c9
mov dword [ebp - 0x330], 0x5ee644
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 0x459499
cmp word [ebp - 0x336], 0
je 0x45948d
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 0x459499
add dword [ebp - 0x334], 4
add dword [ebp - 0x330], 4
cmp word [ebp - 0x338], 0
jne 0x459433
mov dword [ebp - 0x33c], 0
jmp 0x4594a4
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 0x4594c9
lea ecx, [ebp - 0x6c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0045abc0
add esp, 8
jmp 0x4594db
lea eax, [ebp - 0x6c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0045abc0
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 0x45932a
cmp dword [ebp - 0x2dc], 0xffffffff
je 0x45950d
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.00406270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2d8]
call fcn.00406270
mov dword [ebp - 0x310], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00406270
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.00560c61
mov esp, ebp
pop ebp
ret