Function at 0x100791ff
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x344
mov eax, dword [0x1009a008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x18]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x20]
mov dword [ebp - 0x344], eax
mov eax, dword [ebp + 0x14]
push eax
push ecx
mov dword [ebp - 0x30c], edx
mov edx, dword [ebp + 0x1c]
push esi
lea eax, [ebp - 0x314]
xor ebx, ebx
push eax
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x33c], edx
mov dword [ebp - 0x314], ebx
mov dword [ebp - 0x310], ebx
call fcn.100789d7
cmp eax, ebx
jne 0x10079715
push edi
push dword [ebp - 0x314]
call fcn.100790b8
cmp dword [ebp - 0x30c], ebx
je 0x10079293
push dword [ebp - 0x33c]
push ebx
push esi
call dword [ebp - 0x30c]
cmp eax, ebx
jne 0x10079715
push 0x104
lea eax, [ebp - 0x108]
push ebx
push eax
call fcn.100620c0
push dword [ebp - 0x344]
lea eax, [ebp - 0x108]
push 0x10003a30
push eax
call fcn.10062ada
push 0x140
lea eax, [ebp - 0x2f4]
push ebx
push eax
call fcn.100620c0
add esp, 0x24
lea eax, [ebp - 0x2f4]
push eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x2f8], eax
cmp eax, 0xffffffff
jne 0x100792fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x10079715
mov esi, dword [ebp - 0x2f4]
and esi, 0x10
je 0x1007932a
cmp byte [ebp - 0x2c8], 0x2e
jne 0x1007932a
lea eax, [ebp - 0x2c8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10079318
sub eax, edx
cmp eax, 1
je 0x100796c6
cmp esi, ebx
je 0x1007935b
cmp byte [ebp - 0x2c8], 0x2e
jne 0x1007935b
cmp byte [ebp - 0x2c7], 0x2e
jne 0x1007935b
lea eax, [ebp - 0x2c8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10079349
sub eax, edx
cmp eax, 2
je 0x100796c6
push 0x104
lea eax, [ebp - 0x108]
push ebx
push eax
call fcn.100620c0
lea eax, [ebp - 0x2c8]
push eax
push dword [ebp - 0x344]
lea eax, [ebp - 0x108]
push 0x10002638
push eax
call fcn.10062ada
push 0xac
lea eax, [ebp - 0x1b4]
push ebx
push eax
call fcn.100620c0
add esp, 0x28
lea eax, [ebp - 0x1b4]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
mov esi, eax
cmp esi, 0xffffffff
je 0x10079726
xor eax, eax
lea edi, [ebp - 0x308]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x2f0]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x10079726
mov ax, word [ebp - 0x308]
mov word [ebp - 0x320], ax
mov al, byte [ebp - 0x306]
mov byte [ebp - 0x31e], al
mov al, byte [ebp - 0x302]
mov byte [ebp - 0x31d], al
mov al, byte [ebp - 0x300]
mov byte [ebp - 0x31c], al
mov al, byte [ebp - 0x2fe]
mov byte [ebp - 0x31b], al
mov al, byte [ebp - 0x2fc]
mov byte [ebp - 0x31a], al
mov al, byte [ebp - 0x2fa]
mov byte [ebp - 0x319], al
mov eax, 0x1000
mov ecx, eax
cmp word [0x1009b46c], cx
je 0x1007946d
cmp esi, 1
jne 0x10079453
mov eax, dword [ebp - 0x160]
jmp 0x10079463
mov eax, esi
dec eax
dec eax
neg eax
sbb eax, eax
not eax
and eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x1b4]
add eax, ecx
neg eax
mov word [ebp - 0x318], ax
xor eax, eax
lea edi, [ebp - 0x308]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x2e8]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x10079726
mov ax, word [ebp - 0x308]
mov word [ebp - 0x32c], ax
mov al, byte [ebp - 0x306]
mov byte [ebp - 0x32a], al
mov al, byte [ebp - 0x302]
mov byte [ebp - 0x329], al
mov al, byte [ebp - 0x300]
mov byte [ebp - 0x328], al
mov al, byte [ebp - 0x2fe]
mov byte [ebp - 0x327], al
mov al, byte [ebp - 0x2fc]
mov byte [ebp - 0x326], al
mov al, byte [ebp - 0x2fa]
mov byte [ebp - 0x325], al
mov eax, 0x1000
mov ecx, eax
cmp word [0x1009b46c], cx
je 0x10079529
cmp esi, 1
jne 0x1007950f
mov eax, dword [ebp - 0x160]
jmp 0x1007951f
mov eax, esi
dec eax
dec eax
neg eax
sbb eax, eax
not eax
and eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x1b4]
add eax, ecx
neg eax
mov word [ebp - 0x324], ax
xor eax, eax
lea edi, [ebp - 0x308]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x10079726
mov ax, word [ebp - 0x308]
mov word [ebp - 0x338], ax
mov al, byte [ebp - 0x306]
mov byte [ebp - 0x336], al
mov al, byte [ebp - 0x302]
mov byte [ebp - 0x335], al
mov al, byte [ebp - 0x300]
mov byte [ebp - 0x334], al
mov al, byte [ebp - 0x2fe]
mov byte [ebp - 0x333], al
mov al, byte [ebp - 0x2fc]
mov byte [ebp - 0x332], al
mov al, byte [ebp - 0x2fa]
mov byte [ebp - 0x331], al
mov eax, 0x1000
mov ecx, eax
cmp word [0x1009b46c], cx
jne 0x100795c7
mov word [ebp - 0x330], ax
jmp 0x100795f3
cmp esi, 1
jne 0x100795d4
mov esi, dword [ebp - 0x160]
jmp 0x100795e2
dec esi
dec esi
neg esi
sbb esi, esi
not esi
and esi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x1b4]
add esi, eax
neg esi
mov word [ebp - 0x330], si
test byte [ebp - 0x2f4], 0x10
je 0x10079633
lea eax, [ebp - 0x320]
push eax
push dword [ebp - 0x33c]
lea eax, [ebp - 0x108]
push dword [ebp - 0x30c]
push dword [ebp - 0x314]
push dword [ebp - 0x340]
push eax
lea eax, [ebp - 0x2c8]
push eax
call fcn.100791ff
jmp 0x100796c0
push dword [ebp - 0x314]
lea eax, [ebp - 0x108]
push dword [ebp - 0x340]
push eax
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.10078b54
mov esi, eax
cmp esi, ebx
jne 0x1007972e
push ebx
lea eax, [ebp - 0x320]
push eax
push dword [ebp - 0x310]
call fcn.100790f2
push 1
lea eax, [ebp - 0x32c]
push eax
push dword [ebp - 0x310]
call fcn.100790f2
push 2
lea eax, [ebp - 0x338]
push eax
push dword [ebp - 0x310]
call fcn.100790f2
cmp dword [ebp - 0x30c], ebx
je 0x100796c6
push dword [ebp - 0x33c]
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x2c8]
push eax
call dword [ebp - 0x30c]
mov esi, eax
cmp esi, ebx
jne 0x1007972e
push 0x140
lea eax, [ebp - 0x2f4]
push ebx
push eax
call fcn.100620c0
add esp, 0xc
lea eax, [ebp - 0x2f4]
push eax
push dword [ebp - 0x2f8]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x100792fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 0x2f8]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, esi
sub eax, 0x12
neg eax
sbb eax, eax
and eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10062074
leave
ret 0x1c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push dword [ebp - 0x2f8]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, esi
jmp 0x10079715