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

Disassembly:
push 0x2e8
mov eax, 0x628193
call fcn.005b83bf
mov byte [ebp - 0x2f2], dl
mov edi, ecx
lea ecx, [ebp - 0x58]
call fcn.00416b07
and dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00416b07
xor ebx, ebx
inc ebx
mov byte [ebp - 4], bl
mov ecx, edi
call fcn.00416ae2
test al, al
jne 0x47c51d
push 0x7f7390
lea ecx, [ebp - 0x40]
call fcn.0041b35f
mov byte [ebp - 4], 2
lea eax, [ebp - 0x40]
push 0
push eax
mov edx, edi
lea ecx, [ebp - 0x70]
call fcn.0047b5ea
pop ecx
pop ecx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x58]
push eax
call fcn.0041d4ea
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x70]
call fcn.0041660a
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x40]
call fcn.0041660a
lea eax, [ebp - 0x2f0]
push eax
lea ecx, [ebp - 0x58]
call fcn.00416aea
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x47c51d
mov byte [ebp - 0x2f1], bl
lea eax, [ebp - 0x2f0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x47c4d9
lea eax, [ebp - 0x2c4]
push eax
call fcn.004160c0
pop ecx
push eax
lea eax, [ebp - 0x2c4]
push eax
lea ecx, [ebp - 0x28]
call fcn.0041bf96
push 0x7eacc0
lea ecx, [ebp - 0x28]
call fcn.0041e772
test eax, eax
je 0x47c417
push 0x7f7394
lea ecx, [ebp - 0x28]
call fcn.0041e772
test eax, eax
je 0x47c417
test byte [ebp - 0x2f0], 0x10
je 0x47c440
lea eax, [ebp - 0x28]
mov edx, edi
push 0
push eax
lea ecx, [ebp - 0x70]
call fcn.0047b5ea
pop ecx
pop ecx
mov byte [ebp - 4], 4
mov ecx, eax
mov dl, byte [ebp - 0x2f2]
call fcn.0047c2ca
mov bl, al
neg bl
sbb bl, bl
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x70]
call fcn.0041660a
add bl, 1
jne 0x47c516
xor ebx, ebx
inc ebx
mov al, byte [ebp - 0x2f1]
test al, al
jne 0x47c378
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [ebp - 0x2f2], 0
je 0x47c51f
xor esi, esi
jmp 0x47c502
test byte [ebp - 0x2f0], bl
je 0x47c483
lea eax, [ebp - 0x28]
mov edx, edi
push 0
push eax
lea ecx, [ebp - 0x88]
call fcn.0047b5ea
pop ecx
pop ecx
mov byte [ebp - 4], 5
mov ecx, eax
push 0x80
call fcn.00416aea
push eax
call fcn.005ea5e7
pop ecx
pop ecx
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x88]
call fcn.0041660a
lea eax, [ebp - 0x28]
mov edx, edi
push 0
push eax
lea ecx, [ebp - 0xa0]
call fcn.0047b5ea
pop ecx
pop ecx
mov byte [ebp - 4], 6
mov ecx, eax
call fcn.00416aea
push eax
lea ecx, [ebp - 0x40]
call fcn.0041b35f
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x40]
call fcn.0047c691
mov bl, al
neg bl
sbb bl, bl
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x40]
call fcn.0041660a
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xa0]
jmp 0x47c406
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x47c516
xor al, al
mov byte [ebp - 0x2f1], al
jmp 0x47c41d
cmp esi, 2
jg 0x47c51d
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
mov ecx, edi
call fcn.00416aea
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
je 0x47c4f1
jmp 0x47c51f
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
xor bl, bl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.0041660a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0041660a
mov al, bl
call fcn.005b8369
ret