Function at 0x41bc80
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52f542
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x58cfe0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x41c248
xor ecx, ecx
mov word [eax], cx
test esi, esi
je 0x41c248
cmp word [esi], cx
je 0x41c248
movups xmm0, xmmword [0x54ae20]
push str.My_Documents
push esi
movups xmmword [ebp - 0x20], xmm0
or edi, 0xffffffff
call fcn.0050d5a0
add esp, 8
test eax, eax
je 0x41bd6d
push str.MyDocuments
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
je 0x41bd6d
push str.MyMusic
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bd22
mov esi, str.My_Music
jmp 0x41bd72
push str.MyPictures
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bd3b
mov esi, str.My_Pictures
jmp 0x41bd72
push str.MyVideo
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bd54
mov esi, str.My_Video
jmp 0x41bd72
push str.StartMenu
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bd72
mov esi, str.Start_Menu
jmp 0x41bd72
mov esi, str.Personal
push str.AppData
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bd93
movups xmm0, xmmword [0x5607dc]
lea edi, [eax + 0x1a]
jmp 0x41c08b
push str.Cache
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bdb4
movups xmm0, xmmword [0x5607fc]
lea edi, [eax + 0x20]
jmp 0x41c08b
push str.Cookies
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bdd5
movups xmm0, xmmword [0x56077c]
lea edi, [eax + 0x21]
jmp 0x41c08b
push str.Desktop
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bdf6
movups xmm0, xmmword [0x5605bc]
lea edi, [eax + 0x10]
jmp 0x41c08b
push str.Favorites
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41be17
movups xmm0, xmmword [0x5607ec]
lea edi, [eax + 6]
jmp 0x41c08b
push str.History
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41be38
movups xmm0, xmmword [0x56070c]
lea edi, [eax + 0x22]
jmp 0x41c08b
push str.Local_AppData
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41be59
movups xmm0, xmmword [0x56084c]
lea edi, [eax + 0x1c]
jmp 0x41c08b
push str.My_Music
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41be7a
movups xmm0, xmmword [0x5605cc]
lea edi, [eax + 0xd]
jmp 0x41c08b
push str.My_Pictures
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41be9b
movups xmm0, xmmword [0x56064c]
lea edi, [eax + 0x27]
jmp 0x41c08b
push str.My_Video
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bebc
movups xmm0, xmmword [0x56069c]
lea edi, [eax + 0xe]
jmp 0x41c08b
push str.NetHood
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bedd
movups xmm0, xmmword [0x5606fc]
lea edi, [eax + 0x13]
jmp 0x41c08b
push str.Personal
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41befe
movups xmm0, xmmword [0x56061c]
lea edi, [eax + 5]
jmp 0x41c08b
push str.PrintHood
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bf1f
movups xmm0, xmmword [0x5605ec]
lea edi, [eax + 0x1b]
jmp 0x41c08b
push str.Programs
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bf40
movups xmm0, xmmword [0x5606bc]
lea edi, [eax + 2]
jmp 0x41c08b
push str.Recent
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bf61
movups xmm0, xmmword [0x56080c]
lea edi, [eax + 8]
jmp 0x41c08b
push str.SendTo
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bf82
movups xmm0, xmmword [0x5605fc]
lea edi, [eax + 9]
jmp 0x41c08b
push str.Start_Menu
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bfa3
movups xmm0, xmmword [0x56066c]
lea edi, [eax + 0xb]
jmp 0x41c08b
push str.Startup
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bfc4
movups xmm0, xmmword [0x56065c]
lea edi, [eax + 7]
jmp 0x41c08b
push str.Templates
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41bfe5
movups xmm0, xmmword [0x5605ac]
lea edi, [eax + 0x15]
jmp 0x41c08b
push str.374DE290_123F_4565_9164_39C4925E467B
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41c003
movups xmm0, xmmword [0x56073c]
jmp 0x41c08b
push str.A520A1A4_1780_4FF6_BD18_167343C5AF16
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41c01e
movups xmm0, xmmword [0x5606ec]
jmp 0x41c08b
push str.Downloads
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41c03e
movups xmm0, xmmword [0x56073c]
mov esi, str.374DE290_123F_4565_9164_39C4925E467B
jmp 0x41c08b
push str.LocalAppDataLow
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41c05e
movups xmm0, xmmword [0x5606ec]
mov esi, str.A520A1A4_1780_4FF6_BD18_167343C5AF16
jmp 0x41c08b
push str.QuickLaunch
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
je 0x41c082
push str.Quick_Launch
push esi
call fcn.0050d5a0
add esp, 8
test eax, eax
jne 0x41c08f
movups xmm0, xmmword [0x56067c]
xor esi, esi
movups xmmword [ebp - 0x20], xmm0
push dword [ebp - 0x3c]
call fcn.0046aa70
add esp, 4
test eax, eax
jne 0x41c0b6
push dword [ebp + 0x14]
mov edi, dword [ebp - 0x38]
push edi
push esi
push dword [ebp - 0x3c]
call fcn.0041c930
add esp, 0x10
jmp 0x41c24a
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x34], 0xc
mov edx, 0x54ae20
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x41c0db
add ecx, 4
add edx, 4
sub dword [ebp - 0x34], 4
jae 0x41c0c5
test edi, edi
js 0x41c09e
push 1
xorps xmm0, xmm0
lea ecx, [ebp - 0x30]
push str.shell32
movups xmmword [ebp - 0x30], xmm0
call fcn.004873a0
mov dword [ebp - 4], 0
push str.SHGetKnownFolderPath
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x20]
mov edx, 0x54ae20
mov dword [ebp - 0x34], 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x41c157
add ecx, 4
add edx, 4
sub dword [ebp - 0x34], 4
jae 0x41c118
test edi, edi
js 0x41c1ad
push dword [ebp - 0x38]
push 0
push 0
push edi
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x41c1ad
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp word [eax], cx
setne cl
mov dword [ebp - 0x34], ecx
mov esi, ecx
jmp 0x41c235
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x41c12a
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], 0
push ecx
push 0
push 0
lea ecx, [ebp - 0x20]
push ecx
call eax
test eax, eax
jne 0x41c12a
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x38]
test eax, eax
je 0x41c19b
push 0
push eax
push 0x104
push edi
call fcn.004823d0
add esp, 0x10
push dword [ebp - 0x34]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
xor ecx, ecx
cmp word [edi], cx
setne cl
mov dword [ebp - 0x34], ecx
mov esi, ecx
jmp 0x41c235
lea eax, [ebp - 0x20]
push 0x56067c
push eax
call fcn.0041cb20
add esp, 8
push dword [ebp + 0x14]
test al, al
je 0x41c224
mov esi, dword [ebp - 0x38]
push esi
push str.AppData
push dword [ebp - 0x3c]
call fcn.0041bc80
push esi
call fcn.004180c0
add esp, 0x14
test eax, eax
je 0x41c1e7
xor esi, esi
jmp 0x41c235
push 0x104
push esi
push str.Microsoft
push esi
call fcn.0048f340
push 0x104
push esi
push str.Internet_Explorer
push esi
call fcn.0048f340
push 0x104
push esi
push str.Quick_Launch
push esi
call fcn.0048f340
add esp, 0x30
mov esi, 1
jmp 0x41c235
push dword [ebp - 0x38]
push esi
push dword [ebp - 0x3c]
call fcn.0041c930
add esp, 0x10
mov esi, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.004873e0
mov eax, esi
jmp 0x41c24a
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00507257
mov esp, ebp
pop ebp
ret