Function at 0x45ce40
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x4b06f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.ole32.dll_CoCreateGuid]
test eax, eax
jne 0x45ce83
movdqu xmm0, xmmword [ebp - 0x14]
push 0x104
push 0x4c83f8
sub esp, 0x10
mov eax, esp
movdqu xmmword [eax], xmm0
call fcn.0043d140
add esp, 0x18
jmp 0x45ce9a
push str.A6E044B8_6C25_48fc_806B_002A9582C81F
push 0x104
push 0x4c83f8
call fcn.00470452
add esp, 0xc
push 0x104
push 0x4ca600
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
test eax, eax
je 0x45cebb
push 0x4ca600
call esi
push 0x104
push 0x4ca808
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x45ced6
push 0x4ca808
call esi
call fcn.0043d640
test eax, eax
je 0x45cf0e
push 0x4ca600
push str._s_system
push 0x104
push 0x4caa10
call fcn.0046f31e
push 0x4ca808
push 0x104
push 0x4cac18
call fcn.00470452
jmp 0x45cf3b
push 0x4ca808
push 0x104
push 0x4caa10
call fcn.00470452
push 0x4ca600
push str._s_system32
push 0x104
push 0x4cac18
call fcn.0046f31e
add esp, 0x1c
push 0x4cae20
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x45cf59
push 0x4cae20
call esi
push 0x4cb028
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x45cf74
push 0x4cb028
call esi
push str.shfolder.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
test ebx, ebx
je 0x45d224
push 0x49ca74
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
test edi, edi
je 0x45d224
push 0x4cb640
push 0
push 0
push 0x8023
push 0
call edi
test eax, eax
js 0x45cfbc
push 0x4cb640
call esi
push 0x4ce0e8
push 0
push 0
push 0x8009
push 0
call edi
test eax, eax
js 0x45cfd9
push 0x4ce0e8
call esi
push 0x4cb848
push 0
push 0
push 0x8026
push 0
call edi
test eax, eax
js 0x45cff6
push 0x4cb848
call esi
push 0x4cba50
push 0
push 0
push 0x801a
push 0
call edi
test eax, eax
js 0x45d013
push 0x4cba50
call esi
push 0x4cbc58
push 0
push 0
push 0x801c
push 0
call edi
test eax, eax
js 0x45d030
push 0x4cbc58
call esi
push 0x4cbe60
push 0
push 0
push 0x8018
push 0
call edi
test eax, eax
js 0x45d04d
push 0x4cbe60
call esi
push 0x4cc068
push 0
push 0
push 0x8007
push 0
call edi
test eax, eax
js 0x45d06a
push 0x4cc068
call esi
push 0x4cc270
push 0
push 0
push 0x802e
push 0
call edi
test eax, eax
js 0x45d087
push 0x4cc270
call esi
push 0x4cc478
push 0
push 0
push 0x8005
push 0
call edi
test eax, eax
js 0x45d0a4
push 0x4cc478
call esi
push 0x4cc680
push 0
push 0
push 0x8019
push 0
call edi
test eax, eax
js 0x45d0c1
push 0x4cc680
call esi
push 0x4cc888
push 0
push 0
push 0x8010
push 0
call edi
test eax, eax
js 0x45d0de
push 0x4cc888
call esi
push 0x4cca90
push 0
push 0
push 0x802b
push 0
call edi
test eax, eax
js 0x45d0fb
push 0x4cca90
call esi
push 0x4ccc98
push 0
push 0
push 0x8016
push 0
call edi
test eax, eax
js 0x45d118
push 0x4ccc98
call esi
push 0x4ccea0
push 0
push 0
push 0x800b
push 0
call edi
test eax, eax
js 0x45d135
push 0x4ccea0
call esi
push 0x4cd0a8
push 0
push 0
push 0x8017
push 0
call edi
test eax, eax
js 0x45d152
push 0x4cd0a8
call esi
push 0x4cd2b0
push 0
push 0
push 0x8002
push 0
call edi
test eax, eax
js 0x45d16f
push 0x4cd2b0
call esi
push 0x4cd4b8
push 0
push 0
push 0x8037
push 0
call edi
test eax, eax
js 0x45d18c
push 0x4cd4b8
call esi
push 0x4cd6c0
push 0
push 0
push 0x800e
push 0
call edi
test eax, eax
js 0x45d1a9
push 0x4cd6c0
call esi
push 0x4cd8c8
push 0
push 0
push 0x8035
push 0
call edi
test eax, eax
js 0x45d1c6
push 0x4cd8c8
call esi
push 0x4cdad0
push 0
push 0
push 0x800d
push 0
call edi
test eax, eax
js 0x45d1e3
push 0x4cdad0
call esi
push 0x4cb230
push 0
push 0
push 0x8036
push 0
call edi
test eax, eax
js 0x45d200
push 0x4cb230
call esi
push 0x4cb438
push 0
push 0
push 0x8027
push 0
call edi
test eax, eax
js 0x45d21d
push 0x4cb438
call esi
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push str.shell32
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
je 0x45d2c6
push str.SHGetKnownFolderPath
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
test ebx, ebx
je 0x45d2c6
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push eax
push 0
push 0xd000
push 0x49f9d4
call ebx
test eax, eax
js 0x45d284
push dword [ebp - 0x18]
push 0x104
push 0x4cdee0
call fcn.00470452
add esp, 0xc
push 0x4cdee0
call esi
lea eax, [ebp - 0x18]
push eax
push 0
push 0xd000
push 0x49f9c4
call ebx
test eax, eax
js 0x45d2b6
push dword [ebp - 0x18]
push 0x104
push 0x4cdcd8
call fcn.00470452
add esp, 0xc
push 0x4cdcd8
call esi
push dword [ebp - 0x18]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp word [0x4cdee0], 0
jne 0x45d2e9
push 0xffffffffffffffff
push 0x4cc680
push 0x104
push 0x4cdee0
call fcn.00470a11
add esp, 0x10
cmp word [0x4cdcd8], 0
jne 0x45d30c
push 0xffffffffffffffff
push 0x4cc888
push 0x104
push 0x4cdcd8
call fcn.00470a11
add esp, 0x10
push 0x104
push 0x4ce2f0
push dword [0x4b6514]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x45d397
push 0xffffffffffffffff
push 0x4ce2f0
push 0x104
push 0x4ce700
call fcn.00470a11
add esp, 0x10
push 0x4ce700
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push 0xffffffffffffffff
push 0x4ce2f0
push 0x104
push 0x4ce4f8
call fcn.00470a11
add esp, 0x10
push 0x4ce4f8
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
push 0xffffffffffffffff
push 0x4ce2f0
push 0x104
push 0x4ce908
call fcn.00470a11
add esp, 0x10
push str..cfg
push 0x4ce908
call dword [sym.imp.SHLWAPI.dll_PathRenameExtensionW]
push 0x4ca600
push str.InitPathVar_____WINDOWS__:__s
call fcn.004699e0
push 0x4ca808
push str.InitPathVar_____WINSYS__:__s
call fcn.004699e0
push 0x4cae20
push str.InitPathVar_____CURRENTDIR__:__s
call fcn.004699e0
push 0x4cb028
push str.InitPathVar_____TEMP__:__s
call fcn.004699e0
push 0x4ce0e8
push str.InitPathVar_____SENDTO__:__s
call fcn.004699e0
push 0x4cb848
push str.InitPathVar_____PROGRAMFILES__:__s
call fcn.004699e0
push 0x4cca90
push str.InitPathVar_____PROGRAM_FILES_COMMON__:__s
call fcn.004699e0
push 0x4cd6c0
push str.InitPathVar_____VIDEO_USER__:__s
call fcn.004699e0
add esp, 0x40
push 0x4cd4b8
push str.InitPathVar_____VIDEO_ALLUSERS__:__s
call fcn.004699e0
push 0x4cdad0
push str.InitPathVar_____MUSIC_USER__:__s
call fcn.004699e0
push 0x4cd8c8
push str.InitPathVar_____MUSIC_ALLUSERS__:__s
call fcn.004699e0
push 0x4cb438
push str.InitPathVar_____PICTURES_USER__:__s
call fcn.004699e0
push 0x4cb230
push str.InitPathVar_____PICTURES_ALLUSERS__:__s
call fcn.004699e0
push 0x4cd2b0
push str.InitPathVar_____PROGRAMS_USER__:__s
call fcn.004699e0
push 0x4cd0a8
push str.InitPathVar_____PROGRAMS_ALLUSERS__:__s
call fcn.004699e0
push 0x4ccea0
push str.InitPathVar_____STARTMENU_USER__:__s
call fcn.004699e0
add esp, 0x40
push 0x4ccc98
push str.InitPathVar_____STARTMENU_ALLUSERS__:__s
call fcn.004699e0
push 0x4cc068
push str.InitPathVar_____STARTUP_USER__:__s
call fcn.004699e0
push 0x4cbe60
push str.InitPathVar_____STARTUP_ALLUSERS__:__s
call fcn.004699e0
push 0x4cba50
push str.InitPathVar_____APPDATA__:__s
call fcn.004699e0
push 0x4cb640
push str.InitPathVar_____COMMON_APPDATA__:__s
call fcn.004699e0
push 0x4cbc58
push str.InitPathVar_____LOCAL_APPDATA__:__s
call fcn.004699e0
push 0x4cc478
push str.InitPathVar_____DOCUMENTS_USER__:__s
call fcn.004699e0
push 0x4cc270
push str.InitPathVar_____DOCUMENTS_ALLUSERS__:__s
call fcn.004699e0
add esp, 0x40
push 0x4cc888
push str.InitPathVar_____DESKTOP_USER__:__s
call fcn.004699e0
push 0x4cc680
push str.InitPathVar_____DESKTOP_ALLUSERS__:__s
call fcn.004699e0
push 0x4cdcd8
push str.InitPathVar_____DOWNLOAD_USER__:__s
call fcn.004699e0
push 0x4cdee0
push str.InitPathVar_____DOWNLOAD_ALLUSERS__:__s
call fcn.004699e0
push 0x4ce2f0
push str.InitPathVar____ModuleFile:__s
call fcn.004699e0
push 0x4ce700
push str.InitPathVar____ModulePath:__s
call fcn.004699e0
push 0x4ce4f8
push str.InitPathVar____ModuleFileName:__s
call fcn.004699e0
push 0x4ce908
push str.InitPathVar____ConfigFile:__s
call fcn.004699e0
add esp, 0x40
push 0x4c83f8
push str.InitPathVar____NewGuid:__s
call fcn.004699e0
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0046f33a
mov esp, ebp
pop ebp
ret