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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x2004c
call fcn.01017710
mov eax, dword [0x101b1f0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x20008], edi
mov dword [ebp - 0x20020], esi
call fcn.01007ff3
and dword [ebp - 0x2000c], 0
cmp dword [ebp + 0x10], 4
jae 0x100cff2
xor eax, eax
jmp 0x100d5c4
push 0x2a
pop eax
mov word [esi], ax
push 0x101c1a0
xor eax, eax
push 0x103c420
mov word [esi + 2], ax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2001c], eax
cmp eax, 0xffffffff
jne 0x100d046
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x100cfeb
push 0x20000
push 0x101c400
push edi
call fcn.0100bb55
push eax
push 0x100584c
push 0xffffffffffffffff
call fcn.01012331
add esp, 0xc
jmp 0x100cfeb
xor eax, eax
mov word [esi], ax
mov edi, 0x20000
push ebx
mov ebx, 0x101c1cc
push ebx
call fcn.01009ae4
test eax, eax
jne 0x100d4bb
push edi
lea eax, [ebp - 0x20004]
push eax
push dword [ebp - 0x20008]
call fcn.0100b514
push ebx
push edi
lea eax, [ebp - 0x20004]
push eax
call fcn.0100abde
lea eax, [ebp - 0x2004c]
push eax
push 0
lea eax, [ebp - 0x20004]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
jne 0x100d0ba
lea eax, [ebp - 0x20004]
push eax
push 0x1005458
push 0xffffffffffffffff
call fcn.01012331
add esp, 0xc
jmp 0x100d4bb
mov eax, dword [ebp - 0x2004c]
test al, 2
je 0x100d0d1
cmp dword [0x105c4c4], 0
je 0x100d4bb
shr eax, 4
and eax, 1
push eax
mov dword [ebp - 0x20014], eax
call fcn.01008161
test byte [ebp - 0x2004c], 2
mov esi, eax
je 0x100d0f5
or dword [esi + 0x14], 0x80
cmp word [0x101c3d4], 0
je 0x100d106
or dword [esi + 0x14], 0x8000
mov eax, dword [ebp - 0x20008]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x100d151
mov ecx, dword [ebp - 0x20038]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20034]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebp - 0x20040]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2003c]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x20048]
mov eax, dword [esi + 0x2c]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x20044]
mov dword [eax + 0x14], ecx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp dword [0x105c460], 0
mov dword [ebp - 0x20010], eax
jne 0x100d1ee
cmp eax, 0x6e
jbe 0x100d1ab
cmp dword [ebp - 0x20014], 0
mov esi, 0x100544c
jne 0x100d183
mov esi, 0x1005444
push ebx
push edi
push 0x101c400
push dword [ebp - 0x20008]
call fcn.0100bb03
push eax
push esi
push 0x1005814
push 0
call fcn.01012331
add esp, 0x14
jmp 0x100d4bb
push 0x3b
push ebx
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
je 0x100d1e8
cmp dword [ebp - 0x20014], 0
mov esi, 0x100544c
jne 0x100d1cd
mov esi, 0x1005444
push ebx
push edi
push 0x101c400
push dword [ebp - 0x20008]
call fcn.0100bb03
push eax
push esi
push 0x10057b8
jmp 0x100d19c
mov eax, dword [ebp - 0x20010]
mov word [esi + 0x1a], ax
add eax, eax
mov dword [ebp - 0x20018], eax
add eax, 2
push eax
call fcn.0101256d
mov ecx, dword [ebp - 0x20018]
push ebx
add ecx, 2
push ecx
push eax
mov dword [esi + 4], eax
call fcn.0100ab33
push esi
push dword [ebp - 0x2000c]
call fcn.01009c78
mov dword [ebp - 0x2000c], eax
xor eax, eax
cmp dword [0x105c460], eax
jne 0x100d340
cmp dword [0x105c4f4], eax
je 0x100d2f2
cmp dword [ebp - 0x20010], 0x40
jbe 0x100d29d
mov dword [ebp - 0x20010], 0x100544c
cmp dword [ebp - 0x20014], eax
jne 0x100d268
mov dword [ebp - 0x20010], 0x1005444
push edi
push 0x101c400
push esi
call fcn.0100bb03
push eax
push dword [ebp - 0x20010]
push 0x1004d62
push 0x1005770
call dword [sym.imp.msvcrt.dll_printf]
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x14
cmp dword [0x105c4f4], 0
je 0x100d2f2
push ebx
call fcn.0100a45b
test eax, eax
jne 0x100d2f2
mov ebx, 0x100544c
cmp dword [ebp - 0x20014], eax
jne 0x100d2c2
mov ebx, 0x1005444
push edi
push 0x101c400
push esi
call fcn.0100bb03
push eax
push ebx
push 0x1004d62
push 0x1005720
call dword [sym.imp.msvcrt.dll_printf]
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x14
cmp dword [0x105c500], 0
je 0x100d340
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x20018]
add ecx, eax
add ecx, dword [ebp + 0x18]
cmp ecx, 0xf0
jbe 0x100d340
push edi
push 0x101c400
push esi
call fcn.0100bb03
push eax
push 0x1004d62
push 0x10056d8
call dword [sym.imp.msvcrt.dll_printf]
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
xor eax, eax
cmp dword [ebp - 0x20014], eax
jne 0x100d411
mov ebx, dword [ebp - 0x20030]
mov ecx, dword [ebp - 0x2002c]
xor edx, edx
or eax, ecx
or ebx, edx
mov dword [ebp - 0x20028], eax
cmp dword [0x105c504], edx
je 0x100d3a9
mov ecx, eax
or ecx, ebx
jne 0x100d3a9
push edi
push 0x101c400
push esi
call fcn.0100bb03
push eax
push 0x1004d62
push 0x10056ac
call dword [sym.imp.msvcrt.dll_printf]
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call dword [sym.imp.msvcrt.dll_fflush]
mov eax, dword [ebp - 0x20028]
add esp, 0x10
mov dword [esi + 8], eax
mov dword [esi + 0xc], ebx
mov ecx, dword [0x101b08c]
xor edx, edx
mov esi, ecx
add esi, eax
mov eax, edx
adc eax, ebx
add esi, 0xffffffff
adc eax, 0xffffffff
add ecx, 0xffffffff
adc edx, 0xffffffff
not edx
and eax, edx
mov dword [ebp - 0x20018], eax
xor eax, eax
push eax
push dword [0x101b08c]
mov eax, dword [ebp - 0x20018]
not ecx
and esi, ecx
push eax
push esi
call fcn.01017680
add dword [0x101b564], eax
mov eax, dword [ebp - 0x20028]
add dword [0x105c698], eax
adc dword [0x105c69c], ebx
call fcn.01008039
jmp 0x100d4bb
cmp dword [0x105c448], eax
je 0x100d4bb
cmp dword [0x105c43c], eax
jne 0x100d44d
mov eax, dword [ebp - 0x20008]
cmp eax, dword [0x105d540]
jne 0x100d44d
push 0x1001964
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x100d44d
mov dword [0x105c43c], esi
cmp dword [0x105c448], 0
je 0x100d4bb
cmp dword [0x105c438], 0
mov ebx, dword [ebp - 0x20008]
jne 0x100d487
cmp ebx, dword [0x105d540]
jne 0x100d487
push 0x1005698
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x100d487
mov dword [0x105c438], esi
cmp dword [0x105c448], 0
je 0x100d4bb
cmp dword [0x105c434], 0
jne 0x100d4bb
cmp ebx, dword [0x105d540]
jne 0x100d4bb
push 0x1005684
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x100d4bb
mov dword [0x105c434], esi
push 0x101c1a0
push dword [ebp - 0x2001c]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x100d051
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x100d500
push edi
push 0x101c400
push dword [ebp - 0x20008]
call fcn.0100bb55
push eax
push 0x100584c
push 0xffffffffffffffff
call fcn.01012331
add esp, 0xc
push dword [ebp - 0x2001c]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebx, dword [ebp - 0x2000c]
test ebx, ebx
je 0x100d5bd
test dword [ebx + 0x14], 0x80000000
je 0x100d5b2
movzx eax, word [ebx + 0x1a]
lea ecx, [eax + eax + 4]
cmp dword [ebp + 0x10], ecx
jae 0x100d568
push dword [ebp + 0x10]
push edi
push 0x101c400
push ebx
call fcn.0100bb03
push eax
push 0x1004d62
push 0x100564c
call dword [sym.imp.msvcrt.dll_printf]
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x14
jmp 0x100d5b2
lea esi, [eax + eax]
push esi
push dword [ebx + 4]
push dword [ebp - 0x20020]
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x20020]
add esp, 0xc
push 0x5c
pop ecx
add eax, esi
mov word [eax], cx
xor ecx, ecx
add eax, 2
mov word [eax], cx
mov ecx, dword [ebp + 0x18]
add ecx, esi
push ecx
mov ecx, dword [ebp + 0x14]
inc ecx
push ecx
mov ecx, dword [ebp + 0x10]
sub ecx, esi
dec ecx
dec ecx
push ecx
push eax
push ebx
call fcn.0100cfac
mov ecx, dword [ebx + 0x34]
mov dword [ecx], eax
mov ebx, dword [ebx + 0x24]
test ebx, ebx
jne 0x100d51a
mov eax, dword [ebp - 0x2000c]
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.010176f9
leave
ret 0x14