Function at 0x4653a0
Capabilities:
Enumerate files on windows
Enumerate files recursively
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xaec
mov eax, dword [0x48948c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xaec], ecx
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x210]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea edx, [ebp - 0x210]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + eax*2 - 2]
push edx
push 0x47d040
lea eax, [ebp - 0x46c]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0x47d048
lea ecx, [ebp - 0x46c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x465429
push 0x47d04c
lea edx, [ebp - 0x210]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x47d050
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea ecx, [ebp - 0x468]
push ecx
lea edx, [ebp - 0x210]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x470], eax
cmp dword [ebp - 0x470], 0xffffffff
jne 0x465463
jmp 0x465649
push 0x47d058
lea eax, [ebp - 0x43c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x46548f
push 0x47d05c
lea ecx, [ebp - 0x43c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x465494
jmp 0x46562d
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x678]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ecx, dword [ebp - 0x214]
mov edx, dword [ebp + 8]
movzx eax, word [edx + ecx*2 - 2]
push eax
push 0x47d064
lea ecx, [ebp - 0x46c]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0x47d06c
lea edx, [ebp - 0x46c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x4654f1
push 0x47d070
lea eax, [ebp - 0x678]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea ecx, [ebp - 0x43c]
push ecx
lea edx, [ebp - 0x678]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x678]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
and eax, 0x10
je 0x4655b7
movzx ecx, byte [ebp + 0x10]
test ecx, ecx
je 0x465591
mov dword [ebp - 0x884], 0
jmp 0x46553e
mov edx, dword [ebp - 0x884]
add edx, 1
mov dword [ebp - 0x884], edx
cmp dword [ebp - 0x884], 0x104
jge 0x465568
mov eax, dword [ebp - 0x884]
mov ecx, dword [ebp - 0x884]
mov dx, word [ebp + ecx*2 - 0x678]
mov word [ebp + eax*2 - 0x880], dx
jmp 0x46552f
lea eax, [ebp - 0x880]
push eax
push 0x47d074
lea ecx, [ebp - 0xac0]
push ecx
mov ecx, dword [ebp - 0xaec]
call fcn.00404d80
lea ecx, [ebp - 0xac0]
call fcn.0040d840
movzx edx, byte [ebp + 0xc]
test edx, edx
je 0x4655b5
movzx eax, byte [ebp + 0x10]
push eax
movzx ecx, byte [ebp + 0xc]
push ecx
lea edx, [ebp - 0x678]
push edx
mov ecx, dword [ebp - 0xaec]
call fcn.004653a0
jmp 0x46562d
movzx eax, byte [ebp + 0x10]
test eax, eax
jne 0x46562d
mov dword [ebp - 0xa94], 0
jmp 0x4655da
mov ecx, dword [ebp - 0xa94]
add ecx, 1
mov dword [ebp - 0xa94], ecx
cmp dword [ebp - 0xa94], 0x104
jge 0x465604
mov edx, dword [ebp - 0xa94]
mov eax, dword [ebp - 0xa94]
mov cx, word [ebp + eax*2 - 0x678]
mov word [ebp + edx*2 - 0xa90], cx
jmp 0x4655cb
lea edx, [ebp - 0xa90]
push edx
push str._MjtuPofGjmf
lea eax, [ebp - 0xae8]
push eax
mov ecx, dword [ebp - 0xaec]
call fcn.00404d80
lea ecx, [ebp - 0xae8]
call fcn.0040d840
lea ecx, [ebp - 0x468]
push ecx
mov edx, dword [ebp - 0x470]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x465463
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004314f7
mov esp, ebp
pop ebp
ret 0xc