Function at 0x3000866b
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x25c
mov dword [ebp - 0x25c], ecx
mov dword [ebp - 0x154], 0
mov ecx, dword [ebp - 0x25c]
call fcn.30008c37
mov eax, dword [ebp + 8]
push eax
call fcn.30006ec4
add esp, 4
test eax, eax
je 0x300086c0
lea ecx, [ebp - 0x258]
push ecx
push 0x3003b4d0
mov edx, dword [ebp + 8]
push edx
call fcn.30006ef3
add esp, 0xc
lea eax, [ebp - 0x258]
mov dword [ebp + 8], eax
lea ecx, [ebp - 0x140]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0xffffffff
jne 0x300086e7
xor eax, eax
jmp 0x3000894d
push 0x104
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x25c]
push ecx
call fcn.30019df0
add esp, 0xc
push 0x5c
mov edx, dword [ebp - 0x25c]
push edx
call fcn.3001a820
add esp, 8
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
je 0x30008728
mov eax, dword [ebp - 0x144]
mov byte [eax], 0
push 0x3003b4d4
lea ecx, [ebp - 0x114]
push ecx
call fcn.3001a890
add esp, 8
test eax, eax
je 0x30008767
push 0x3003b4d8
lea edx, [ebp - 0x114]
push edx
call fcn.3001a890
add esp, 8
test eax, eax
je 0x30008767
mov eax, dword [ebp - 0x154]
add eax, 1
mov dword [ebp - 0x154], eax
lea ecx, [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x148]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x30008781
jmp 0x30008783
jmp 0x30008728
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0x154]
shl ecx, 2
push ecx
call fcn.300291ac
add esp, 4
mov edx, dword [ebp - 0x25c]
mov dword [edx + 0x108], eax
mov eax, dword [ebp - 0x25c]
cmp dword [eax + 0x108], 0
jne 0x300087c4
xor eax, eax
jmp 0x3000894d
mov ecx, dword [ebp - 0x154]
shl ecx, 2
push ecx
push 0
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x108]
push eax
call fcn.30019380
add esp, 0xc
lea ecx, [ebp - 0x140]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0xffffffff
jne 0x3000880c
xor eax, eax
jmp 0x3000894d
mov dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0x154]
jge 0x30008934
push 0x3003b4dc
lea ecx, [ebp - 0x114]
push ecx
call fcn.3001a890
add esp, 8
test eax, eax
je 0x30008915
push 0x3003b4e0
lea edx, [ebp - 0x114]
push edx
call fcn.3001a890
add esp, 8
test eax, eax
je 0x30008915
lea eax, [ebp - 0x114]
push eax
call fcn.30019760
add esp, 4
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x150]
add ecx, 1
push ecx
call fcn.300291ac
add esp, 4
mov edx, dword [ebp - 0x25c]
mov ecx, dword [edx + 0x104]
mov edx, dword [ebp - 0x25c]
mov edx, dword [edx + 0x108]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x104]
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x108]
cmp dword [eax + ecx*4], 0
je 0x30008915
lea ecx, [ebp - 0x114]
push ecx
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x104]
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0x108]
mov eax, dword [edx + eax*4]
push eax
call fcn.300193e0
add esp, 8
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0x104]
add edx, 1
mov eax, dword [ebp - 0x25c]
mov dword [eax + 0x104], edx
mov ecx, dword [ebp - 0x14c]
add ecx, 1
mov dword [ebp - 0x14c], ecx
lea edx, [ebp - 0x140]
push edx
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x3000892f
jmp 0x30008934
jmp 0x30008816
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x104]
mov esp, ebp
pop ebp
ret 4