Function at 0x2100d781
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.2100d3b0
mov eax, dword [ebp + 8]
push eax
call fcn.2100ac0c
test eax, eax
je 0x2100d7d0
lea ecx, [ebp - 0x258]
push ecx
push 0x210539a4
mov edx, dword [ebp + 8]
push edx
call fcn.2100ac73
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.21031261
add esp, 0xc
push 0x5c
mov eax, dword [ebp - 0x260]
add eax, 8
push eax
call fcn.210317c0
add esp, 8
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
je 0x2100d817
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 0x2100d83e
xor eax, eax
jmp 0x2100da46
mov dword [ebp - 0x14c], 1
jmp 0x2100d864
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 0x2100d8d2
push 0x210539a8
lea eax, [ebp - 0x114]
push eax
call fcn.21030400
add esp, 8
test eax, eax
je 0x2100d89d
push 0x210539ac
lea ecx, [ebp - 0x114]
push ecx
call fcn.21030400
add esp, 8
test eax, eax
jne 0x2100d89f
jmp 0x2100d84a
mov edx, dword [ebp - 0x140]
and edx, 0x10
test edx, edx
je 0x2100d8b6
cmp dword [ebp + 0x10], 0
jne 0x2100d8b4
jmp 0x2100d84a
jmp 0x2100d8be
cmp dword [ebp + 0xc], 0
jne 0x2100d8be
jmp 0x2100d84a
mov eax, dword [ebp - 0x154]
add eax, 1
mov dword [ebp - 0x154], eax
jmp 0x2100d84a
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp - 0x154], 0
jne 0x2100d8ef
xor eax, eax
jmp 0x2100da46
mov edx, dword [ebp - 0x154]
imul edx, edx, 0x140
push edx
call fcn.2103d925
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 0x2100d934
push str.could_not_allocate_WIN32_FIND_DATA_array
call fcn.2100a467
or eax, 0xffffffff
jmp 0x2100da46
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 0x2100d96a
xor eax, eax
jmp 0x2100da46
mov dword [ebp - 0x14c], 1
jmp 0x2100d990
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 0x2100da31
push 0x210539dc
mov edx, dword [ebp - 0x150]
add edx, 0x2c
push edx
call fcn.21030400
add esp, 8
test eax, eax
je 0x2100d9d3
push 0x210539e0
mov eax, dword [ebp - 0x150]
add eax, 0x2c
push eax
call fcn.21030400
add esp, 8
test eax, eax
jne 0x2100d9d5
jmp 0x2100d976
mov ecx, dword [ebp - 0x150]
mov edx, dword [ecx]
and edx, 0x10
test edx, edx
je 0x2100d9ee
cmp dword [ebp + 0x10], 0
jne 0x2100d9ec
jmp 0x2100d976
jmp 0x2100d9f6
cmp dword [ebp + 0xc], 0
jne 0x2100d9f6
jmp 0x2100d976
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 0x2100da2c
jmp 0x2100da31
jmp 0x2100d976
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