Function at 0x404720
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x104
push 0x42eaf0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
je 0x404745
push 0x42eaf0
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x104
push 0x42ecf8
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x404764
push 0x42ecf8
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
call fcn.004067e0
test eax, eax
je 0x4047a2
push 0x42eaf0
push str._s_system
push 0x104
push 0x42ef00
call fcn.00411a1b
add esp, 0x10
push 0x42ecf8
push 0x104
push 0x42f108
call fcn.004114c7
add esp, 0xc
jmp 0x4047d5
push 0x42ecf8
push 0x104
push 0x42ef00
call fcn.004114c7
add esp, 0xc
push 0x42eaf0
push str._s_system32
push 0x104
push 0x42f108
call fcn.00411a1b
add esp, 0x10
push 0x42f310
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x4047f4
push 0x42f310
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x42f928
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x404813
push 0x42f928
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
mov dword [ebp - 8], 0
push str.shfolder.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x404840
push str.SHGetFolderPathW
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x404b36
push 0x431598
push 0
push 0
push 0x8023
push 0
call dword [ebp - 8]
test eax, eax
jl 0x40486c
push 0x431598
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x42e8e8
push 0
push 0
push 0x8009
push 0
call dword [ebp - 8]
test eax, eax
jl 0x40488e
push 0x42e8e8
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x42f518
push 0
push 0
push 0x8026
push 0
call dword [ebp - 8]
test eax, eax
jl 0x4048b0
push 0x42f518
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x431390
push 0
push 0
push 0x801a
push 0
call dword [ebp - 8]
test eax, eax
jl 0x4048d2
push 0x431390
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x4317a0
push 0
push 0
push 0x801c
push 0
call dword [ebp - 8]
test eax, eax
jl 0x4048f4
push 0x4317a0
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x431188
push 0
push 0
push 0x8018
push 0
call dword [ebp - 8]
test eax, eax
jl 0x404916
push 0x431188
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x430f80
push 0
push 0
push 0x8007
push 0
call dword [ebp - 8]
test eax, eax
jl 0x404938
push 0x430f80
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x4319a8
push 0
push 0
push 0x802e
push 0
call dword [ebp - 8]
test eax, eax
jl 0x40495a
push 0x4319a8
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x431bb0
push 0
push 0
push 0x8005
push 0
call dword [ebp - 8]
test eax, eax
jl 0x40497c
push 0x431bb0
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x431fc0
push 0
push 0
push 0x8019
push 0
call dword [ebp - 8]
test eax, eax
jl 0x40499e
push 0x431fc0
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x431db8
push 0
push 0
push 0x8010
push 0
call dword [ebp - 8]
test eax, eax
jl 0x4049c0
push 0x431db8
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x42f720
push 0
push 0
push 0x802b
push 0
call dword [ebp - 8]
test eax, eax
jl 0x4049e2
push 0x42f720
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x430d78
push 0
push 0
push 0x8016
push 0
call dword [ebp - 8]
test eax, eax
jl 0x404a04
push 0x430d78
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x430b70
push 0
push 0
push 0x800b
push 0
call dword [ebp - 8]
test eax, eax
jl 0x404a26
push 0x430b70
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x430968
push 0
push 0
push 0x8017
push 0
call dword [ebp - 8]
test eax, eax
jl 0x404a48
push 0x430968
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x430760
push 0
push 0
push 0x8002
push 0
call dword [ebp - 8]
test eax, eax
jl 0x404a6a
push 0x430760
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x42fd38
push 0
push 0
push 0x8037
push 0
call dword [ebp - 8]
test eax, eax
jl 0x404a8c
push 0x42fd38
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x42fb30
push 0
push 0
push 0x800e
push 0
call dword [ebp - 8]
test eax, eax
jl 0x404aae
push 0x42fb30
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x430148
push 0
push 0
push 0x8035
push 0
call dword [ebp - 8]
test eax, eax
jl 0x404ad0
push 0x430148
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x42ff40
push 0
push 0
push 0x800d
push 0
call dword [ebp - 8]
test eax, eax
jl 0x404af2
push 0x42ff40
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x430558
push 0
push 0
push 0x8036
push 0
call dword [ebp - 8]
test eax, eax
jl 0x404b14
push 0x430558
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x430350
push 0
push 0
push 0x8027
push 0
call dword [ebp - 8]
test eax, eax
jl 0x404b36
push 0x430350
call dword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
push 0x104
push 0x42a248
mov ecx, dword [0x429e1c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x404bcb
push 0x104
push 0x42a248
push 0x104
push 0x42a040
call fcn.0041191c
add esp, 0x10
push 0x42a040
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push 0x104
push 0x42a248
push 0x104
push 0x42a450
call fcn.0041191c
add esp, 0x10
push 0x42a450
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
push 0x104
push 0x42a248
push 0x104
push 0x42a658
call fcn.0041191c
add esp, 0x10
push str..cfg
push 0x42a658
call dword [sym.imp.SHLWAPI.dll_PathRenameExtensionW]
push 0x42eaf0
push str.InitPathVar_____WINDOWS__s
call fcn.00408a40
add esp, 8
push 0x42ecf8
push str.InitPathVar_____WINSYS__s
call fcn.00408a40
add esp, 8
push 0x42f108
push str.InitPathVar_____SYSTEM32__s
call fcn.00408a40
add esp, 8
push 0x42f310
push str.InitPathVar_____CURRENTDIR__s
call fcn.00408a40
add esp, 8
push 0x42f928
push str.InitPathVar_____TEMP__s
call fcn.00408a40
add esp, 8
push 0x42e8e8
push str.InitPathVar_____SENDTO__s
call fcn.00408a40
add esp, 8
push 0x42f518
push str.InitPathVar_____PROGRAMFILES__s
call fcn.00408a40
add esp, 8
push 0x42f720
push str.InitPathVar_____PROGRAM_FILES_COMMON__s
call fcn.00408a40
add esp, 8
push 0x42fb30
push str.InitPathVar_____VIDEO_USER__s
call fcn.00408a40
add esp, 8
push 0x42fd38
push str.InitPathVar_____VIDEO_ALLUSERS__s
call fcn.00408a40
add esp, 8
push 0x42ff40
push str.InitPathVar_____MUSIC_USER__s
call fcn.00408a40
add esp, 8
push 0x430148
push str.InitPathVar_____MUSIC_ALLUSERS__s
call fcn.00408a40
add esp, 8
push 0x430350
push str.InitPathVar_____PICTURES_USER__s
call fcn.00408a40
add esp, 8
push 0x430558
push str.InitPathVar_____PICTURES_ALLUSERS__s
call fcn.00408a40
add esp, 8
push 0x430760
push str.InitPathVar_____PROGRAMS_USER__s
call fcn.00408a40
add esp, 8
push 0x430968
push str.InitPathVar_____PROGRAMS_ALLUSERS__s
call fcn.00408a40
add esp, 8
push 0x430b70
push str.InitPathVar_____STARTMENU_USER__s
call fcn.00408a40
add esp, 8
push 0x430d78
push str.InitPathVar_____STARTMENU_ALLUSERS__s
call fcn.00408a40
add esp, 8
push 0x430f80
push str.InitPathVar_____STARTUP_USER__s
call fcn.00408a40
add esp, 8
push 0x431188
push str.InitPathVar_____STARTUP_ALLUSERS__s
call fcn.00408a40
add esp, 8
push 0x431390
push str.InitPathVar_____APPDATA__s
call fcn.00408a40
add esp, 8
push 0x431598
push str.InitPathVar_____COMMON_APPDATA__s
call fcn.00408a40
add esp, 8
push 0x4317a0
push str.InitPathVar_____LOCAL_APPDATA__s
call fcn.00408a40
add esp, 8
push 0x431bb0
push str.InitPathVar_____DOCUMENTS_USER__s
call fcn.00408a40
add esp, 8
push 0x4319a8
push str.InitPathVar_____DOCUMENTS_ALLUSERS__s
call fcn.00408a40
add esp, 8
push 0x431db8
push str.InitPathVar_____DESKTOP_USER__s
call fcn.00408a40
add esp, 8
push 0x431fc0
push str.InitPathVar_____DESKTOP_ALLUSERS__s
call fcn.00408a40
add esp, 8
push 0x42a248
push str.InitPathVar____ModuleFile_s
call fcn.00408a40
add esp, 8
push 0x42a040
push str.InitPathVar____ModulePath_s
call fcn.00408a40
add esp, 8
push 0x42a450
push str.InitPathVar____ModuleFileName_s
call fcn.00408a40
add esp, 8
push 0x42a658
push str.InitPathVar____ConfigFile_s
call fcn.00408a40
add esp, 8
mov esp, ebp
pop ebp
ret