Function at 0x4230f0
Capabilities:
Check if file exists
Enumerate files on windows
Enumerate files recursively
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe94
mov eax, dword [0x4eb664]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0xe8c], eax
xor eax, eax
push 0x24c
push eax
mov dword [ebp - 0xe94], eax
mov dword [ebp - 0xe88], eax
lea eax, [ebp - 0xe84]
push eax
mov edi, ecx
call fcn.004921d0
add esp, 0xc
xor eax, eax
mov ebx, 0x40e
push ebx
push eax
mov word [ebp - 0x828], ax
lea eax, [ebp - 0x826]
push eax
call fcn.004921d0
add esp, 0xc
xor eax, eax
push ebx
push eax
mov word [ebp - 0xc38], ax
lea eax, [ebp - 0xc36]
push eax
call fcn.004921d0
add esp, 0xc
xor eax, eax
push ebx
push eax
mov word [ebp - 0x418], ax
lea eax, [ebp - 0x416]
push eax
call fcn.004921d0
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4231b1
test al, 0x10
jne 0x4231b1
test esi, esi
je 0x42335e
lea eax, [ebp - 0xe88]
push eax
push edi
call esi
jmp 0x42335e
push edi
lea eax, [ebp - 0xc38]
push 0x4d6d64
push eax
call fcn.0049333f
add esp, 0xc
lea eax, [ebp - 0xe88]
push eax
lea eax, [ebp - 0xc38]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, eax
mov dword [ebp - 0xe90], ebx
cmp ebx, 0xffffffff
je 0x42335e
test byte [ebp - 0xe88], 0x10
lea eax, [ebp - 0xe5c]
je 0x423313
mov ecx, 0x4d4a18
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x423229
test dx, dx
je 0x423225
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x423229
add eax, 4
add ecx, 4
test dx, dx
jne 0x423203
xor eax, eax
jmp 0x42322e
sbb eax, eax
or eax, 1
test eax, eax
je 0x423341
mov ecx, 0x4d4a1c
lea eax, [ebp - 0xe5c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x423267
test dx, dx
je 0x423263
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x423267
add eax, 4
add ecx, 4
test dx, dx
jne 0x423241
xor eax, eax
jmp 0x42326c
sbb eax, eax
or eax, 1
test eax, eax
je 0x423341
lea eax, [ebp - 0xe5c]
push eax
push edi
lea eax, [ebp - 0x418]
push str._s_s
push eax
call fcn.0049333f
mov eax, dword [ebp - 0xe8c]
add esp, 0x10
test eax, eax
je 0x4232fc
lea ecx, [ebp - 0xe88]
push ecx
lea ecx, [ebp - 0x418]
push ecx
call eax
test eax, eax
jne 0x4232f6
lea eax, [ebp - 0x418]
push 0x5c
push eax
call fcn.004937d5
mov edx, eax
pop ecx
pop ecx
test edx, edx
je 0x423357
mov ecx, edx
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0xe94]
jne 0x4232cd
sub ecx, ebx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
xor eax, eax
push eax
push edx
call fcn.004921d0
mov ebx, dword [ebp - 0xe90]
add esp, 0xc
mov eax, dword [ebp - 0xe8c]
push eax
push esi
lea edx, [ebp - 0xe88]
lea ecx, [ebp - 0x418]
call fcn.004230f0
pop ecx
pop ecx
jmp 0x423341
push eax
push edi
lea eax, [ebp - 0x828]
push str._s_s
push eax
call fcn.0049333f
add esp, 0x10
test esi, esi
je 0x423341
lea eax, [ebp - 0xe88]
push eax
lea eax, [ebp - 0x828]
push eax
call esi
test eax, eax
je 0x423357
lea eax, [ebp - 0xe88]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4231eb
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0048f059
leave
ret