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

Disassembly:
push ebp
lea ebp, [esp - 0x9dc]
sub esp, 0xa5c
mov eax, dword [0x517ad4]
xor eax, ebp
mov dword [ebp + 0x9d8], eax
mov eax, dword [ebp + 0x9e4]
push ebx
mov ebx, dword [ebp + 0x9e8]
push esi
mov esi, dword [ebp + 0x9f0]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0x9ec]
push edi
mov dword [ebp - 0x80], eax
call fcn.004e5cac
test eax, eax
mov edi, 0x1000000
je 0x4e6228
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x4e60a4
cmp word [eax], 0
je 0x4e60a4
push eax
lea eax, [ebp + 0x1d8]
push eax
call fcn.004df1ee
pop ecx
pop ecx
jmp 0x4e60b5
push edi
lea eax, [ebp + 0x1d8]
push eax
push ebx
call fcn.004deff1
add esp, 0xc
or ebx, 0xffffffff
cmp dword [ebp - 0x7c], ebx
lea eax, [ebp - 0x78]
push eax
jne 0x4e60fa
lea eax, [ebp + 0x1d8]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, ebx
mov dword [ebp - 0x7c], eax
jne 0x4e6125
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x4e60ed
cmp eax, 3
je 0x4e60ed
cmp eax, 0x12
jmp 0x4e628a
xor eax, eax
mov byte [esi + 0x109c], al
jmp 0x4e63dd
push dword [ebp - 0x7c]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4e611c
mov dword [ebp - 0x7c], ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
setne al
mov byte [esi + 0x109c], al
cmp dword [ebp - 0x7c], ebx
je 0x4e63dd
lea eax, [ebp + 0x1d8]
push eax
lea ebx, [esi + 0x400]
push ebx
call fcn.004df1ee
pop ecx
pop ecx
lea eax, [ebp - 0x4c]
push eax
push ebx
call fcn.004df896
pop ecx
push eax
call fcn.004df1ee
push edi
push esi
push ebx
call fcn.004defc4
add esp, 0x14
push 1
push 0
push 0
push dword [ebp - 0x5c]
call fcn.004ebea0
mov ecx, dword [ebp - 0x58]
xor ebx, ebx
add eax, ecx
mov dword [esi + 0xc00], eax
mov eax, dword [ebp - 0x78]
mov dword [esi + 0xc08], eax
push edi
lea eax, [esi + 0xc80]
push eax
lea eax, [ebp + 0x1bc]
adc edx, ebx
push eax
mov dword [esi + 0xc04], edx
call fcn.004defc4
mov eax, dword [ebp - 0x74]
mov dword [esi + 0x1080], eax
mov eax, dword [ebp - 0x70]
mov dword [esi + 0x1084], eax
mov eax, dword [ebp - 0x6c]
mov dword [esi + 0x1088], eax
mov eax, dword [ebp - 0x68]
mov dword [esi + 0x108c], eax
mov eax, dword [ebp - 0x64]
mov dword [esi + 0x1090], eax
mov eax, dword [ebp - 0x60]
mov dword [esi + 0x1094], eax
add esp, 0xc
lea eax, [ebp - 0x64]
lea edi, [esi + 0xc14]
push eax
mov ecx, edi
call fcn.004e55bb
lea eax, [ebp - 0x74]
push eax
lea ecx, [esi + 0xc38]
call fcn.004e55bb
lea eax, [ebp - 0x6c]
push eax
lea ecx, [esi + 0xc5c]
call fcn.004e55bb
mov ecx, edi
call fcn.004e551c
lea edi, [esi + 0x400]
push edi
mov dword [esi + 0xc0c], eax
call fcn.004dc1b0
test al, al
pop ecx
je 0x4e63dd
and word [edi], bx
jmp 0x4e63dd
test ebx, ebx
je 0x4e6242
cmp byte [ebx], 0
je 0x4e6242
lea eax, [ebp + 0x5d8]
push ebx
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
jmp 0x4e6255
push edi
lea eax, [ebp + 0x5d8]
push eax
push dword [ebp - 0x80]
call fcn.004defc4
add esp, 0xc
or ebx, 0xffffffff
cmp dword [ebp - 0x7c], ebx
lea eax, [ebp + 0x98]
push eax
jne 0x4e6298
lea eax, [ebp + 0x5d8]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, ebx
mov dword [ebp - 0x7c], eax
jne 0x4e62c3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x4e60ed
cmp eax, 3
je 0x4e60ed
xor eax, eax
inc eax
jmp 0x4e60ef
push dword [ebp - 0x7c]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4e62ba
mov dword [ebp - 0x7c], ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
setne al
mov byte [esi + 0x109c], al
cmp dword [ebp - 0x7c], ebx
je 0x4e63dd
lea eax, [ebp + 0x5d8]
push eax
push esi
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
lea eax, [ebp + 0xc4]
push eax
push esi
call fcn.004df83c
pop ecx
push eax
call sub.MSVCRT.dll_strcpy
push edi
lea ebx, [esi + 0x400]
push ebx
push esi
call fcn.004deff1
add esp, 0x14
push 1
push 0
push 0
push dword [ebp + 0xb4]
call fcn.004ebea0
mov ecx, dword [ebp + 0xb8]
xor edi, edi
add eax, ecx
mov dword [esi + 0xc00], eax
mov eax, dword [ebp + 0x98]
mov dword [esi + 0xc08], eax
lea eax, [ebp + 0x1c8]
push eax
lea eax, [esi + 0xc80]
adc edx, edi
push eax
mov dword [esi + 0xc04], edx
call sub.MSVCRT.dll_strcpy
mov eax, dword [ebp + 0x9c]
mov dword [esi + 0x1080], eax
mov eax, dword [ebp + 0xa0]
mov dword [esi + 0x1084], eax
mov eax, dword [ebp + 0xa4]
mov dword [esi + 0x1088], eax
mov eax, dword [ebp + 0xa8]
mov dword [esi + 0x108c], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x1090], eax
mov eax, dword [ebp + 0xb0]
pop ecx
pop ecx
mov dword [esi + 0x1094], eax
lea eax, [ebp + 0xac]
lea edi, [esi + 0xc14]
push eax
mov ecx, edi
call fcn.004e55bb
lea eax, [ebp + 0x9c]
push eax
lea ecx, [esi + 0xc38]
call fcn.004e55bb
lea eax, [ebp + 0xa4]
push eax
lea ecx, [esi + 0xc5c]
call fcn.004e55bb
mov ecx, edi
call fcn.004e551c
push esi
mov dword [esi + 0xc0c], eax
call fcn.004dc195
test al, al
pop ecx
je 0x4e63dd
and word [ebx], 0
and dword [esi + 0x1098], 0
mov ecx, dword [ebp + 0x9d8]
mov eax, dword [ebp - 0x7c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004ebd70
add ebp, 0x9dc
leave
ret