Function at 0x21012761
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.21012390
mov eax, dword [ebp + 8]
push eax
call fcn.21010ac2
test eax, eax
je 0x210127b0
lea ecx, [ebp - 0x258]
push ecx
push 0x21071f0c
mov edx, dword [ebp + 8]
push edx
call fcn.21010b3d
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.2104a321
add esp, 0xc
push 0xffffffffffffffff
push 0x5c
mov eax, dword [ebp - 0x260]
add eax, 8
push eax
call fcn.2102b90b
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
je 0x210127f6
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 0x2101281d
xor eax, eax
jmp 0x21012a25
mov dword [ebp - 0x14c], 1
jmp 0x21012843
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 0x210128b1
push 0x21071f10
lea eax, [ebp - 0x114]
push eax
call fcn.210496f0
add esp, 8
test eax, eax
je 0x2101287c
push 0x21071f14
lea ecx, [ebp - 0x114]
push ecx
call fcn.210496f0
add esp, 8
test eax, eax
jne 0x2101287e
jmp 0x21012829
mov edx, dword [ebp - 0x140]
and edx, 0x10
test edx, edx
je 0x21012895
cmp dword [ebp + 0x10], 0
jne 0x21012893
jmp 0x21012829
jmp 0x2101289d
cmp dword [ebp + 0xc], 0
jne 0x2101289d
jmp 0x21012829
mov eax, dword [ebp - 0x154]
add eax, 1
mov dword [ebp - 0x154], eax
jmp 0x21012829
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp - 0x154], 0
jne 0x210128ce
xor eax, eax
jmp 0x21012a25
mov edx, dword [ebp - 0x154]
imul edx, edx, 0x140
push edx
call fcn.21058728
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 0x21012913
push str.could_not_allocate_WIN32_FIND_DATA_array
call fcn.2100df3d
or eax, 0xffffffff
jmp 0x21012a25
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 0x21012949
xor eax, eax
jmp 0x21012a25
mov dword [ebp - 0x14c], 1
jmp 0x2101296f
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 0x21012a10
push 0x21071f44
mov edx, dword [ebp - 0x150]
add edx, 0x2c
push edx
call fcn.210496f0
add esp, 8
test eax, eax
je 0x210129b2
push 0x21071f48
mov eax, dword [ebp - 0x150]
add eax, 0x2c
push eax
call fcn.210496f0
add esp, 8
test eax, eax
jne 0x210129b4
jmp 0x21012955
mov ecx, dword [ebp - 0x150]
mov edx, dword [ecx]
and edx, 0x10
test edx, edx
je 0x210129cd
cmp dword [ebp + 0x10], 0
jne 0x210129cb
jmp 0x21012955
jmp 0x210129d5
cmp dword [ebp + 0xc], 0
jne 0x210129d5
jmp 0x21012955
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 0x21012a0b
jmp 0x21012a10
jmp 0x21012955
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