Function at 0x10002d30
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x354
mov eax, dword [0x10008160]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
push 0x140
mov dword [ebp - 0x34c], eax
lea eax, [ebp - 0x344]
push 0
push eax
mov dword [ebp - 0x348], ecx
call sub.MSVCR110.dll_memset
push 0x100
lea eax, [ebp - 0x204]
push 0
push eax
call sub.MSVCR110.dll_memset
push 0x100
lea eax, [ebp - 0x104]
push 0
push eax
call sub.MSVCR110.dll_memset
mov esi, dword [ebp + 8]
lea edx, [ebp - 0x204]
add esp, 0x24
mov ecx, esi
sub edx, esi
mov edi, edi
mov al, byte [ecx]
mov byte [edx + ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x10002da0
lea ecx, [ebp - 0x204]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10002db5
sub ecx, edx
cmp byte [ebp + ecx - 0x205], 0x5c
je 0x10002de3
lea edi, [ebp - 0x204]
dec edi
nop
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10002dd0
mov ax, word [0x100063d8]
mov word [edi], ax
lea edi, [ebp - 0x204]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10002df0
mov eax, dword [0x100063d4]
mov dword [edi], eax
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea ebx, [ebp - 0x104]
lea edi, [ebp - 0x104]
sub ebx, esi
dec edi
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x354], edi
jmp 0x10002e38
mov edi, dword [ebp - 0x354]
mov eax, esi
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [ebx + eax], cl
lea eax, [eax + 1]
test cl, cl
jne 0x10002e40
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10002e55
sub ecx, edx
cmp byte [edi + ecx], 0x5c
je 0x10002e83
lea edi, [ebp - 0x104]
dec edi
jmp 0x10002e70
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10002e70
mov ax, word [0x100063d8]
mov word [edi], ax
lea edx, [ebp - 0x318]
mov esi, edx
jmp 0x10002e90
mov al, byte [edx]
inc edx
test al, al
jne 0x10002e90
lea edi, [ebp - 0x104]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10002ea0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
test byte [ebp - 0x344], 0x10
rep movsb byte es:[edi], byte [esi]
je 0x10002f58
mov ecx, 0x100064d8
lea eax, [ebp - 0x318]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10002ef0
test dl, dl
je 0x10002eec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10002ef0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10002ed0
xor eax, eax
jmp 0x10002ef5
sbb eax, eax
or eax, 1
test eax, eax
je 0x10002f58
mov ecx, 0x100064dc
lea eax, [ebp - 0x318]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10002f24
test dl, dl
je 0x10002f20
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10002f24
add eax, 2
add ecx, 2
test dl, dl
jne 0x10002f04
xor eax, eax
jmp 0x10002f29
sbb eax, eax
or eax, 1
test eax, eax
je 0x10002f58
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp - 0x348]
test edi, edi
je 0x100030aa
push edi
push dword [ebp - 0x34c]
lea eax, [ebp - 0x104]
push eax
mov ecx, esi
call fcn.10002d30
jmp 0x100030aa
mov ecx, 0x100064d8
lea eax, [ebp - 0x318]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10002f83
test dl, dl
je 0x10002f7f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10002f83
add eax, 2
add ecx, 2
test dl, dl
jne 0x10002f63
xor eax, eax
jmp 0x10002f88
sbb eax, eax
or eax, 1
test eax, eax
je 0x100030a4
mov ecx, 0x100064dc
lea eax, [ebp - 0x318]
jmp 0x10002fa0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10002fc0
test dl, dl
je 0x10002fbc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10002fc0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10002fa0
xor eax, eax
jmp 0x10002fc5
sbb eax, eax
or eax, 1
test eax, eax
je 0x100030a4
push dword [ebp - 0x34c]
mov edi, dword [sym.imp.MSVCR110.dll__strupr]
call edi
mov esi, eax
lea eax, [ebp - 0x318]
push eax
call edi
push esi
push eax
call dword [sym.imp.MSVCR110.dll_strstr]
add esp, 0x10
test eax, eax
je 0x100030a4
push 0x400
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov cl, byte [ebp - 0x344]
mov edi, eax
and cl, 0x10
lea esi, [ebp - 0x104]
mov byte [edi + 1], cl
lea ecx, [esi + 1]
lea ecx, [ecx]
mov al, byte [esi]
inc esi
test al, al
jne 0x10003020
sub esi, ecx
push esi
lea eax, [ebp - 0x104]
push eax
lea eax, [edi + 2]
push eax
call sub.MSVCR110.dll_memcpy
mov byte [edi + esi + 2], 0
mov eax, dword [ebp - 0x328]
mov dword [edi + esi + 3], eax
mov eax, dword [ebp - 0x324]
mov dword [edi + esi + 7], eax
mov eax, dword [ebp - 0x330]
mov dword [edi + esi + 0xb], eax
mov eax, dword [ebp - 0x32c]
mov dword [edi + esi + 0xf], eax
add esi, 0x13
add esp, 0xc
cmp esi, 1
jbe 0x100030a4
push 0x42
push esi
push edi
mov byte [edi], 0x73
call dword [sym.imp.KERNEL32.dll_LocalReAlloc]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_LocalSize]
mov ecx, dword [ebp - 0x348]
push eax
push esi
call fcn.10001df0
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esi, dword [ebp - 0x348]
mov edi, dword [ebp - 0x350]
lea eax, [ebp - 0x344]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x100030d2
cmp dword [esi + 0x12c], 0
mov esi, dword [ebp + 8]
je 0x10002e32
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100045c6
mov esp, ebp
pop ebp
ret 0xc