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

Disassembly:
mov eax, 0x443274
call fcn.00420734
sub esp, 0x13c
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x44], ebx
call fcn.00402ad4
and dword [ebp - 4], 0
lea edi, [ebx + 0x180]
mov ecx, edi
call fcn.00412b94
lea ecx, [ebx + 0x244]
call fcn.0043af18
lea ecx, [ebx + 0x258]
mov byte [ebp - 4], 1
call fcn.0043af18
lea ecx, [ebx + 0x26c]
mov byte [ebp - 4], 2
call fcn.004040e1
lea ecx, [ebx + 0x270]
mov byte [ebp - 4], 3
call fcn.004040e1
lea eax, [ebp - 0x19]
lea ecx, [ebx + 0x274]
push eax
mov byte [ebp - 4], 4
call fcn.0041a7b6
lea eax, [ebp - 0x21]
lea ecx, [ebx + 0x284]
push eax
mov byte [ebp - 4], 5
call fcn.0041a7b6
lea eax, [ebp - 0x19]
lea ecx, [ebx + 0x294]
push eax
mov byte [ebp - 4], 6
call fcn.0041a7b6
lea ecx, [ebx + 0x2ac]
mov byte [ebp - 4], 7
call fcn.0043beb8
lea ecx, [ebx + 0x2c4]
mov byte [ebp - 4], 8
call fcn.00412b94
push fcn.00412b94
push 0x14
lea eax, [ebx + 0x310]
push 0x10
push eax
call fcn.00413901
push 0xffffffffffffffff
mov eax, 0x3ffc
push 0xffffffffffffffff
push eax
push eax
lea ecx, [ebp - 0x38]
mov dword [ebx], method.CWnd.virtual_0
call fcn.00402176
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.00401674
mov ecx, eax
call fcn.004016d0
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]
push esi
fstp dword [ebx + 0x2d4]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x148]
push 0x1a
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea edi, [ebp - 0x148]
or ecx, 0xffffffff
xor eax, eax
push 5
repne scasb al, byte es:[edi]
pop ecx
dec edi
mov esi, str.HandWriterSetting_
lea eax, [ebp - 0x148]
push str.handpadtemp.ini
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.004215a4
pop ecx
cmp eax, 0xffffffff
pop ecx
je 0x41692b
lea ecx, [ebp - 0x3c]
call fcn.0043af18
push esi
lea eax, [ebp - 0x148]
push esi
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 9
call fcn.0043af8d
lea ecx, [ebp - 0x14]
call fcn.004040e1
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0xa
call fcn.0043b170
lea ecx, [ebp - 0x14]
call fcn.0040171f
push eax
call fcn.00421243
mov dword [ebx + 0x2c8], eax
pop ecx
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x3c]
push eax
call fcn.0043b170
lea ecx, [ebp - 0x14]
call fcn.0040171f
push eax
call fcn.00421243
mov dword [ebx + 0x2cc], eax
pop ecx
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x3c]
push eax
call fcn.0043b170
lea ecx, [ebp - 0x14]
call fcn.0040171f
push eax
call fcn.0042154d
fstp dword [ebx + 0x2d0]
pop ecx
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x3c]
call fcn.0043b170
lea ecx, [ebp - 0x14]
call fcn.0040171f
push eax
call fcn.0042154d
fstp dword [ebx + 0x2d4]
pop ecx
lea ecx, [ebp - 0x3c]
call fcn.0043b2bd
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 9
call fcn.00439384
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call fcn.0043af4a
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.00421070
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.00421070
fld dword [ebx + 0x2d0]
fmul qword [0x448660]
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 [0x448658]
fsubp st(1)
call fcn.00421070
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 0x4169f7
fmul dword [0x448650]
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fadd dword [ebp - 0x10]
call fcn.00421070
fld dword [ebp - 0x20]
fmul dword [0x44864c]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fadd dword [ebp - 0x10]
jmp 0x416a20
fmul dword [0x448648]
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fadd dword [ebp - 0x10]
call fcn.00421070
fld dword [ebp - 0x20]
fmul dword [0x44864c]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp dword [ebp - 0x10]
fadd dword [ebp - 0x10]
call fcn.00421070
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.00402176
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 0x4169c2
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, ebx
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret