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

Disassembly:
mov eax, 0x43e550
call fcn.0041e498
sub esp, 0x13c
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x44], ebx
call fcn.0040239b
and dword [ebp - 4], 0
lea edi, [ebx + 0x180]
mov ecx, edi
call fcn.00403987
lea ecx, [ebx + 0x244]
call fcn.0043777c
lea ecx, [ebx + 0x258]
mov byte [ebp - 4], 1
call fcn.0043777c
lea ecx, [ebx + 0x26c]
mov byte [ebp - 4], 2
call fcn.0040397c
lea ecx, [ebx + 0x270]
mov byte [ebp - 4], 3
call fcn.0040397c
lea eax, [ebp - 0x19]
lea ecx, [ebx + 0x274]
push eax
mov byte [ebp - 4], 4
call fcn.00418625
lea eax, [ebp - 0x21]
lea ecx, [ebx + 0x284]
push eax
mov byte [ebp - 4], 5
call fcn.00418625
lea eax, [ebp - 0x19]
lea ecx, [ebx + 0x294]
push eax
mov byte [ebp - 4], 6
call fcn.00418625
lea ecx, [ebx + 0x2ac]
mov byte [ebp - 4], 7
call fcn.0043871c
lea ecx, [ebx + 0x2c4]
mov byte [ebp - 4], 8
call fcn.00403987
push fcn.00403987
push 0x14
lea eax, [ebx + 0x310]
push 0x10
push eax
call fcn.004117f5
push 0xffffffffffffffff
mov eax, 0x3ffc
push 0xffffffffffffffff
push eax
push eax
lea ecx, [ebp - 0x38]
mov dword [ebx], method.CWnd.virtual_0
call fcn.004021a8
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
mov dword [ebx + 0x1a8], 1
mov dword [ebx + 0x2a4], esi
mov dword [ebx + 0x2a8], esi
mov dword [ebx + 0x2bc], esi
mov dword [ebx + 0x2c0], esi
mov dword [ebx + 0x2f8], esi
call fcn.004016a6
mov ecx, eax
call fcn.00401702
mov ecx, dword [eax + 0x384]
fild dword [eax + 0x38c]
mov dword [ebx + 0x2c8], ecx
mov ecx, dword [eax + 0x388]
push 0x41
mov dword [ebx + 0x2cc], ecx
fstp dword [ebx + 0x2d0]
fild dword [eax + 0x390]
pop ecx
xor eax, eax
lea edi, [ebp - 0x148]
fstp dword [ebx + 0x2d4]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x148]
push eax
push esi
push esi
push 0x8005
push esi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea edi, [ebp - 0x148]
or ecx, 0xffffffff
xor eax, eax
push 5
repne scasb al, byte es:[edi]
pop ecx
dec edi
mov esi, 0x45086c
lea eax, [ebp - 0x148]
push 0x450880
push eax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrcatA]
xor esi, esi
lea eax, [ebp - 0x148]
push esi
push eax
call fcn.0041f312
pop ecx
cmp eax, 0xffffffff
pop ecx
je 0x4146d0
lea ecx, [ebp - 0x3c]
call fcn.0043777c
push esi
lea eax, [ebp - 0x148]
push esi
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 9
call fcn.004377f1
lea ecx, [ebp - 0x14]
call fcn.0040397c
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0xa
call fcn.004379d4
lea ecx, [ebp - 0x14]
call fcn.00401751
push eax
call fcn.0041ed3b
mov dword [ebx + 0x2c8], eax
pop ecx
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x3c]
push eax
call fcn.004379d4
lea ecx, [ebp - 0x14]
call fcn.00401751
push eax
call fcn.0041ed3b
mov dword [ebx + 0x2cc], eax
pop ecx
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x3c]
push eax
call fcn.004379d4
lea ecx, [ebp - 0x14]
call fcn.00401751
push eax
call fcn.0041f2bb
fstp dword [ebx + 0x2d0]
pop ecx
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x3c]
call fcn.004379d4
lea ecx, [ebp - 0x14]
call fcn.00401751
push eax
call fcn.0041f2bb
fstp dword [ebx + 0x2d4]
pop ecx
lea ecx, [ebp - 0x3c]
call fcn.00437b21
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 9
call fcn.00435f75
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call fcn.004377ae
mov edi, dword [ebx + 0x2cc]
mov esi, dword [ebx + 0x2c8]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18], esi
fild dword [ebp - 0x10]
mov dword [ebx + 0x2d8], esi
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fadd dword [ebx + 0x2d4]
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
call fcn.0041eadc
fild dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
mov dword [ebx + 0x2dc], eax
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
fadd dword [ebx + 0x2d0]
call fcn.0041eadc
fld dword [ebx + 0x2d0]
fmul qword [0x4435a8]
mov dword [ebx + 0x2e4], edi
xor edi, edi
mov dword [ebx + 0x2e0], eax
mov dword [ebx + 0x308], edi
mov dword [ebx + 0x30c], edi
fstp dword [ebp - 0x20]
fld dword [ebp - 0x10]
fld dword [ebx + 0x2d4]
fmul qword [0x4435a0]
fsubp st(1)
call fcn.0041eadc
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], edi
mov esi, dword [ebp - 0x18]
fld dword [ebp - 0x20]
test esi, esi
jne 0x41479c
fmul dword [0x443598]
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fadd dword [ebp - 0x10]
call fcn.0041eadc
fld dword [ebp - 0x20]
fmul dword [0x443594]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fadd dword [ebp - 0x10]
jmp 0x4147c5
fmul dword [0x443590]
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fadd dword [ebp - 0x10]
call fcn.0041eadc
fld dword [ebp - 0x20]
fmul dword [0x443594]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fadd dword [ebp - 0x10]
call fcn.0041eadc
push dword [ebp - 0x40]
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x10], eax
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x14]
call fcn.004021a8
lea edi, [esi + 0x31]
mov esi, eax
shl edi, 4
add edi, ebx
inc dword [ebp - 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x18], 8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x14], eax
jl 0x414767
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, ebx
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret