Function at 0x401b10
Capabilities:
Read .ini file

Disassembly:
mov eax, dword [0x40c0fc]
sub esp, 0xf0
cmp eax, 1
push esi
push edi
jne 0x401e90
mov ecx, 0x14
xor eax, eax
lea edi, [esp + 8]
push str.SISPAC.INI
rep stosd dword es:[edi], eax
mov ecx, 0x14
lea edi, [esp + 0xac]
rep stosd dword es:[edi], eax
mov ecx, 0x14
lea edi, [esp + 0x5c]
rep stosd dword es:[edi], eax
push 0x40f460
mov dword [0x40c0fc], 0
call fcn.00409a20
add esp, 8
test eax, eax
jne 0x401bfb
mov eax, dword [str.PathSrvProtSispac]
mov ecx, dword [0x40c2c0]
mov edx, dword [0x40c2c4]
mov dword [esp + 8], eax
mov eax, dword [0x40c2c8]
mov dword [esp + 0xc], ecx
mov cx, word [0x40c2cc]
mov dword [esp + 0x10], edx
mov edx, dword [str.PathSispac]
mov dword [esp + 0x14], eax
mov eax, dword [0x40c064]
mov word [esp + 0x18], cx
mov cx, word [0x40c068]
mov dword [esp + 0xa8], edx
mov dl, byte [0x40c06a]
mov dword [esp + 0xac], eax
mov word [esp + 0xb0], cx
mov byte [esp + 0xb2], dl
mov eax, dword [str.Parametri]
mov ecx, dword [0x40c04c]
mov dx, word [0x40c050]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
mov word [esp + 0x60], dx
jmp 0x401d85
push str.CHECKPLUS.INI
push 0x40f460
call fcn.00409a20
add esp, 8
test eax, eax
jne 0x401c5b
mov eax, dword [str.PathSrvProt]
mov ecx, dword [0x40c2b4]
mov edx, dword [0x40c2b8]
mov dword [esp + 8], eax
mov eax, dword [str.PathCheck]
mov dword [esp + 0xc], ecx
mov ecx, dword [0x40c2a8]
mov dword [esp + 0x10], edx
mov dx, word [0x40c2ac]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov word [esp + 0xb0], dx
jmp 0x401bd7
push str.TUTTOMODELLI.INI
push 0x40f460
call fcn.00409a20
add esp, 8
test eax, eax
jne 0x401cb9
mov eax, dword [str.PathSrvProt]
mov ecx, dword [0x40c2b4]
mov edx, dword [0x40c2b8]
mov dword [esp + 8], eax
mov eax, dword [str.PathModelli]
mov dword [esp + 0xc], ecx
mov ecx, dword [0x40c288]
mov dword [esp + 0x10], edx
mov edx, dword [0x40c28c]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
jmp 0x401bd7
push str.TESEOP.INI
push 0x40f460
call fcn.00409a20
add esp, 8
test eax, eax
jne 0x401d21
mov eax, dword [str.PathSrvProt]
mov ecx, dword [0x40c2b4]
mov edx, dword [0x40c2b8]
mov dword [esp + 8], eax
mov eax, dword [str.Homedir]
mov dword [esp + 0xc], ecx
mov ecx, dword [0x40c274]
mov dword [esp + 0x10], edx
mov edx, dword [str.Pathnames]
mov dword [esp + 0xa8], eax
mov eax, dword [0x40c268]
mov dword [esp + 0xac], ecx
mov cx, word [0x40c26c]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
jmp 0x401d80
mov edx, dword [str.PathSrvProt]
mov eax, dword [0x40c2b4]
mov ecx, dword [0x40c2b8]
mov dword [esp + 8], edx
mov edx, dword [str.PathCosmo]
mov dword [esp + 0xc], eax
mov eax, dword [0x40c058]
mov dword [esp + 0x10], ecx
mov cx, word [0x40c05c]
mov dword [esp + 0xa8], edx
mov edx, dword [str.Parametri]
mov dword [esp + 0xac], eax
mov eax, dword [0x40c04c]
mov word [esp + 0xb0], cx
mov cx, word [0x40c050]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
mov word [esp + 0x60], cx
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x40f460
push 0x50
push 0x40f090
lea edx, [esp + 0x14]
push 0x40f03c
lea eax, [esp + 0x68]
push edx
push eax
call esi
test eax, eax
jne 0x401dfb
push 0x40f460
push 0x50
push 0x40f090
lea ecx, [esp + 0xb4]
push 0x40f03c
lea edx, [esp + 0x68]
push ecx
push edx
call esi
test eax, eax
jne 0x401dfb
push 0x10
push str.ERRORE_GESTIONE_PROTEZIONE
push str.Impossibile_leggere_le_informazioni_dal_file_INI
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov al, byte [0x40f03c]
pop edi
mov byte [0x40f090], al
mov eax, 0x40f090
pop esi
add esp, 0xf0
ret
push str.CHECKPLUS.INI
push 0x40f460
call fcn.00409a20
add esp, 8
test eax, eax
je 0x401e2e
push str.TUTTOMODELLI.INI
push 0x40f460
call fcn.00409a20
add esp, 8
test eax, eax
je 0x401e2e
mov edi, str.prgetc
jmp 0x401e68
push str.TUTTOMODELLI.INI
push 0x40f460
call fcn.00409a20
add esp, 8
test eax, eax
jne 0x401e90
push str.protmod
push 0x40f090
call fcn.004030b0
add esp, 4
push eax
call fcn.00403030
add esp, 8
test eax, eax
jne 0x401e90
mov edi, 0x40c200
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x40f090
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, 0x40f090
pop esi
add esp, 0xf0
ret