Function at 0x48edaf
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa40
mov dword [ebp - 0x418], 0
mov dword [ebp - 0x834], 0
push 0x104
lea eax, [ebp - 0x104]
push eax
call fcn.0048ecee
add esp, 8
test eax, eax
jne 0x48edeb
xor eax, eax
jmp 0x48f085
lea ecx, [ebp - 0x104]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0
jne 0x48ee0e
xor eax, eax
jmp 0x48f085
push 5
mov edx, dword [ebp - 0x418]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x834], eax
push 0x104
lea eax, [ebp - 0x30c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push str._system32dllcache
lea ecx, [ebp - 0x30c]
push ecx
push 0x547e48
push 0x104
lea edx, [ebp - 0x724]
push edx
call fcn.0040a230
add esp, 0x14
push str.ServicePackFilesi386
lea eax, [ebp - 0x30c]
push eax
push 0x547e68
push 0x104
lea ecx, [ebp - 0x828]
push ecx
call fcn.0040a230
add esp, 0x14
push str.Driver_Cachei386
lea edx, [ebp - 0x30c]
push edx
push 0x547e84
push 0x104
lea eax, [ebp - 0x620]
push eax
call fcn.0040a230
add esp, 0x14
push 0x208
lea ecx, [ebp - 0xa3c]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call sub.ntdll.dll_strlen
add esp, 4
add eax, 1
push eax
mov eax, dword [ebp + 0xc]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ecx, [ebp - 0xa3c]
push ecx
push 0
call sub.sfc.dll_SfcIsFileProtected
test eax, eax
je 0x48f02b
push 0xffffffffffffffff
lea edx, [ebp - 0xa3c]
push edx
push 0
call dword [ebp - 0x834]
mov dword [ebp - 0x82c], eax
cmp dword [ebp - 0x82c], 0
je 0x48ef10
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa40], eax
push 0x5c
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.ntdll.dll_strrchr]
add esp, 8
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0
jne 0x48ef35
xor eax, eax
jmp 0x48f085
mov ecx, dword [ebp - 0x414]
add ecx, 1
mov dword [ebp - 0x414], ecx
mov edx, dword [ebp - 0x414]
push edx
lea eax, [ebp - 0x724]
push eax
push 0x547e8c
push 0x104
lea ecx, [ebp - 0x208]
push ecx
call fcn.0040a230
add esp, 0x14
mov edx, dword [ebp - 0x414]
push edx
lea eax, [ebp - 0x828]
push eax
push 0x547e94
push 0x104
lea ecx, [ebp - 0x410]
push ecx
call fcn.0040a230
add esp, 0x14
mov edx, dword [ebp - 0x414]
push edx
lea eax, [ebp - 0x620]
push eax
push 0x547e9c
push 0x104
lea ecx, [ebp - 0x51c]
push ecx
call fcn.0040a230
add esp, 0x14
lea edx, [ebp - 0x208]
push edx
call fcn.0042f17a
add esp, 4
test eax, eax
je 0x48efdf
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x208]
push ecx
call fcn.0048eb8d
add esp, 8
lea edx, [ebp - 0x410]
push edx
call fcn.0042f17a
add esp, 4
test eax, eax
je 0x48f005
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x410]
push ecx
call fcn.0048eb8d
add esp, 8
lea edx, [ebp - 0x51c]
push edx
call fcn.0042f17a
add esp, 4
test eax, eax
je 0x48f02b
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x51c]
push ecx
call fcn.0048eb8d
add esp, 8
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.0048eb8d
add esp, 8
test eax, eax
je 0x48f04b
mov dword [ebp - 0x830], 1
jmp 0x48f055
mov dword [ebp - 0x830], 0
push str.dllcache_
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
jne 0x48f072
mov edx, dword [ebp + 8]
push edx
call dword [0x54b4b8]
mov eax, dword [ebp - 0x418]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x830]
mov esp, ebp
pop ebp
ret