Function at 0x1003189a
Capabilities:
Get common file path

Disassembly:
push 8
mov eax, 0x10081254
call fcn.1006a09e
xor esi, esi
cmp edi, esi
je 0x10031be8
cmp dword [ebp + 8], esi
je 0x10031be8
push dword [ebp + 8]
lea eax, [ebp - 0x10]
push eax
call fcn.1000724e
pop ecx
pop ecx
push 0x22
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 4], esi
call fcn.1000d6e1
push str.ADMINTOOLS
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x100318ee
push 0x30
jmp 0x10031b9c
push str.APPDATA
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031907
push 0x1a
jmp 0x10031b9c
push str.COMMON_ADMINTOOLS
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031920
push 0x2f
jmp 0x10031b9c
push str.COMMON_APPDATA
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031939
push 0x23
jmp 0x10031b9c
push str.COMMON_DOCUMENTS
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031952
push 0x2e
jmp 0x10031b9c
push str.COOKIES
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x1003196b
push 0x21
jmp 0x10031b9c
push str.FLAG_CREATE
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031987
mov eax, 0x8000
jmp 0x10031b9d
push str.FLAG_DONT_VERIFY
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x100319a3
mov eax, 0x4000
jmp 0x10031b9d
push str.HISTORY
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x100319bc
push 0x22
jmp 0x10031b9c
push str.INTERNET_CACHE
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x100319d5
push 0x20
jmp 0x10031b9c
push str.LOCAL_APPDATA
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x100319ee
push 0x1c
jmp 0x10031b9c
push str.MYPICTURES
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031a07
push 0x27
jmp 0x10031b9c
push str.PERSONAL
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031a20
push 5
jmp 0x10031b9c
push str.PROGRAM_FILES
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031a39
push 0x26
jmp 0x10031b9c
push str.PROGRAM_FILES_COMMON
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031a52
push 0x2b
jmp 0x10031b9c
push str.SYSTEM
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031a6b
push 0x25
jmp 0x10031b9c
push str.WINDOWS
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031a84
push 0x24
jmp 0x10031b9c
push str.MYMUSIC
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031a9d
push 0xd
jmp 0x10031b9c
push str.MYVIDEO
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031ab6
push 0xe
jmp 0x10031b9c
push str.DESKTOP
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031acf
push 0x10
jmp 0x10031b9c
push str.TRASH
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031ae8
push 0xa
jmp 0x10031b9c
push str.HOME
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031b01
push 0x28
jmp 0x10031b9c
push str.PROGRAMS
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031b1a
push 2
jmp 0x10031b9c
push str.RECENT
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031b30
push 8
jmp 0x10031b9c
push str.START_MENU
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031b46
push 0xb
jmp 0x10031b9c
push str.STARTUP
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031b5c
push 7
jmp 0x10031b9c
push str.PROGRAM_FILES_X86
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031b72
push 0x2a
jmp 0x10031b9c
push str.PROGRAM_FILES_COMMON_X86
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031b88
push 0x2c
jmp 0x10031b9c
push str.SYSTEM_X86
lea eax, [ebp - 0x10]
push eax
call fcn.1000a687
test eax, eax
jne 0x10031bc5
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 0x10031bb6
xor eax, eax
xor esi, esi
mov word [edi], ax
inc esi
jmp 0x10031bd9
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.10002b29
xor eax, eax
jmp 0x10031beb
push dword [ebp + 8]
mov ecx, edi
call fcn.10030cda
pop ecx
xor ecx, ecx
test al, al
sete cl
mov esi, ecx
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
call fcn.10002b29
mov eax, esi
jmp 0x10031beb
xor eax, eax
inc eax
call fcn.1006a176
ret