Function at 0x1020229
Capabilities:
Get common file path
Get startup folder

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x480
mov eax, dword [0x1076530]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 1
push 0x3dd
push 0x100399c
lea ecx, [ebp - 0x460]
mov dword [ebp - 0x43c], eax
call fcn.01055826
xor eax, eax
mov edi, 0x206
push edi
mov word [ebp - 0x20c], ax
xor esi, esi
lea eax, [ebp - 0x20a]
push esi
push eax
call sub.msvcrt.dll_memset
xor eax, eax
push edi
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0x18
push 7
mov eax, 0x1010420
pop ecx
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x42c], eax
xor eax, eax
mov dword [ebp - 0x480], esi
lea edi, [ebp - 0x47c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x420], esi
lea edi, [ebp - 0x41c]
stosd dword es:[edi], eax
mov edi, dword [ebp + 0x10]
lea eax, [ebp - 0x418]
push eax
push edi
push esi
mov dword [ebp - 0x434], esi
mov dword [ebp - 0x430], esi
mov dword [ebp - 0x428], esi
mov dword [ebp - 0x424], esi
mov dword [ebp - 0x418], esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov dword [ebp - 0x460], eax
cmp eax, esi
mov eax, 0x3e8
jge 0x1020318
mov word [ebp - 0x45a], ax
jmp 0x1020461
push 0x104
mov word [ebp - 0x45c], ax
lea eax, [ebp - 0x414]
push eax
push dword [ebp + 0xc]
push ebx
call fcn.01061581
mov dword [ebp - 0x460], eax
cmp eax, esi
mov eax, 0x3ed
jl 0x102030c
push dword [ebp + 0x14]
mov edx, dword [0x1077408]
lea ecx, [ebp - 0x438]
mov word [ebp - 0x45c], ax
call fcn.0106478e
mov dword [ebp - 0x460], eax
cmp eax, esi
mov eax, 0x3f2
jl 0x102030c
mov word [ebp - 0x45c], ax
lea eax, [ebp - 0x414]
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x418]
mov dword [ebp - 0x47c], eax
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x478], eax
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x474], eax
lea eax, [ebp - 0x420]
mov dword [ebp - 0x468], eax
lea eax, [ebp - 0x480]
push eax
mov dword [ebp - 0x41c], edi
mov dword [ebp - 0x480], ebx
mov dword [ebp - 0x470], 0x260
mov dword [ebp - 0x46c], 0x101501f
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
mov edi, eax
cmp edi, esi
je 0x1020461
lea eax, [ebp - 0x20c]
push eax
push edi
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
test eax, eax
je 0x102045a
lea edx, [ebp - 0x20c]
lea ecx, [ebp - 0x42c]
call fcn.0106470b
mov dword [ebp - 0x460], eax
cmp eax, esi
mov eax, 0x403
jl 0x102030c
push 0x5c
pop edx
lea ecx, [ebp - 0x42c]
mov word [ebp - 0x45c], ax
call fcn.0106469a
mov dword [ebp - 0x460], eax
cmp eax, esi
mov eax, 0x404
jl 0x102030c
push dword [ebp - 0x42c]
mov word [ebp - 0x45c], ax
push dword [ebp - 0x43c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push edi
call dword [sym.imp.SHELL32.dll_ILFree]
cmp dword [ebp - 0x418], esi
je 0x1020475
push dword [ebp - 0x418]
call dword [sym.imp.SHELL32.dll_ILFree]
mov esi, dword [ebp - 0x460]
lea ecx, [ebp - 0x42c]
call fcn.010635b3
lea ecx, [ebp - 0x438]
call fcn.010635b3
lea ecx, [ebp - 0x460]
call fcn.01055a3c
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.01054fa7
leave
ret 0x14