Function at 0x21015237
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x154], 0
mov ecx, dword [ebp - 0x260]
call fcn.21014e66
mov eax, dword [ebp + 8]
push eax
call fcn.21013474
test eax, eax
je 0x2101528b
push 0x104
lea ecx, [ebp - 0x258]
push ecx
push 0x21080060
mov edx, dword [ebp + 8]
push edx
call fcn.210134f1
lea eax, [ebp - 0x258]
mov dword [ebp + 8], eax
push 0x104
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x260]
add edx, 8
push edx
call fcn.21054a81
add esp, 0xc
push 0
push 0xffffffffffffffff
push 0x5c
mov eax, dword [ebp - 0x260]
add eax, 8
push eax
call fcn.210314b4
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
je 0x210152d3
mov ecx, dword [ebp - 0x144]
mov byte [ecx], 0
lea edx, [ebp - 0x140]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0xffffffff
jne 0x210152fa
xor eax, eax
jmp 0x21015502
mov dword [ebp - 0x14c], 1
jmp 0x21015320
lea ecx, [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x148]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0
je 0x2101538e
push 0x21080064
lea eax, [ebp - 0x114]
push eax
call fcn.21053d00
add esp, 8
test eax, eax
je 0x21015359
push 0x21080068
lea ecx, [ebp - 0x114]
push ecx
call fcn.21053d00
add esp, 8
test eax, eax
jne 0x2101535b
jmp 0x21015306
mov edx, dword [ebp - 0x140]
and edx, 0x10
test edx, edx
je 0x21015372
cmp dword [ebp + 0x10], 0
jne 0x21015370
jmp 0x21015306
jmp 0x2101537a
cmp dword [ebp + 0xc], 0
jne 0x2101537a
jmp 0x21015306
mov eax, dword [ebp - 0x154]
add eax, 1
mov dword [ebp - 0x154], eax
jmp 0x21015306
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp - 0x154], 0
jne 0x210153ab
xor eax, eax
jmp 0x21015502
mov edx, dword [ebp - 0x154]
imul edx, edx, 0x140
push edx
call fcn.210636c3
add esp, 4
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x25c]
mov dword [eax + 4], ecx
cmp dword [ebp - 0x25c], 0
jne 0x210153f0
push str.could_not_allocate_WIN32_FIND_DATA_array
call fcn.21010778
or eax, 0xffffffff
jmp 0x21015502
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + 4]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x150]
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 0x21015426
xor eax, eax
jmp 0x21015502
mov dword [ebp - 0x14c], 1
jmp 0x2101544c
mov eax, dword [ebp - 0x150]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0
je 0x210154ed
push 0x21080098
mov edx, dword [ebp - 0x150]
add edx, 0x2c
push edx
call fcn.21053d00
add esp, 8
test eax, eax
je 0x2101548f
push 0x2108009c
mov eax, dword [ebp - 0x150]
add eax, 0x2c
push eax
call fcn.21053d00
add esp, 8
test eax, eax
jne 0x21015491
jmp 0x21015432
mov ecx, dword [ebp - 0x150]
mov edx, dword [ecx]
and edx, 0x10
test edx, edx
je 0x210154aa
cmp dword [ebp + 0x10], 0
jne 0x210154a8
jmp 0x21015432
jmp 0x210154b2
cmp dword [ebp + 0xc], 0
jne 0x210154b2
jmp 0x21015432
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 0x260]
mov dword [edx], ecx
mov eax, dword [ebp - 0x150]
add eax, 0x140
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x260]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0x154]
jne 0x210154e8
jmp 0x210154ed
jmp 0x21015432
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0x260]
mov eax, dword [ecx]
mov esp, ebp
pop ebp
ret 0xc