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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10090ad6
mov eax, dword fs:[0]
push eax
sub esp, 0x694
mov eax, dword [0x100cb9b0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x6a0], ecx
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x690], edi
push dword [edi]
mov dword [ebp - 0x68c], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1000fb4f
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.100686c0
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.100686c0
add esp, 0x18
lea eax, [ebp - 0x420]
push dword [edi]
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
push eax
call edi
push str..
lea eax, [ebp - 0x420]
push eax
call edi
lea eax, [ebp - 0x688]
push eax
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
test dword [ebp - 0x688], 0x400
mov dword [ebp - 0x694], eax
jne 0x1000fb4f
cmp eax, 0xffffffff
je 0x1000fb4f
lea ecx, [ebp - 0x688]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1000fb43
nop dword [eax]
mov eax, dword [ebp - 0x688]
test eax, 0x400
jne 0x1000fb28
test al, 0x10
je 0x1000fa4c
xor eax, eax
mov dword [ebp - 0x428], 0
mov word [ebp - 0x438], ax
lea eax, [ebp - 0x65c]
mov dword [ebp - 0x424], 7
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1000f940
sub eax, edx
lea ecx, [ebp - 0x438]
sar eax, 1
push eax
lea eax, [ebp - 0x65c]
push eax
call fcn.100060d0
cmp word [ebp - 0x65c], 0x2e
mov dword [ebp - 4], 0
jne 0x1000f997
mov ax, word [ebp - 0x65a]
test ax, ax
je 0x1000fb16
cmp ax, 0x2e
jne 0x1000f997
cmp word [ebp - 0x658], 0
je 0x1000fb16
mov ecx, dword [ebp - 0x428]
test ecx, ecx
je 0x1000fb16
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
push 4
cmovae eax, dword [ebp - 0x438]
push str.....
push ecx
push eax
call fcn.10007940
add esp, 0x10
test eax, eax
je 0x1000fb16
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.100686c0
mov eax, dword [ebp - 0x690]
add esp, 0xc
push dword [eax]
lea eax, [ebp - 0x218]
push eax
call edi
lea eax, [ebp - 0x65c]
push eax
lea eax, [ebp - 0x218]
push eax
call edi
mov ecx, dword [ebp - 0x68c]
mov eax, dword [ecx]
cmp eax, 2
jge 0x1000fb16
mov ecx, dword [ebp - 0x6a0]
inc eax
mov dword [ebp - 0x698], eax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x69c], eax
lea eax, [ebp - 0x698]
push eax
push esi
lea eax, [ebp - 0x69c]
push eax
call fcn.1000f810
jmp 0x1000fb16
mov eax, dword [ebp - 0x68c]
cmp dword [eax], 1
jne 0x1000fb28
push str..json
lea eax, [ebp - 0x65c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathMatchSpecW]
test eax, eax
je 0x1000fb28
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.100686c0
mov eax, dword [ebp - 0x690]
add esp, 0xc
push dword [eax]
lea eax, [ebp - 0x218]
push eax
call edi
lea eax, [ebp - 0x65c]
push eax
lea eax, [ebp - 0x218]
push eax
call edi
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x438]
call fcn.10008350
mov eax, dword [esi + 4]
mov dword [ebp - 4], 1
cmp dword [esi + 8], eax
je 0x1000fb07
movups xmm0, xmmword [ebp - 0x438]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x428]
movq qword [eax + 0x10], xmm0
xor eax, eax
add dword [esi + 4], 0x18
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 7
mov word [ebp - 0x438], ax
jmp 0x1000fb16
lea ecx, [ebp - 0x438]
push ecx
push eax
mov ecx, esi
call fcn.10007130
lea ecx, [ebp - 0x438]
mov dword [ebp - 4], 0xffffffff
call fcn.10008c80
lea eax, [ebp - 0x688]
push eax
push dword [ebp - 0x694]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1000f900
push dword [ebp - 0x694]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1004b6e5
mov esp, ebp
pop ebp
ret 0xc