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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x264
mov eax, dword [0x100c02c]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov dword [ebp - 0x260], ebx
mov dword [ebp - 0x264], eax
call edi
lea esi, [ebx + eax*2]
push ebx
mov dword [ebp - 0x25c], esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1001f4e
cmp byte [0x100c06c], 0
je 0x1001f2f
cmp byte [0x100c069], 0
jne 0x1001f61
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
call fcn.010019e8
cmp byte [0x100c069], 0
pop ecx
pop ecx
jne 0x1001f61
xor al, al
jmp 0x1002144
test ah, 0x40
push ebx
je 0x1001f58
push 6
jmp 0x1001f5a
push 7
call fcn.0100187f
pop ecx
pop ecx
add dword [0x100c448], 1
push dword [ebp - 0x264]
adc dword [0x100c44c], 0
sub esi, ebx
sar esi, 1
call edi
add eax, esi
mov ebx, 0x104
cmp eax, ebx
jge 0x1002041
push dword [ebp - 0x264]
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
mov dword [ebp - 0x258], eax
je 0x1002041
push 0x100131c
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x100201e
push 0x1001318
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x100201e
lea eax, [ebp - 0x228]
push eax
call edi
add eax, esi
cmp eax, ebx
jge 0x100201e
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x260]
call fcn.01001e67
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x258]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1001fbe
push dword [ebp - 0x258]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [0x100c068], 0
je 0x1002142
push 0x1001314
call edi
add eax, esi
cmp eax, ebx
jge 0x1002142
push 0x1001314
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
mov dword [ebp - 0x258], eax
je 0x1002142
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpW]
push 0x1001318
lea eax, [ebp - 0x228]
push eax
call ebx
test eax, eax
je 0x100211b
push 0x100131c
lea eax, [ebp - 0x228]
push eax
call ebx
test eax, eax
je 0x100211b
test byte [ebp - 0x254], 0x10
je 0x100211b
push 0x1001310
call edi
mov ebx, eax
lea eax, [ebp - 0x228]
push eax
call edi
add ebx, esi
add eax, ebx
cmp eax, 0x104
jge 0x100211b
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x1001310
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push dword [ebp - 0x264]
push dword [ebp - 0x260]
call fcn.01001ed7
test al, al
je 0x1002153
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x258]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1002092
push dword [ebp - 0x258]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov al, 1
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.010058ab
leave
ret 8
push dword [ebp - 0x258]
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
cmp byte [0x100c069], al
setne al
jmp 0x1002144