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

Disassembly:
sub esp, 0x258
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
push edi
mov edi, dword [esp + 0x268]
push edi
call ebp
lea esi, [edi + eax*2]
push edi
mov dword [esp + 0x14], esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1001a31
cmp byte [0x1004024], 0
je 0x1001a12
cmp byte [0x1004021], 0
jne 0x1001a44
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
call fcn.0100141f
cmp byte [0x1004021], 0
pop ecx
pop ecx
jne 0x1001a44
xor al, al
jmp 0x1001be4
test ah, 8
push edi
je 0x1001a3b
push 6
jmp 0x1001a3d
push 7
call fcn.01001396
pop ecx
pop ecx
add dword [0x1004248], 1
push ebx
push dword [esp + 0x270]
adc dword [0x100424c], 0
sub esi, edi
sar esi, 1
call ebp
add eax, esi
mov ebx, 0x104
cmp eax, ebx
jge 0x1001b01
push dword [esp + 0x270]
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [esp + 0x18]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x1001b01
push 0x1001190
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x1001ae4
push 0x100112c
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x1001ae4
lea eax, [esp + 0x44]
push eax
call ebp
add eax, esi
cmp eax, ebx
jge 0x1001ae4
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [esp + 0x18]
push eax
push edi
call fcn.010017dd
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1001a95
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [0x1004020], 0
je 0x1001be1
push 0x100118c
call ebp
add eax, esi
cmp eax, ebx
jge 0x1001be1
push 0x100118c
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [esp + 0x18]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x1001be1
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpW]
push 0x100112c
lea eax, [esp + 0x48]
push eax
call ebx
test eax, eax
je 0x1001bc0
push 0x1001190
lea eax, [esp + 0x48]
push eax
call ebx
test eax, eax
je 0x1001bc0
test byte [esp + 0x18], 0x10
je 0x1001bc0
push 0x1001188
call ebp
mov ebx, eax
lea eax, [esp + 0x44]
push eax
call ebp
mov ecx, esi
add ecx, ebx
add eax, ecx
cmp eax, 0x104
jge 0x1001bc0
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x1001188
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push dword [esp + 0x270]
push edi
call fcn.010019d4
test al, al
je 0x1001bf0
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1001b47
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov al, 1
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x258
ret 8
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
cmp byte [0x1004021], al
setne al
jmp 0x1001be3