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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3b0
mov eax, dword [0x1002bea0]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x1002e7a0], 0
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x38c], ebx
je 0x1000f1c7
push edi
push ebx
call fcn.10004530
push ebx
push str._s.
lea eax, [ebp - 0x248]
push 0x104
push eax
call fcn.10001fc0
add esp, 0x14
lea eax, [ebp - 0x388]
push eax
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x1000ef42
nop
cmp dword [0x1002e7a0], 0
je 0x1000f1c6
mov ecx, dword [ebp - 0x388]
xor bl, bl
mov eax, ecx
and eax, 6
cmp al, 6
jne 0x1000ee37
inc dword [esi*4 + 0x1002e8cc]
mov bl, 1
cmp dword [0x1002dfa8], 0
jne 0x1000ee49
test cl, 2
jne 0x1000ef2c
test cl, 0x10
je 0x1000ef02
mov ecx, 0x100224dc
lea eax, [ebp - 0x35c]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000ee80
test dl, dl
je 0x1000ee7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000ee80
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000ee60
xor eax, eax
jmp 0x1000ee85
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000ef2c
mov eax, 0x100224e0
lea ecx, [ebp - 0x35c]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x1000eeb8
test dl, dl
je 0x1000eeb4
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x1000eeb8
add ecx, 2
add eax, 2
test dl, dl
jne 0x1000ee98
xor eax, eax
jmp 0x1000eebd
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000ef2c
test bl, bl
jne 0x1000eecc
inc dword [esi*4 + 0x1002e8bc]
lea eax, [ebp - 0x35c]
push eax
push dword [ebp - 0x38c]
lea eax, [ebp - 0x248]
push str._s_s
push 0x104
push eax
call fcn.10001fc0
lea eax, [ebp - 0x248]
push 1
push eax
call fcn.1000eda0
add esp, 0x1c
jmp 0x1000ef2c
test bl, bl
jne 0x1000ef0d
inc dword [esi*4 + 0x1002e8c4]
mov ecx, dword [ebp - 0x36c]
xor eax, eax
add eax, dword [ebp - 0x368]
adc ecx, 0
add dword [esi*8 + 0x1002e8d8], eax
adc dword [esi*8 + 0x1002e8dc], ecx
lea eax, [ebp - 0x388]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1000ee10
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [0x1002e7a0], 0
je 0x1000f1c6
mov eax, dword [0x1002e8d8]
mov ecx, dword [0x1002e8dc]
mov dword [ebp - 0x3a4], eax
add eax, dword [0x1002e8e0]
mov dword [ebp - 0x3ac], eax
mov eax, dword [0x1002e8c4]
cdq
mov dword [ebp - 0x3a0], ecx
mov esi, edx
adc ecx, dword [0x1002e8e4]
mov dword [ebp - 0x3a8], ecx
mov ecx, eax
mov eax, dword [0x1002e8c8]
cdq
mov ebx, eax
mov dword [ebp - 0x398], esi
add ebx, ecx
mov dword [ebp - 0x39c], ecx
mov eax, edx
adc eax, esi
mov dword [ebp - 0x38c], eax
mov eax, dword [0x1002e8bc]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [0x1002e8c0]
cdq
add eax, esi
mov dword [ebp - 0x390], ecx
mov edi, edx
mov dword [ebp - 0x394], esi
adc edi, ecx
mov dword [ebp - 0x3b0], eax
mov ecx, dword [0x1002e8cc]
mov esi, 0x100240a4
mov edx, 0x100224ef
test ecx, ecx
jle 0x1000f00f
cmp ecx, 1
mov eax, esi
cmovle eax, edx
push eax
push ecx
push str.___d_Hidden_protected_OS_item_s
lea eax, [ebp - 0x44]
push 0x40
push eax
call fcn.10001fc0
add esp, 0x14
mov edx, 0x100224ef
jmp 0x1000f013
mov byte [ebp - 0x44], 0
mov eax, dword [0x1002e8d0]
test eax, eax
jle 0x1000f03c
cmp eax, 1
cmovle esi, edx
push esi
push eax
push str.___d_Hidden_protected_OS_item_s
lea eax, [ebp - 0x84]
push 0x40
push eax
call fcn.10001fc0
add esp, 0x14
jmp 0x1000f043
mov byte [ebp - 0x84], 0
push 0x80
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x3a0]
push dword [ebp - 0x3a4]
call fcn.1000f230
push eax
push 0x100240c8
push 0xfd
push 0x1002ba93
call fcn.10001fc0
mov ecx, dword [ebp - 0x390]
add esp, 0x20
cmp dword [ebp - 0x394], 1
jne 0x1000f090
mov eax, 0x100224ef
test ecx, ecx
je 0x1000f095
mov eax, 0x100240a4
cmp dword [ebp - 0x39c], 1
jne 0x1000f0ac
cmp dword [ebp - 0x398], 0
mov esi, 0x100224ef
je 0x1000f0b1
mov esi, 0x100240a4
lea edx, [ebp - 0x44]
push edx
mov edx, dword [ebp - 0x394]
push eax
push 0x40
lea eax, [ebp - 0xc4]
push eax
push ecx
push edx
call fcn.1000f330
add esp, 0x10
push eax
push esi
push 0x80
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x398]
push dword [ebp - 0x39c]
call fcn.1000f330
add esp, 0x10
push eax
push str._s_File_s___s_Folder_s_s
push 0xfd
push 0x1002bb97
call fcn.10001fc0
push 0x80
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x3a8]
push dword [ebp - 0x3ac]
call fcn.1000f230
push eax
push 0x100240c8
push 0xfd
push 0x1002bc9b
call fcn.10001fc0
mov ecx, dword [ebp - 0x3b0]
add esp, 0x40
cmp ecx, 1
jne 0x1000f14f
mov eax, 0x100224ef
test edi, edi
je 0x1000f154
mov eax, 0x100240a4
cmp ebx, 1
jne 0x1000f167
cmp dword [ebp - 0x38c], 0
mov esi, 0x100224ef
je 0x1000f16c
mov esi, 0x100240a4
lea edx, [ebp - 0x84]
push edx
push eax
push 0x40
lea eax, [ebp - 0xc4]
push eax
push edi
push ecx
call fcn.1000f330
add esp, 0x10
push eax
push esi
push 0x80
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x38c]
push ebx
call fcn.1000f330
add esp, 0x10
push eax
push str._s_File_s___s_Folder_s_s
push 0xfd
push 0x1002bd9f
call fcn.10001fc0
add esp, 0x20
mov dword [0x1002e8d4], 1
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.1001025d
mov esp, ebp
pop ebp
ret