Function at 0x4bffe0
Capabilities:
Enumerate files on windows
Get common file path

Disassembly:
sub esp, 0x8c0
push ebx
push ebp
push esi
push edi
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x5d0]
push 0x80
rep stosd dword es:[edi], eax
lea eax, [esp + 0x14]
xor esi, esi
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x7d0]
push ecx
push str._sdebug.
push edx
call fcn.004f175f
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x3dc]
push eax
push str._sdebug
push ecx
call fcn.004f175f
lea edx, [esp + 0x28]
lea eax, [esp + 0x5e8]
push edx
push str._sProgram_FilesCommon_Files.
push eax
mov byte [esp + 0x36], 0
call fcn.004f175f
lea ecx, [esp + 0x34]
lea edx, [esp + 0x4f4]
push ecx
push str._sProgram_FilesCommon_Files
push edx
call fcn.004f175f
lea eax, [esp + 0x40]
lea ecx, [esp + 0x700]
push eax
push str._sProgram_Files.
push ecx
call fcn.004f175f
lea edx, [esp + 0x4c]
lea eax, [esp + 0x30c]
push edx
push str._sProgram_Files
push eax
call fcn.004f175f
add esp, 0x48
lea ecx, [esp + 0x4d0]
push ecx
call fcn.004f2beb
mov ebx, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
add esp, 4
lea edx, [esp + 0x90]
lea eax, [esp + 0x5d0]
push edx
push eax
call ebx
mov edi, eax
cmp edi, 0xffffffff
je 0x4c0162
mov ebp, dword [esp + 0x8d4]
test byte [esp + 0x90], 0x10
jne 0x4c0145
cmp byte [esp + 0xbc], 0x2e
je 0x4c0145
lea ecx, [esp + 0xbc]
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [esp + 0x4d0]
push eax
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [esp + 0x1d8]
push str._s_s
push eax
call fcn.004f175f
lea ecx, [esp + 0x1e0]
push 0xff
push ecx
push ebp
call fcn.004f27c0
add esp, 0x1c
inc esi
add ebp, 0x100
cmp esi, 0xf8
je 0x4c0162
lea edx, [esp + 0x90]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4c00d8
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
or edi, 0xffffffff
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [esp + 0x2d0]
push eax
call fcn.004f2beb
add esp, 4
lea ecx, [esp + 0x90]
lea edx, [esp + 0x6d0]
mov byte [esp + 0x1d0], 0
push ecx
push edx
call ebx
mov ebp, eax
cmp ebp, 0xffffffff
je 0x4c023d
mov eax, dword [esp + 0x8d4]
mov edi, esi
shl edi, 8
add edi, eax
test byte [esp + 0x90], 0x10
jne 0x4c021c
cmp byte [esp + 0xbc], 0x2e
je 0x4c021c
lea eax, [esp + 0xbc]
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [esp + 0x2d0]
push eax
push ecx
call fcn.004fa6c0
add esp, 4
lea edx, [esp + 0x1d4]
push eax
push str._s_s
push edx
call fcn.004f175f
add esp, 0x10
inc esi
add edi, 0x100
cmp esi, 0xf8
je 0x4c023d
lea eax, [esp + 0x1d0]
push 0xff
push eax
push edi
call fcn.004f27c0
add esp, 0xc
lea ecx, [esp + 0x90]
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4c01ac
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
or ebp, 0xffffffff
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
lea edx, [esp + 0x3d0]
push edx
call fcn.004f2beb
add esp, 4
lea eax, [esp + 0x90]
lea ecx, [esp + 0x7d0]
mov byte [esp + 0x1d0], 0
push eax
push ecx
call ebx
mov ebp, eax
cmp ebp, 0xffffffff
je 0x4c0318
mov eax, dword [esp + 0x8d4]
mov edi, esi
shl edi, 8
add edi, eax
test byte [esp + 0x90], 0x10
jne 0x4c02f7
cmp byte [esp + 0xbc], 0x2e
je 0x4c02f7
lea edx, [esp + 0xbc]
push edx
call fcn.004fa6c0
add esp, 4
push eax
lea eax, [esp + 0x3d4]
push eax
call fcn.004fa6c0
add esp, 4
lea ecx, [esp + 0x1d4]
push eax
push str._s_s
push ecx
call fcn.004f175f
add esp, 0x10
inc esi
add edi, 0x100
cmp esi, 0xf8
je 0x4c0318
lea edx, [esp + 0x1d0]
push 0xff
push edx
push edi
call fcn.004f27c0
add esp, 0xc
lea eax, [esp + 0x90]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4c0287
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
or ebp, 0xffffffff
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [esp + 0x8d8]
push str.c:endpcache
mov dword [ecx], esi
call fcn.004f2beb
add esp, 4
mov ax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c0
ret