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

Disassembly:
sub esp, 0x874
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x88c]
xor ebx, ebx
xor ebp, ebp
test edi, edi
mov dword [esp + 0x14], ecx
mov esi, 1
je 0x56be52
mov ecx, dword [esp + 0x888]
push 0x104
lea eax, [esp + 0x680]
push eax
push ecx
call sym.vidcap60.exe__SfGetPathNameFromFilePath_12
lea edx, [esp + 0x67c]
push edx
lea eax, [esp + 0x478]
push eax
call dword [0x5d2614]
add esp, 8
push 0x104
lea ecx, [esp + 0x478]
push ecx
call sym.vidcap60.exe__SfAddSlashToPathName_8
lea edx, [esp + 0x474]
push edi
push edx
call dword [0x5d24cc]
add esp, 8
lea eax, [esp + 0x224]
push eax
lea ecx, [esp + 0x478]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x56be3a
mov edi, dword [esp + 0x890]
test esi, esi
je 0x56be36
mov esi, dword [0x5d24c4]
lea edx, [esp + 0x250]
push 0x5d8fd8
push edx
call esi
add esp, 8
test eax, eax
je 0x56be1c
lea eax, [esp + 0x250]
push 0x5e86f8
push eax
call esi
add esp, 8
test eax, eax
je 0x56be1c
lea ecx, [esp + 0x67c]
push ecx
lea edx, [esp + 0x20]
push edx
call dword [0x5d2614]
add esp, 8
push 0x104
lea eax, [esp + 0x20]
push eax
call sym.vidcap60.exe__SfAddSlashToPathName_8
lea ecx, [esp + 0x250]
push ecx
lea edx, [esp + 0x20]
push edx
call dword [0x5d24cc]
add esp, 8
test edi, edi
je 0x56bde7
test byte [esp + 0x224], 0x10
je 0x56bde7
push 0x104
lea eax, [esp + 0x20]
push eax
call sym.vidcap60.exe__SfAddSlashToPathName_8
mov ecx, dword [esp + 0x894]
mov edx, dword [esp + 0x88c]
inc ecx
push ecx
mov ecx, dword [esp + 0x18]
push edi
push edx
lea eax, [esp + 0x28]
push eax
call fcn.0056bc80
add ebx, eax
adc ebp, edx
jmp 0x56be1c
push 0
push 0x80
push 3
push 0
push 0
push SysReAllocString
lea ecx, [esp + 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x56be1c
push esi
call fcn.00448940
add ebx, eax
push esi
adc ebp, edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x224]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov esi, eax
jmp 0x56bd27
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
mov edx, ebp
pop ebp
mov eax, ebx
pop ebx
add esp, 0x874
ret 0x10
mov esi, dword [esp + 0x888]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push esi
call edi
cmp eax, 0xffffffff
je 0x56beb2
test al, 0x10
jne 0x56beb2
push 0
push 0
push 3
push 0
push 0
push SysReAllocString
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x56bed5
lea ecx, [esp + 0x18]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebp, dword [esp + 0x18]
push esi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov edx, ebp
pop ebp
mov eax, ebx
pop ebx
add esp, 0x874
ret 0x10
push esi
call edi
cmp eax, 0xffffffff
je 0x56bed5
test al, 0x10
je 0x56bed5
mov ecx, dword [esp + 0x14]
push 0
push 1
push 0x5e8700
push esi
call fcn.0056bc80
mov ebx, eax
mov ebp, edx
pop edi
pop esi
mov edx, ebp
pop ebp
mov eax, ebx
pop ebx
add esp, 0x874
ret 0x10