Function at 0x44a5a0
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48f294
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x33c0
call fcn.0046b3f0
push esi
push edi
mov eax, dword [0x4b441c]
and eax, 1
jne 0x44a602
mov ecx, dword [0x4b441c]
or ecx, 1
mov dword [0x4b441c], ecx
mov dword [ebp - 4], 0
mov ecx, 0x4b43fc
call fcn.0042c460
push 0x490920
call fcn.0046d68d
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, 0x4b43fc
call fcn.0040d520
mov dl, byte [0x498f31]
mov byte [ebp - 0x114], dl
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x113]
rep stosd dword es:[edi], eax
push 0x105
lea eax, [ebp - 0x114]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
lea ecx, [ebp - 0x114]
push ecx
call fcn.0046d460
add esp, 8
mov byte [eax], 0
mov dl, byte [0x498f32]
mov byte [ebp - 0x1224], dl
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x1223]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x114]
push eax
push 0x498f34
lea ecx, [ebp - 0x1224]
push ecx
call fcn.0046b198
add esp, 0xc
mov dl, byte [0x498f43]
mov byte [ebp - 0x2a34], dl
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x2a33]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x1224]
push eax
push 0x400
lea ecx, [ebp - 0x2634]
push ecx
push 0x498f44
push str.RegCode
push 0x498f50
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x1224]
push edx
push 0x400
lea eax, [ebp - 0x2ea4]
push eax
push 0x498f57
push 0x498f58
push 0x498f64
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x498f6c
lea ecx, [ebp - 0x2634]
push ecx
call fcn.0042c730
add esp, 8
push 0x498f70
lea edx, [ebp - 0x2ea4]
push edx
call fcn.0042c730
add esp, 8
lea eax, [ebp - 0x2ea4]
push eax
lea ecx, [ebp - 0x2634]
push ecx
call fcn.00449910
add esp, 8
mov dword [0x4b43bc], eax
push 0x498f74
call fcn.0046b430
add esp, 4
push eax
push str.Bondevik
lea edx, [ebp - 0x2ea4]
push edx
call fcn.0046dee1
add esp, 0xc
test eax, eax
jne 0x44a766
mov dword [0x4b43bc], 3
cmp dword [0x4b43bc], 0
je 0x44a8de
movsx eax, byte [ebp - 0x2e9f]
cmp eax, 0x30
jne 0x44a8de
mov byte [ebp - 0x2e98], 0
mov cl, byte [0x498f89]
mov byte [ebp - 0x2fbc], cl
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x2fbb]
rep stosd dword es:[edi], eax
push 0x104
lea edx, [ebp - 0x2fbc]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push str.Win.ini
lea eax, [ebp - 0x2fbc]
push eax
call fcn.0046b270
add esp, 8
lea ecx, [ebp - 0x2fbc]
push ecx
push 0
lea edx, [ebp - 0x2ea4]
push edx
push 0x498f98
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x2fcc], eax
lea eax, [ebp - 0x2eb4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0xffffffffffffffff
lea ecx, [ebp - 0x2eb4]
push ecx
lea ecx, [ebp - 0x2fc4]
call fcn.00443360
lea ecx, [ebp - 0x2fc4]
call fcn.0044bdc0
mov esi, eax
imul esi, esi, 0x16d
lea ecx, [ebp - 0x2fc4]
call fcn.0044be00
imul eax, eax, 0x1e
add esi, eax
lea ecx, [ebp - 0x2fc4]
call fcn.0044be40
add esi, eax
mov dword [ebp - 0x2fc8], esi
cmp dword [ebp - 0x2fcc], 0
jne 0x44a8a7
mov dl, byte [0x498fa0]
mov byte [ebp - 0x33cc], dl
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x33cb]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp - 0x2fc8]
push eax
push 0x498fa4
lea ecx, [ebp - 0x33cc]
push ecx
call fcn.0046b198
add esp, 0xc
lea edx, [ebp - 0x2fbc]
push edx
lea eax, [ebp - 0x33cc]
push eax
lea ecx, [ebp - 0x2ea4]
push ecx
push str.Product
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x44a8de
mov edx, dword [ebp - 0x2fc8]
sub edx, dword [ebp - 0x2fcc]
js 0x44a8d4
mov esi, dword [ebp - 0x2fc8]
sub esi, dword [ebp - 0x2fcc]
lea eax, [ebp - 0x2e9a]
push eax
call fcn.0046c429
add esp, 4
cmp esi, eax
jl 0x44a8de
mov dword [0x4b43bc], 0
mov byte [ebp - 0x2a9c], 0x43
mov byte [ebp - 0x2a9b], 0x43
mov byte [ebp - 0x2a9a], 0x50
mov byte [ebp - 0x2a99], 0x72
mov byte [ebp - 0x2a98], 0x6f
mov byte [ebp - 0x2a97], 0x78
mov byte [ebp - 0x2a96], 0x79
mov byte [ebp - 0x2a95], 0
push 0x498fb0
lea ecx, [ebp - 0x2a9c]
push ecx
call fcn.0046b270
add esp, 8
mov dl, byte [0x498fb2]
mov byte [ebp - 0x222c], dl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x222b]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x222c]
push eax
push 0x498fb4
call fcn.00410480
add esp, 8
lea ecx, [ebp - 0x222c]
push ecx
lea edx, [ebp - 0x2a9c]
push edx
call fcn.0046b270
add esp, 8
mov al, byte [0x498fb9]
mov byte [ebp - 0x111c], al
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x111b]
rep stosd dword es:[edi], eax
cmp dword [0x4b43bc], 0
je 0x44a9c5
lea ecx, [ebp - 0x111c]
push ecx
push 0x498fbc
call fcn.00410480
add esp, 8
lea edx, [ebp - 0x2a9c]
push edx
lea eax, [ebp - 0x111c]
push eax
lea ecx, [ebp - 0x2a34]
push ecx
call fcn.0046b198
add esp, 0xc
jmp 0x44a9f6
lea edx, [ebp - 0x111c]
push edx
push str._s_Demo_version_only_supports_3_users_
call fcn.00410480
add esp, 8
lea eax, [ebp - 0x2a9c]
push eax
lea ecx, [ebp - 0x111c]
push ecx
lea edx, [ebp - 0x2a34]
push edx
call fcn.0046b198
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x44aa2d
push 0
push 0x401
lea eax, [ebp - 0x2a34]
push eax
push 0xf
mov ecx, 0x4b3758
call fcn.0042c320
push 0
push 4
push 0x4b43bc
push 0x14
mov ecx, 0x4b3758
call fcn.0042c320
jmp 0x44aa48
lea ecx, [ebp - 0x2a34]
push ecx
push 0
push 0x498fe8
call dword [sym.imp.USER32.dll_FindWindowA]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, 0x4b43fc
call fcn.0042c5f0
mov eax, dword [0x4b43bc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret