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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x33b0
call fcn.00465440
push esi
push edi
mov al, byte [0x4b0310]
mov byte [ebp - 0x150c], al
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x150b]
rep stosd dword es:[edi], eax
push 0x105
lea ecx, [ebp - 0x150c]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
lea edx, [ebp - 0x150c]
push edx
call fcn.00466be0
add esp, 8
mov byte [eax], 0
mov al, byte [0x4b0314]
mov byte [ebp - 0x2e84], al
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x2e83]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x150c]
push ecx
push 0x4a923c
lea edx, [ebp - 0x2e84]
push edx
call fcn.004650e4
add esp, 0xc
mov al, byte [0x4b0318]
mov byte [ebp - 0x1404], al
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x1403]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea ecx, [ebp - 0x2e84]
push ecx
push 0x400
lea edx, [ebp - 0x1d14]
push edx
push 0x4b031c
push str.RegCode
push 0x4a9254
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x2e84]
push eax
push 0x400
lea ecx, [ebp - 0x1910]
push ecx
push 0x4b0320
push 0x4a925c
push 0x4a9268
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x4a9270
lea edx, [ebp - 0x1d14]
push edx
call fcn.00404260
add esp, 8
push 0x4a9274
lea eax, [ebp - 0x1910]
push eax
call fcn.00404260
add esp, 8
mov eax, 0x1000
xor ecx, ecx
jmp 0x446cac
mov dword [0x4af6fc], eax
push 0x4a9278
call fcn.00465470
add esp, 4
push eax
push str.Bondevik
lea eax, [ebp - 0x1910]
push eax
call fcn.004681f0
add esp, 0xc
test eax, eax
jne 0x446ce1
mov dword [0x4af6fc], 3
cmp dword [0x4af6fc], 0
je 0x446e5a
movsx ecx, byte [ebp - 0x190b]
cmp ecx, 0x30
jne 0x446e5a
mov byte [ebp - 0x1904], 0
mov dl, byte [0x4b0324]
mov byte [ebp - 0x2fa0], dl
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x2f9f]
rep stosd dword es:[edi], eax
push 0x104
lea eax, [ebp - 0x2fa0]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push str.Win.ini
lea ecx, [ebp - 0x2fa0]
push ecx
call fcn.00465360
add esp, 8
lea edx, [ebp - 0x2fa0]
push edx
push 0
lea eax, [ebp - 0x1910]
push eax
push 0x4a929c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x2fa4], eax
lea ecx, [ebp - 0x2e98]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0xffffffffffffffff
lea edx, [ebp - 0x2e98]
push edx
lea ecx, [ebp - 0x2e88]
call fcn.0047b4a4
lea ecx, [ebp - 0x2e88]
call fcn.00448720
mov esi, eax
imul esi, esi, 0x16d
lea ecx, [ebp - 0x2e88]
call fcn.00448740
imul eax, eax, 0x1e
add esi, eax
lea ecx, [ebp - 0x2e88]
call fcn.00448760
add esi, eax
mov dword [ebp - 0x2fa8], esi
cmp dword [ebp - 0x2fa4], 0
jne 0x446e21
mov al, byte [0x4b0328]
mov byte [ebp - 0x33a8], al
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x33a7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, dword [ebp - 0x2fa8]
push ecx
push 0x4a92a4
lea edx, [ebp - 0x33a8]
push edx
call fcn.004650e4
add esp, 0xc
lea eax, [ebp - 0x2fa0]
push eax
lea ecx, [ebp - 0x33a8]
push ecx
lea edx, [ebp - 0x1910]
push edx
push str.Product
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x446e5a
mov eax, dword [ebp - 0x2fa8]
sub eax, dword [ebp - 0x2fa4]
test eax, eax
jl 0x446e50
mov esi, dword [ebp - 0x2fa8]
sub esi, dword [ebp - 0x2fa4]
lea ecx, [ebp - 0x1906]
push ecx
call fcn.004659a3
add esp, 4
cmp esi, eax
jl 0x446e5a
mov dword [0x4af6fc], 0
mov byte [ebp - 0x2d7c], 0x43
mov byte [ebp - 0x2d7b], 0x43
mov byte [ebp - 0x2d7a], 0x50
mov byte [ebp - 0x2d79], 0x72
mov byte [ebp - 0x2d78], 0x6f
mov byte [ebp - 0x2d77], 0x78
mov byte [ebp - 0x2d76], 0x79
mov byte [ebp - 0x2d75], 0
push 0x4a92b0
lea edx, [ebp - 0x2d7c]
push edx
call fcn.00465360
add esp, 8
mov al, byte [0x4b032c]
mov byte [ebp - 0x2d18], al
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x2d17]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x2d18]
push ecx
push 0x8048
call fcn.0040ab20
add esp, 8
lea edx, [ebp - 0x2d18]
push edx
lea eax, [ebp - 0x2d7c]
push eax
call fcn.00465360
add esp, 8
mov cl, byte [0x4b0330]
mov byte [ebp - 0x1004], cl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x1003]
rep stosd dword es:[edi], eax
cmp dword [0x4af6fc], 0
je 0x446f3e
lea edx, [ebp - 0x1004]
push edx
push 0x7f
call fcn.0040ab20
add esp, 8
lea eax, [ebp - 0x2d7c]
push eax
lea ecx, [ebp - 0x1004]
push ecx
lea edx, [ebp - 0x1404]
push edx
call fcn.004650e4
add esp, 0xc
jmp 0x446f6f
lea eax, [ebp - 0x1004]
push eax
push 0x80
call fcn.0040ab20
add esp, 8
lea ecx, [ebp - 0x2d7c]
push ecx
lea edx, [ebp - 0x1004]
push edx
lea eax, [ebp - 0x1404]
push eax
call fcn.004650e4
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x446f91
push 0
push 0x401
lea ecx, [ebp - 0x1404]
push ecx
push 0xf
mov ecx, 0x4b0248
call fcn.004436a6
jmp 0x446fc8
call fcn.00443fe0
mov dword [ebp - 0x33ac], eax
cmp dword [ebp - 0x33ac], 0
je 0x446fc8
mov edx, dword [ebp - 0x33ac]
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x33b0], eax
lea ecx, [ebp - 0x1404]
push ecx
mov edx, dword [ebp - 0x33b0]
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [0x4af6fc]
pop edi
pop esi
mov esp, ebp
pop ebp
ret