Function at 0x47c1e0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c5145
mov eax, dword fs:[0]
push eax
sub esp, 0x308
mov eax, dword [0x4fe37c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x304], ecx
mov dword [ebp - 0x28c], 0
push 0x24c
push 0
lea eax, [ebp - 0x288]
push eax
call fcn.00445020
add esp, 0xc
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x3c], 0
push str..
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x2c]
push edx
call fcn.00409480
add esp, 0xc
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00407070
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x34], eax
xor ecx, ecx
cmp dword [ebp - 0x34], 0xffffffff
setne cl
mov byte [ebp - 0x2d], cl
mov byte [ebp - 0x35], 1
movzx edx, byte [ebp - 0x2d]
test edx, edx
je 0x47c429
push 0x4d779c
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x2e0]
push ecx
call fcn.00409480
add esp, 0xc
mov dword [ebp - 0x308], eax
mov edx, dword [ebp - 0x308]
mov dword [ebp - 0x30c], edx
mov byte [ebp - 4], 1
lea eax, [ebp - 0x260]
push eax
mov ecx, dword [ebp - 0x30c]
push ecx
lea edx, [ebp - 0x2c4]
push edx
call fcn.00409480
add esp, 0xc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2e0]
call fcn.00406fd0
push 0x4d77a0
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x2fc]
push ecx
call fcn.00409480
add esp, 0xc
mov dword [ebp - 0x310], eax
mov edx, dword [ebp - 0x310]
mov dword [ebp - 0x314], edx
mov byte [ebp - 4], 4
lea eax, [ebp - 0x260]
push eax
mov ecx, dword [ebp - 0x314]
push ecx
lea edx, [ebp - 0x2a8]
push edx
call fcn.00409480
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2fc]
call fcn.00406fd0
mov eax, dword [ebp - 0x28c]
and eax, 0x10
je 0x47c3b7
push 0x4d77a4
lea ecx, [ebp - 0x260]
push ecx
call fcn.004451be
add esp, 8
test eax, eax
je 0x47c3b5
push 0x4d77ac
lea edx, [ebp - 0x260]
push edx
call fcn.004451be
add esp, 8
test eax, eax
je 0x47c3b5
movzx ebx, byte [ebp - 0x35]
movzx eax, byte [ebp + 0x10]
push eax
lea ecx, [ebp - 0x2a8]
push ecx
lea edx, [ebp - 0x2c4]
push edx
mov eax, dword [ebp - 0x304]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x304]
mov eax, dword [edx + 0x1b8]
call eax
movzx ecx, al
and ebx, ecx
mov byte [ebp - 0x35], bl
jmp 0x47c3ec
movzx ebx, byte [ebp - 0x35]
movzx edx, byte [ebp + 0x10]
push edx
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x2c4]
push ecx
mov edx, dword [ebp - 0x304]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x304]
mov edx, dword [eax + 0x1ac]
call edx
movzx eax, al
and ebx, eax
mov byte [ebp - 0x35], bl
lea ecx, [ebp - 0x28c]
push ecx
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0x2d], al
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2a8]
call fcn.00406fd0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c4]
call fcn.00406fd0
jmp 0x47c285
mov eax, dword [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov cl, byte [ebp - 0x35]
mov byte [ebp - 0x2fd], cl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00406fd0
mov al, byte [ebp - 0x2fd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004443e3
mov esp, ebp
pop ebp
ret 0xc