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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x45b9e0
push 0x439ec0
mov eax, dword fs:[0]
push eax
sub esp, 0x768
mov eax, dword [0x45f478]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
xor esi, esi
mov dword [ebp - 0x770], esi
mov dword [ebp - 4], esi
lea eax, [ebp - 0x768]
push eax
call fcn.0040d3c0
mov byte [ebp - 0x124], 0
push 0x104
push esi
lea eax, [ebp - 0x123]
push eax
call fcn.0043a6b0
add esp, 0x10
push ebx
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x124]
push eax
call fcn.004060d0
add esp, 4
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, eax
lea eax, [ebp - 0x124]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp byte [ecx + eax - 1], 0x5c
je 0x4046c9
push 0x44a658
push eax
call ebx
push edi
lea eax, [ebp - 0x124]
push eax
call ebx
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
mov dword [ebp - 0x770], edi
cmp edi, 0xffffffff
jne 0x404760
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 3
je 0x40474f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x40474f
push str.FindFirstFile__
lea eax, [ebp - 0x768]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str.Attempt_of_receiving_the_file_search_handle_for
lea eax, [ebp - 0x668]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0x668]
push eax
call ebx
push 0
push 0
push 0
push 0x60000001
call dword [sym.imp.KERNEL32.dll_RaiseException]
cmp edi, 0xffffffff
je 0x4048f9
jmp 0x404760
mov byte [ebp - 0x769], 1
test byte [ebp - 0x264], 0x10
jne 0x4047a9
cmp byte [ebp + 0x10], 0
jne 0x40477f
cmp dword [ebp - 0x244], 0
je 0x4047a9
lea eax, [ebp - 0x769]
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.00402140
add esp, 8
test al, al
je 0x4047a9
cmp byte [ebp - 0x769], 0
je 0x4047a9
inc esi
mov dword [ebp - 0x774], esi
lea eax, [ebp - 0x264]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x404760
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x40480b
push str.FindNextFile__
lea eax, [ebp - 0x768]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str.Attempt_of_continue_a_file_search_for
lea eax, [ebp - 0x668]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0x668]
push eax
call ebx
push 0
push 0
push 0
push 0x60000001
call dword [sym.imp.KERNEL32.dll_RaiseException]
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
jne 0x404849
push str.FindClose__
lea eax, [ebp - 0x768]
push eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call ebx
push str.Attempt_of_closing_the_file_search_handle.
lea eax, [ebp - 0x668]
push eax
call ebx
push 0
push 0
push 0
push 0x60000001
call dword [sym.imp.KERNEL32.dll_RaiseException]
mov dword [ebp - 0x770], 0
jmp 0x4048f9
mov dword [ebp - 4], 0xfffffffe
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00439a01
mov esp, ebp
pop ebp
ret