Function at 0x660e5d80
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1ac
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ebp - 0x180]
mov dword [ebp - 0x188], eax
test ebx, ebx
je 0x660e6150
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [ebp - 0x158], eax
mov esi, eax
cmp eax, 0xf
ja 0x660e6058
cmp eax, 1
jne 0x660e5f40
movzx edx, byte [ebx]
mov byte [ebp - 0x180], dl
lea edx, [ebp - 0x180]
mov dword [ebp - 0x184], eax
mov byte [edx + eax], 0
mov eax, 0x3fffffff
sub eax, dword [ebp - 0x184]
cmp eax, 1
jbe 0x660e6139
mov dword [esp + 4], 2
lea ecx, [ebp - 0x188]
mov dword [esp], 0x661e1017
call fcn.661b0180
sub esp, 8
lea eax, [ebp - 0x158]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x188]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x19c], eax
sub esp, 8
cmp eax, 0xffffffff
je 0x660e5f6a
lea ebx, [ebp - 0x12c]
jmp 0x660e5f18
mov dword [esp], ebx
lea eax, [ebp - 0x168]
mov dword [ebp - 0x170], eax
call sub.msvcrt.dll_strlen
mov dword [ebp - 0x18c], eax
mov esi, eax
cmp eax, 0xf
ja 0x660e5fb8
cmp eax, 1
jne 0x660e5fa0
movzx edx, byte [ebp - 0x12c]
mov byte [ebp - 0x168], dl
lea edx, [ebp - 0x168]
mov dword [ebp - 0x16c], eax
mov edi, dword [ebp + 8]
mov byte [edx + eax], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 8]
je 0x660e6010
lea edx, [eax + 8]
lea edi, [ebp - 0x168]
mov dword [eax], edx
mov edx, dword [ebp - 0x170]
cmp edx, edi
je 0x660e6110
mov dword [eax], edx
mov edx, dword [ebp - 0x168]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x16c]
mov dword [eax + 4], edx
mov eax, dword [ebp + 8]
add dword [eax + 4], 0x18
lea esi, [esi]
lea eax, [ebp - 0x158]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
sub esp, 8
test eax, eax
je 0x660e5f58
test byte [ebp - 0x158], 0x10
je 0x660e5ef8
cmp word [ebx], 0x2e
je 0x660e5ef8
cmp word [ebx], 0x2e2e
jne 0x660e5e60
cmp byte [ebx + 2], 0
je 0x660e5ef8
jmp 0x660e5e60
test eax, eax
jne 0x660e615c
lea edx, [ebp - 0x180]
jmp 0x660e5deb
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FindClose]
sub esp, 4
mov eax, dword [ebp - 0x188]
lea ecx, [ebp - 0x180]
cmp eax, ecx
je 0x660e5f8f
mov edi, dword [ebp - 0x180]
mov dword [esp], eax
lea edx, [edi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
test eax, eax
jne 0x660e6145
lea edx, [ebp - 0x168]
jmp 0x660e5ea1
lea eax, [ebp - 0x18c]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x170]
mov dword [esp], eax
call fcn.661b02e0
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x170], eax
sub esp, 8
mov dword [ebp - 0x168], edx
cmp esi, 4
jae 0x660e60b0
test esi, esi
jne 0x660e60e8
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x170]
jmp 0x660e5ea1
mov ecx, edi
lea edi, [ebp - 0x170]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.661abb50
mov edx, dword [ebp - 0x170]
lea eax, [ebp - 0x168]
sub esp, 8
cmp edx, eax
je 0x660e5ef8
mov eax, dword [ebp - 0x168]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call fcn.661cddb0
jmp 0x660e5ef8
lea eax, [ebp - 0x158]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x188]
mov dword [esp], eax
call fcn.661b02e0
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x188], eax
sub esp, 8
mov dword [ebp - 0x180], edx
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x158]
mov edx, dword [ebp - 0x188]
jmp 0x660e5deb
mov edx, dword [ebx]
lea edi, [eax + 4]
and edi, 0xfffffffc
mov dword [eax], edx
mov edx, dword [ebx + esi - 4]
mov dword [eax + esi - 4], edx
sub eax, edi
mov edx, ebx
sub edx, eax
lea ecx, [eax + esi]
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x170]
jmp 0x660e5ea1
movzx edx, byte [ebx]
mov byte [eax], dl
test esi, 2
je 0x660e5ffa
movzx edx, word [ebx + esi - 2]
mov word [eax + esi - 2], dx
jmp 0x660e5ffa
mov edx, dword [ebp - 0x168]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x164]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x160]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x15c]
mov dword [eax + 0x14], edx
jmp 0x660e5ee1
mov dword [esp], 0x661e1002
call fcn.661d33a0
lea eax, [ebp - 0x168]
jmp 0x660e5fe9
mov dword [esp], 0x661e0fa0
call fcn.661d32b0
lea eax, [ebp - 0x180]
jmp 0x660e6089