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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55a522
mov eax, dword fs:[0]
push eax
sub esp, 0xae8
mov eax, dword [0x61308c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xad8], ecx
cmp dword [ecx + 4], 0
je 0x44a02d
movaps xmm0, xmmword [0x5dd540]
lea esi, [ebp - 0xa78]
movups xmmword [ebp - 0xa7c], xmm0
xor ebx, ebx
mov dword [ebp - 0xa4c], 8
movaps xmm0, xmmword [0x5dd550]
movups xmmword [ebp - 0xa6c], xmm0
mov dword [ebp - 0xa48], 0xc
movaps xmm0, xmmword [0x5dd570]
movups xmmword [ebp - 0xa5c], xmm0
mov dword [ebp - 0xa44], 0x3c
xorps xmm0, xmm0
mov dword [ebp - 0xa40], 0
movq qword [ebp - 0xa3c], xmm0
mov dword [ebp - 0xac0], esi
nop dword [eax]
mov ecx, dword [ecx + 4]
mov ecx, dword [ebx + ecx]
call fcn.0044a050
mov dword [ebp + ebx - 0xa40], eax
test eax, eax
je 0x44a02d
mov ecx, dword [eax + 8]
mov dword [eax + 8], 0
test ecx, ecx
jne 0x44a02d
mov dword [ebp - 0xacc], ecx
lea ecx, [ebp - 0xacc]
push ecx
push dword [eax + 4]
call dword [sym.imp.gdiplus.dll_GdipGetImageGraphicsContext]
mov dword [ebp - 0xac4], eax
mov edi, dword [ebp - 0xacc]
mov dword [ebp - 0xad4], edi
mov dword [ebp - 0xac8], edi
mov dword [ebp - 4], 0
lea eax, [ebp - 0x424]
push 0x208
push 0
push eax
call fcn.0052d340
add esp, 0xc
lea eax, [ebp - 0x424]
push dword [ebp + 8]
push 0x59823c
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
cmp dword [ebp + 8], 0
jbe 0x449d19
cvttss2si eax, dword [esi + 8]
mov dword [ebp - 0xaec], 0
mov dword [ebp - 0xaf4], 0
mov dword [ebp - 0xaf0], 0
mov dword [ebp - method.Gdiplus::Brush.virtual_0], vtable.Gdiplus::Brush.0
mov dword [ebp - 0xadc], 6
mov dword [ebp - 0xae8], eax
mov byte [ebp - 4], 1
lea eax, [ebp - 0xad0]
push eax
push 0
push 0xffe31a1a
push 0xfffab4b4
lea eax, [ebp - 0xaec]
mov dword [ebp - 0xae4], 0x5d8410
push eax
lea eax, [ebp - 0xaf4]
mov dword [ebp - 0xad0], 0
push eax
call dword [sym.imp.gdiplus.dll_GdipCreateLineBrushI]
mov edi, dword [ebp - 0xad0]
mov dword [ebp - 0xadc], eax
mov dword [ebp - 0xae0], edi
mov byte [ebp - 4], 2
push 2
push dword [ebp - 0xad4]
call dword [sym.imp.gdiplus.dll_GdipSetSmoothingMode]
mov ecx, dword [ebp - 0xac4]
test eax, eax
cmovne ecx, eax
mov eax, dword [ebp - 0xac0]
mov dword [ebp - 0xac4], ecx
lea esi, [eax - 4]
movss xmm0, dword [esi]
sub esp, 0x10
addss xmm0, dword [0x5dd460]
movss dword [esi], xmm0
movss xmm0, dword [eax]
addss xmm0, dword [0x5dd460]
movss dword [eax], xmm0
movss xmm3, dword [eax + 4]
movss xmm1, dword [eax + 8]
subss xmm3, dword [0x5dd464]
subss xmm1, dword [0x5dd464]
movss dword [eax + 4], xmm3
movss dword [esp + 0xc], xmm1
movss dword [eax + 8], xmm1
movss xmm0, dword [eax]
movss xmm2, dword [esi]
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm0
movss dword [esp], xmm2
push edi
push dword [ebp - 0xad4]
call dword [sym.imp.gdiplus.dll_GdipFillEllipse]
mov ecx, dword [ebp - 0xac4]
test eax, eax
cmovne ecx, eax
sub esp, 8
lea eax, [ebp - 0x424]
mov dword [ebp - 0xac4], ecx
push dword [ebp + ebx - 0xa4c]
sub esp, 8
push esi
push eax
lea eax, [ebp - 0xac8]
push eax
call fcn.004498f0
mov byte [ebp - 4], 0
push edi
mov dword [ebp - method.Gdiplus::Brush.virtual_0], vtable.Gdiplus::Brush.0
call dword [sym.imp.gdiplus.dll_GdipDeleteBrush]
mov edi, dword [ebp - 0xac8]
mov esi, dword [ebp - 0xac0]
mov dword [ebp - 4], 0xffffffff
push edi
call dword [sym.imp.gdiplus.dll_GdipDeleteGraphics]
mov ecx, dword [ebp - 0xad8]
add esi, 0x10
add ebx, 4
mov dword [ebp - 0xac0], esi
cmp ebx, 0xc
jl 0x449b00
push 0x208
lea eax, [ebp - 0x21c]
push 0
push eax
call fcn.0052d340
add esp, 0xc
lea eax, [ebp - 0x62c]
push 0x208
push 0
push eax
call fcn.0052d340
add esp, 0xc
lea eax, [ebp - 0xa34]
push 0
push 0x1a
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
xor eax, eax
mov dword [ebp - 0xa9c], 0
mov dword [ebp - 0xa98], 0
mov dword [ebp - 0xa98], 7
mov dword [ebp - 0xa9c], 0
mov word [ebp - 0xaac], ax
mov dword [ebp - 4], 4
cmp word [ebp - 0xa34], ax
jne 0x449dc6
xor ecx, ecx
jmp 0x449ddf
lea ecx, [ebp - 0xa34]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x449dd0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0xa34]
push eax
lea ecx, [ebp - 0xaac]
call fcn.00404d30
push 1
push 0x598250
lea ecx, [ebp - 0xaac]
call fcn.00406f60
push 0xc
push 0x598254
lea ecx, [ebp - 0xaac]
call fcn.00406f60
push 9
push str.IconDir_
lea ecx, [ebp - 0xaac]
call fcn.00406f60
cmp dword [ebp - 0xa98], 8
lea ecx, [ebp - 0xaac]
cmovae ecx, dword [ebp - 0xaac]
call fcn.004066e0
xor eax, eax
mov dword [ebp - 0xa84], 0
push 0xffffffffffffffff
push eax
mov word [ebp - 0xa94], ax
lea ecx, [ebp - 0xa94]
lea eax, [ebp - 0xaac]
mov dword [ebp - 0xa80], 0
push eax
mov dword [ebp - 0xa80], 7
mov dword [ebp - 0xa84], 0
call fcn.004048d0
mov byte [ebp - 4], 5
lea eax, [ebp - 0xa94]
cmp dword [ebp - 0xa80], 8
cmovae eax, dword [ebp - 0xa94]
push eax
call fcn.004496e0
lea eax, [ebp - 0xabc]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0xab0]
push eax
movzx eax, word [ebp - 0xab2]
push eax
movzx eax, word [ebp - 0xab4]
push eax
movzx eax, word [ebp - 0xab6]
push eax
movzx eax, word [ebp - 0xaba]
push eax
movzx eax, word [ebp - 0xabc]
push eax
lea eax, [ebp - 0x21c]
push str._d_d_d_d_d_d.ico
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x20
cmp word [ebp - 0x21c], 0
jne 0x449f05
xor ecx, ecx
jmp 0x449f1f
lea ecx, [ebp - 0x21c]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x449f10
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0xa94]
call fcn.00406f60
push 0x104
lea eax, [ebp - 0x62c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp dword [ebp - 0xa80], 8
lea eax, [ebp - 0xa94]
push ecx
cmovae eax, dword [ebp - 0xa94]
push eax
lea eax, [ebp - 0xa40]
push eax
mov eax, dword [ebp - 0xad8]
push dword [eax + 4]
call fcn.00448b10
cmp dword [ebp - 0xa80], 8
lea eax, [ebp - 0xa94]
cmovae eax, dword [ebp - 0xa94]
push eax
push ecx
lea eax, [ebp - 0x62c]
push eax
call fcn.004494a0
xor esi, esi
mov ecx, dword [ebp + esi*4 - 0xa40]
test ecx, ecx
je 0x449fa6
mov eax, dword [ecx]
push 5
call dword [eax]
inc esi
cmp esi, 3
jl 0x449f95
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0xa80]
cmp eax, 8
jb 0x449fce
inc eax
lea ecx, [ebp - 0xa94]
push eax
push dword [ebp - 0xa94]
call fcn.00404be0
xor eax, eax
mov dword [ebp - 0xa80], 7
mov dword [ebp - 0xa84], 0
mov word [ebp - 0xa94], ax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xa98]
cmp eax, 8
jb 0x44a010
inc eax
lea ecx, [ebp - 0xaac]
push eax
push dword [ebp - 0xaac]
call fcn.00404be0
xor eax, eax
mov dword [ebp - 0xa98], 7
mov dword [ebp - 0xa9c], 0
mov word [ebp - 0xaac], ax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005120a1
mov esp, ebp
pop ebp
ret 4