Function at 0x401000
Capabilities:
Identify system language via api
Read .ini file

Disassembly:
mov eax, 0x3824
call fcn.00401b90
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x3838]
lea eax, [esp + 0x324]
push 0x104
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x220]
lea edx, [esp + 0x324]
push ecx
push edx
call fcn.00401600
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 8
test eax, eax
jne 0x401081
lea eax, [esp + 0x220]
lea ecx, [esp + 0x11c]
push eax
push ecx
call esi
lea edx, [esp + 0x11c]
push str.stagedisk.label
push edx
call ebx
lea eax, [esp + 0x220]
lea ecx, [esp + 0x18]
push eax
push ecx
call esi
lea edx, [esp + 0x11c]
lea eax, [esp + 0x10]
push edx
push 3
push eax
push 0x407140
push str.Number
push str.General
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x4010b5
lea ecx, [esp + 0x10]
push 0x407140
push ecx
call esi
lea edx, [esp + 0x10]
push 0x407140
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x4010fc
mov eax, dword [esp + 0x3840]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push edi
call fcn.004012a0
add esp, 8
neg eax
sbb eax, eax
pop edi
and eax, 0x1ff8fffc
pop esi
pop ebp
add eax, 0xe0070004
pop ebx
add esp, 0x3824
ret 0x10
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x82c]
push str.You_have_inserted_Disk__s._n_nTo_run_the_installer_and_install_products_off_of_this_CD__you_must_first_insert_Disk_1_and_invoke_the_installer_from_there.__The_installer_will_prompt_you_to_insert_this_CD_when_needed.
push edx
call ebp
lea eax, [esp + 0x20]
push eax
call fcn.004014e0
lea ecx, [esp + 0x24]
lea edx, [esp + 0x438]
push ecx
push str.install_setup_s.dll
push edx
call ebp
add esp, 0x1c
test eax, eax
jne 0x40115d
lea eax, [esp + 0x828]
push eax
call fcn.004014c0
add esp, 4
mov eax, 0xe0070003
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3824
ret 0x10
lea ecx, [esp + 0x428]
lea edx, [esp + 0x18]
push ecx
push edx
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea eax, [esp + 0x18]
push eax
call edi
mov esi, eax
test esi, esi
jne 0x4011f8
lea ecx, [esp + 0x428]
push str.install_setupus.dll
push ecx
call ebp
add esp, 8
test eax, eax
jne 0x4011b7
lea edx, [esp + 0x828]
push edx
call fcn.004014c0
add esp, 4
mov eax, 0xe0070003
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3824
ret 0x10
lea eax, [esp + 0x428]
lea ecx, [esp + 0x18]
push eax
push ecx
call ebx
lea edx, [esp + 0x428]
push edx
call edi
mov esi, eax
test esi, esi
jne 0x4011f8
lea eax, [esp + 0x828]
push eax
call fcn.004014c0
add esp, 4
mov eax, 0xe0070001
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3824
ret 0x10
lea ecx, [esp + 0x182c]
push 0x1001
push ecx
push 1
push esi
call dword [sym.imp.USER32.dll_LoadStringA]
test eax, eax
jne 0x401234
lea edx, [esp + 0x828]
push edx
call fcn.004014c0
add esp, 4
mov eax, 0xe0070002
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3824
ret 0x10
lea eax, [esp + 0x10]
lea ecx, [esp + 0x182c]
push eax
lea edx, [esp + 0x2834]
push ecx
push edx
call ebp
add esp, 0xc
test eax, eax
jne 0x401274
lea eax, [esp + 0x828]
push eax
call fcn.004014c0
add esp, 4
mov eax, 0xe0070003
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3824
ret 0x10
lea ecx, [esp + 0x2830]
push ecx
call fcn.004014c0
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3824
ret 0x10