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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ef286
mov eax, dword fs:[0]
push eax
sub esp, 0x698
mov eax, dword [0x101302a0]
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 - 0x6a4], 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 - 0x694], esi
mov dword [ebp - 0x68c], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10059736
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.100bf410
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.100bf410
add esp, 0x18
lea eax, [ebp - 0x420]
push dword [edi]
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
push eax
call edi
push 0x100fa6a8
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 - 0x698], eax
jne 0x10059736
cmp eax, 0xffffffff
je 0x10059736
lea ecx, [ebp - 0x688]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1005972a
nop
mov eax, dword [ebp - 0x688]
test eax, 0x400
jne 0x10059709
test al, 0x10
je 0x1005962d
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 0x100594f0
sub eax, edx
lea ecx, [ebp - 0x438]
sar eax, 1
push eax
lea eax, [ebp - 0x65c]
push eax
call fcn.1000b7b0
cmp word [ebp - 0x65c], 0x2e
mov dword [ebp - 4], 0
jne 0x10059547
mov ax, word [ebp - 0x65a]
test ax, ax
je 0x100596f7
cmp ax, 0x2e
jne 0x10059547
cmp word [ebp - 0x658], 0
je 0x100596f7
mov edi, dword [ebp - 0x428]
test edi, edi
je 0x10059622
cmp dword [ebp - 0x424], 8
lea esi, [ebp - 0x438]
mov edx, edi
mov eax, 4
cmovae esi, dword [ebp - 0x438]
mov ecx, str.....
cmp edi, 4
cmova edx, eax
test edx, edx
je 0x10059592
sub esi, ecx
mov ax, word [esi + ecx]
cmp ax, word [ecx]
jne 0x1005959d
add ecx, 2
sub edx, 1
jne 0x10059581
cmp edi, 4
jb 0x1005959d
jbe 0x10059622
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.100bf410
mov eax, dword [ebp - 0x690]
add esp, 0xc
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
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 0x100596f7
mov ecx, dword [ebp - 0x6a4]
inc eax
mov dword [ebp - 0x69c], eax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x6a0], eax
lea eax, [ebp - 0x69c]
push eax
push dword [ebp - 0x694]
lea eax, [ebp - 0x6a0]
push eax
call fcn.100593c0
jmp 0x100596f7
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
jmp 0x100596f7
mov eax, dword [ebp - 0x68c]
cmp dword [eax], 1
jne 0x10059709
push str..json
lea eax, [ebp - 0x65c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathMatchSpecW]
test eax, eax
je 0x10059709
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.100bf410
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.1000a5b0
mov eax, dword [esi + 4]
mov dword [ebp - 4], 1
cmp dword [esi + 8], eax
je 0x100596e8
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 0x100596f7
lea ecx, [ebp - 0x438]
push ecx
push eax
mov ecx, esi
call fcn.1004f260
lea ecx, [ebp - 0x438]
mov dword [ebp - 4], 0xffffffff
call fcn.10007ad0
lea eax, [ebp - 0x688]
push eax
push dword [ebp - 0x698]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov esi, dword [ebp - 0x694]
test eax, eax
jne 0x100594b0
push dword [ebp - 0x698]
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.10084321
mov esp, ebp
pop ebp
ret 0xc