Function at 0x408265
Capabilities:
Get common file path

Disassembly:
push 0x314
mov eax, 0x46a806
call fcn.0042dc0b
movaps xmm0, xmmword [0x4700e0]
mov esi, str.STARTUP
movups xmmword [ebp - 0x2c8], xmm0
mov edx, str.START_UP
mov ebx, dword [ebp + 8]
movaps xmm0, xmmword [0x470080]
mov ecx, str.COMMONSTARTUP
movups xmmword [ebp - 0x2b8], xmm0
push 0x24
movaps xmm0, xmmword [0x4700f0]
movups xmmword [ebp - 0x2a8], xmm0
pop eax
movaps xmm0, xmmword [0x470150]
movups xmmword [ebp - 0x298], xmm0
mov dword [ebp - 0x174], eax
movaps xmm0, xmmword [0x470100]
movups xmmword [ebp - 0x288], xmm0
mov dword [ebp - 0x170], eax
mov eax, str.COMMON_STARTUP
movaps xmm0, xmmword [0x470160]
movups xmmword [ebp - 0x278], xmm0
mov dword [ebp - 0x178], 0x15
movaps xmm0, xmmword [0x4700b0]
movups xmmword [ebp - 0x268], xmm0
mov dword [ebp - 0x16c], str.COMMONADMINISTRATIVETOOLS
movaps xmm0, xmmword [0x4700c0]
movups xmmword [ebp - 0x258], xmm0
mov dword [ebp - 0x168], str.COMMON_ADMINISTRATIVE_TOOLS
movaps xmm0, xmmword [0x470170]
movups xmmword [ebp - 0x248], xmm0
mov dword [ebp - 0x164], esi
movaps xmm0, xmmword [0x470040]
movups xmmword [ebp - 0x238], xmm0
mov dword [ebp - 0x160], edx
movaps xmm0, xmmword [0x470060]
movups xmmword [ebp - 0x228], xmm0
mov dword [ebp - 0x15c], str.APPDATA
movaps xmm0, xmmword [0x470110]
movups xmmword [ebp - 0x218], xmm0
mov dword [ebp - 0x158], str.COMMON_APPDATA
movaps xmm0, xmmword [0x470050]
movups xmmword [ebp - 0x208], xmm0
mov dword [ebp - 0x154], str.RECYCLEBIN
movaps xmm0, xmmword [0x470130]
movups xmmword [ebp - 0x1f8], xmm0
mov dword [ebp - 0x150], str.RECYCLE_BIN
movaps xmm0, xmmword [0x4700a0]
movups xmmword [ebp - 0x1e8], xmm0
mov dword [ebp - 0x14c], str.CDBURNING
movaps xmm0, xmmword [0x4700d0]
movups xmmword [ebp - 0x1d8], xmm0
mov dword [ebp - 0x148], str.CD_BURNING
movaps xmm0, xmmword [0x470180]
movups xmmword [ebp - 0x1c8], xmm0
mov dword [ebp - 0x144], ecx
movaps xmm0, xmmword [0x470140]
movups xmmword [ebp - 0x1b8], xmm0
mov dword [ebp - 0x140], eax
movaps xmm0, xmmword [0x470070]
movups xmmword [ebp - 0x1a8], xmm0
mov dword [ebp - 0x13c], str.COMMONAPPDATA
movaps xmm0, xmmword [0x470090]
movups xmmword [ebp - 0x198], xmm0
mov dword [ebp - 0x138], str.COMMONDESKTOP
movaps xmm0, xmmword [0x470120]
movups xmmword [ebp - 0x188], xmm0
mov dword [ebp - 0x134], str.COMMON_DESKTOP
mov dword [ebp - 0x130], str.COMMONDOCUMENTS
mov dword [ebp - 0x12c], str.COMMON_DOCUMENTS
mov dword [ebp - 0x128], str.COMMONFAVORITES
mov dword [ebp - 0x124], str.COMMON_FAVORITES
mov dword [ebp - 0x120], str.COMMONFAVOURITES
mov dword [ebp - 0x11c], str.COMMON_FAVOURITES
mov dword [ebp - 0x118], str.COMMONMUSIC
mov dword [ebp - 0x114], str.COMMON_MUSIC
mov dword [ebp - 0x110], str.COMMONPICTURES
mov dword [ebp - 0x10c], str.COMMON_PICTURES
mov dword [ebp - 0x108], str.COMMONPROGRAMS
mov dword [ebp - 0x104], str.COMMON_PROGRAMS
mov dword [ebp - 0x100], str.COMMONSTARTMENU
mov dword [ebp - 0xfc], str.COMMON_STARTMENU
mov dword [ebp - 0xf0], eax
mov eax, str.DESKTOP
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov eax, str.MY_DOCUMENTS
push 0xf
mov dword [ebp - 0xf4], ecx
mov ecx, str.MYDOCUMENTS
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x78], eax
xor eax, eax
pop edi
mov dword [ebp - 0xf8], str.COMMON_START_MENU
mov dword [ebp - 0xec], str.COMMON_START_UP
mov dword [ebp - 0xe8], str.COMMONTEMPLATES
mov dword [ebp - 0xe4], str.COMMON_TEMPLATES
mov dword [ebp - 0xe0], str.COMMONVIDEO
mov dword [ebp - 0xdc], str.COMMON_VIDEO
mov dword [ebp - 0xd8], str.CONTROLS
mov dword [ebp - 0xd4], str.COOKIES
mov dword [ebp - 0xc8], str.DRIVES
mov dword [ebp - 0xc4], str.FAVORITES
mov dword [ebp - 0xc0], str.FAVOURITES
mov dword [ebp - 0xbc], str.FONTS
mov dword [ebp - 0xb8], str.HISTORY
mov dword [ebp - 0xb4], str.INTERNET
mov dword [ebp - 0xb0], str.INTERNETCACHE
mov dword [ebp - 0xac], str.LOCALAPPDATA
mov dword [ebp - 0xa8], str.LOCAL_APPDATA
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x9c], str.MYMUSIC
mov dword [ebp - 0x98], str.MY_MUSIC
mov dword [ebp - 0x94], str.MYPICTURES
mov dword [ebp - 0x90], str.MY_PICTURES
mov dword [ebp - 0x8c], str.MYVIDEO
mov dword [ebp - 0x88], str.MY_VIDEO
mov dword [ebp - 0x84], str.NETHOOD
mov dword [ebp - 0x80], str.NETWORK
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x74], str.PRINTERS
mov dword [ebp - 0x70], str.PRINTHOOD
mov dword [ebp - 0x6c], str.PRINT_HOOD
mov dword [ebp - 0x68], str.PROFILE
mov dword [ebp - 0x64], str.USERPROFILE
mov dword [ebp - 0x60], str.PROFILES
mov dword [ebp - 0x5c], str.USERPROFILES
mov dword [ebp - 0x58], str.PROGRAMFILES
mov dword [ebp - 0x54], str.PROGRAM_FILES
mov dword [ebp - 0x50], str.PROGRAMFILESCOMMON
mov dword [ebp - 0x4c], str.PROGRAMFILES_COMMON
mov dword [ebp - 0x48], str.PROGRAM_FILES_COMMON
mov dword [ebp - 0x44], str.PROGRAMS
mov dword [ebp - 0x40], str.RECENT
mov dword [ebp - 0x3c], str.SENDTO
mov dword [ebp - 0x38], str.SEND_TO
mov dword [ebp - 0x34], str.STARTMENU
mov dword [ebp - 0x30], str.START_MENU
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], 0x46f9bc
mov dword [ebp - 0x20], str.SYSDIR
mov dword [ebp - 0x1c], str.TEMPLATES
mov dword [ebp - 0x18], str.WINDOWS
mov dword [ebp - 0x14], str.WINDIR
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], edi
mov byte [ebp - 0x2e0], al
push 0x105
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 4], eax
call fcn.0040bbad
xor esi, esi
cmp dword [ebp - 0x2cc], 0x10
lea eax, [ebp - 0x2e0]
push 0
push dword [ebp + esi - 0x2c8]
cmovae eax, dword [ebp - 0x2e0]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x408869
cmp dword [ebp - 0x2cc], 0x10
lea edx, [ebp - 0x2e0]
mov dword [ebp - 0x2fc], edi
cmovae edx, dword [ebp - 0x2e0]
and dword [ebp - 0x300], 0
mov ecx, edx
mov byte [ebp - 0x310], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40873a
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x310]
call fcn.00404230
mov ecx, dword [ebp + esi - 0x16c]
and dword [ebp - 0x2e8], 0
push 0xf
pop edi
mov byte [ebp - 4], 1
lea edx, [ecx + 1]
mov dword [ebp - 0x2e4], edi
mov byte [ebp - 0x2f8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408775
sub ecx, edx
push ecx
push dword [ebp + esi - 0x16c]
lea ecx, [ebp - 0x2f8]
call fcn.00404230
lea eax, [ebp - 0x310]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x2f8]
push eax
lea eax, [ebp - 0x320]
push ebx
push eax
call fcn.0040a6be
mov eax, dword [ebp - 0x2e4]
add esp, 0x10
cmp eax, 0x10
jb 0x408802
mov ecx, dword [ebp - 0x2f8]
inc eax
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x318], ecx
cmp eax, 0x1000
jb 0x4087f9
lea eax, [ebp - 0x314]
push eax
lea eax, [ebp - 0x318]
push eax
call fcn.00401311
mov eax, dword [ebp - 0x314]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x318]
push eax
push ecx
call fcn.0042d727
pop ecx
pop ecx
and dword [ebp - 0x2e8], 0
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x2e4], edi
mov byte [ebp - 0x2f8], 0
mov byte [ebp - 4], 0
cmp eax, 0x10
jb 0x408869
mov ecx, dword [ebp - 0x310]
inc eax
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x314], ecx
cmp eax, 0x1000
jb 0x408860
lea eax, [ebp - 0x318]
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00401311
mov eax, dword [ebp - 0x318]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x314]
push eax
push ecx
call fcn.0042d727
pop ecx
pop ecx
add esi, 4
cmp esi, 0x15c
jb 0x4086df
mov eax, dword [ebp - 0x2cc]
cmp eax, 0x10
jb 0x4088c7
mov ecx, dword [ebp - 0x2e0]
inc eax
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x314], ecx
cmp eax, 0x1000
jb 0x4088be
lea eax, [ebp - 0x318]
push eax
lea eax, [ebp - 0x314]
push eax
call fcn.00401311
mov eax, dword [ebp - 0x318]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x314]
push eax
push ecx
call fcn.0042d727
pop ecx
pop ecx
call fcn.0042dbb5
ret