Function at 0x1002b708
Capabilities:
Get common file path

Disassembly:
push 8
mov eax, 0x1007c239
call fcn.10063ebe
xor esi, esi
cmp edi, esi
je 0x1002ba56
cmp dword [ebp + 8], esi
je 0x1002ba56
push dword [ebp + 8]
lea eax, [ebp - 0x10]
push eax
call fcn.10006f91
pop ecx
pop ecx
push 0x22
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 4], esi
call fcn.10015f40
push str.ADMINTOOLS
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b75c
push 0x30
jmp 0x1002ba0a
push str.APPDATA
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b775
push 0x1a
jmp 0x1002ba0a
push str.COMMON_ADMINTOOLS
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b78e
push 0x2f
jmp 0x1002ba0a
push str.COMMON_APPDATA
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b7a7
push 0x23
jmp 0x1002ba0a
push str.COMMON_DOCUMENTS
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b7c0
push 0x2e
jmp 0x1002ba0a
push str.COOKIES
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b7d9
push 0x21
jmp 0x1002ba0a
push str.FLAG_CREATE
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b7f5
mov eax, 0x8000
jmp 0x1002ba0b
push str.FLAG_DONT_VERIFY
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b811
mov eax, 0x4000
jmp 0x1002ba0b
push str.HISTORY
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b82a
push 0x22
jmp 0x1002ba0a
push str.INTERNET_CACHE
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b843
push 0x20
jmp 0x1002ba0a
push str.LOCAL_APPDATA
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b85c
push 0x1c
jmp 0x1002ba0a
push str.MYPICTURES
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b875
push 0x27
jmp 0x1002ba0a
push str.PERSONAL
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b88e
push 5
jmp 0x1002ba0a
push str.PROGRAM_FILES
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b8a7
push 0x26
jmp 0x1002ba0a
push str.PROGRAM_FILES_COMMON
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b8c0
push 0x2b
jmp 0x1002ba0a
push str.SYSTEM
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b8d9
push 0x25
jmp 0x1002ba0a
push str.WINDOWS
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b8f2
push 0x24
jmp 0x1002ba0a
push str.MYMUSIC
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b90b
push 0xd
jmp 0x1002ba0a
push str.MYVIDEO
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b924
push 0xe
jmp 0x1002ba0a
push str.DESKTOP
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b93d
push 0x10
jmp 0x1002ba0a
push str.TRASH
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b956
push 0xa
jmp 0x1002ba0a
push str.HOME
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b96f
push 0x28
jmp 0x1002ba0a
push str.PROGRAMS
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b988
push 2
jmp 0x1002ba0a
push str.RECENT
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b99e
push 8
jmp 0x1002ba0a
push str.START_MENU
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b9b4
push 0xb
jmp 0x1002ba0a
push str.STARTUP
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b9ca
push 7
jmp 0x1002ba0a
push str.PROGRAM_FILES_X86
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b9e0
push 0x2a
jmp 0x1002ba0a
push str.PROGRAM_FILES_COMMON_X86
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002b9f6
push 0x2c
jmp 0x1002ba0a
push str.SYSTEM_X86
lea eax, [ebp - 0x10]
push eax
call fcn.10008939
test eax, eax
jne 0x1002ba33
push 0x29
pop eax
push edi
push esi
push esi
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
je 0x1002ba24
xor eax, eax
xor esi, esi
mov word [edi], ax
inc esi
jmp 0x1002ba47
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.100029ea
xor eax, eax
jmp 0x1002ba59
push dword [ebp + 8]
mov ecx, edi
call fcn.1002ab4a
pop ecx
xor ecx, ecx
test al, al
sete cl
mov esi, ecx
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.100029ea
mov eax, esi
jmp 0x1002ba59
xor eax, eax
inc eax
call fcn.10063f96
ret