Function at 0x40566b
Capabilities:
Identify system language via api

Disassembly:
push 0x14
mov eax, 0x42c3df
call fcn.004163ec
mov ebx, ecx
push str.Setup.ini
lea ecx, [ebp - 0x10]
call fcn.00401a21
lea eax, [ebp - 0x10]
xor edi, edi
push eax
mov ecx, ebx
mov dword [ebp - 4], edi
call fcn.0040437c
test eax, eax
jne 0x4056d7
cmp dword [ebx + 0xb0], edi
je 0x4056b9
push dword [ebp - 0x10]
lea eax, [ebx + 0xa4]
push str.Initialization:_Unable_to_locate_default_INI_file___s__file._n
push eax
call fcn.00401462
add esp, 0xc
mov ecx, ebx
call fcn.004044df
mov eax, dword [ebx + 0xe0]
cmp dword [eax - 0xc], edi
je 0x405a22
lea ecx, [ebp - 0x10]
call fcn.00401228
lea esi, [ebx + 0xe0]
mov eax, dword [esi]
mov eax, dword [eax - 0xc]
cmp eax, edi
jne 0x405750
push str.CmdLine
lea ecx, [ebp - 0x1c]
call fcn.00401a21
push str.Startup
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.00401a21
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x20]
push eax
mov ecx, ebx
mov byte [ebp - 4], 2
call fcn.00404137
push eax
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.00401415
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00401038
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401038
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0
call fcn.00401038
call fcn.00405f3b
push eax
lea ecx, [ebp - 0x18]
call fcn.004011f9
push edi
push str._msi
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.00402433
mov edi, eax
cmp edi, 0xffffffff
jne 0x40578b
push 0
push str._MSI
mov ecx, esi
call fcn.00402433
mov edi, eax
cmp edi, 0xffffffff
je 0x4057ec
lea eax, [edi + 4]
push eax
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.00403a98
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.00401415
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov byte [ebp - 4], 4
call fcn.00401038
lea ecx, [ebp - 0x18]
call fcn.00402a77
mov ecx, eax
call fcn.00402872
push edi
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.00402947
push eax
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.00401415
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov byte [ebp - 4], 4
call fcn.00401038
mov ecx, esi
call fcn.0040427d
xor edi, edi
push edi
push 0x43062c
mov ecx, esi
call fcn.00402433
cmp eax, 0xffffffff
je 0x405836
push str._sAll_t_tSilent_Mode_for_product_n_sPB_t_tSilent_Mode_with_Progress_Bar_for_product_n_rs_t_tReboot_Suppress_n_rps_t_tReboot_Prompt_Suppress_n_ini__PATH__tAlternative_initialization_file_n_sl__LANG_ID__tSet_Language__LANG_ID___Code_in_decimal_digits_n_l_t_tEnable_Error_Logging_n_msi_Command_line__tParameters_for_MSIEXEC
lea ecx, [ebp - 0x1c]
call fcn.00401a21
push edi
push 0x40
push dword [ebp - 0x1c]
mov byte [ebp - 4], 7
call fcn.00403e9f
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.00401038
jmp 0x405a17
push edi
push str._sall
mov ecx, esi
call fcn.00402433
cmp eax, 0xffffffff
je 0x405852
mov dword [ebx + 0xb8], 1
cmp dword [ebx + 0xb8], edi
jne 0x405876
push edi
push str._spb
mov ecx, esi
call fcn.00402433
cmp eax, 0xffffffff
je 0x405876
mov dword [ebx + 0xbc], 1
push edi
push 0x4303b0
mov ecx, esi
call fcn.00402433
cmp eax, 0xffffffff
je 0x405892
mov dword [ebx + 0xf0], 1
cmp dword [ebx + 0xf0], edi
jne 0x4058b6
push edi
push str._rps
mov ecx, esi
call fcn.00402433
cmp eax, 0xffffffff
jne 0x4058b6
mov dword [ebx + 0xec], 1
push edi
push 0x43039c
mov ecx, esi
call fcn.00402433
cmp eax, 0xffffffff
je 0x4058d2
mov dword [ebx + 0xb0], 1
push edi
push str._ini
mov ecx, esi
call fcn.00402433
cmp eax, 0xffffffff
je 0x405973
add eax, 4
push eax
push 0x22
mov ecx, esi
call fcn.00402401
mov edi, eax
inc edi
push edi
push 0x22
mov ecx, esi
call fcn.00402401
sub eax, edi
push eax
push edi
lea eax, [ebp - 0x14]
push eax
mov ecx, esi
call fcn.004028c9
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
mov byte [ebp - 4], 8
je 0x40593b
lea eax, [ebp - 0x14]
push eax
mov ecx, ebx
call fcn.0040437c
test eax, eax
je 0x40593b
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x10]
call fcn.00401415
jmp 0x405962
cmp dword [ebx + 0xb0], 0
je 0x405962
push dword [ebp - 0x14]
lea eax, [ebx + 0xa4]
push str.Initialization:_Unable_to_locate_alternative_INI_file___s___revert_to_the_default_INI._n
push eax
call fcn.00401462
add esp, 0xc
mov ecx, ebx
call fcn.004044df
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
mov byte [ebp - 4], 4
call fcn.00401038
xor edi, edi
lea eax, [ebp - 0x10]
lea ecx, [ebx + 0xa8]
push eax
call fcn.00401415
push edi
push 0x4302d8
mov ecx, esi
call fcn.00402433
cmp eax, 0xffffffff
je 0x4059eb
add eax, 3
push eax
push 0x22
mov ecx, esi
call fcn.00402401
mov edi, eax
cmp edi, 0xffffffff
je 0x4059eb
inc edi
push edi
push 0x22
mov ecx, esi
call fcn.00402401
cmp edi, 0xffffffff
je 0x4059eb
cmp eax, 0xffffffff
je 0x4059eb
sub eax, edi
push eax
push edi
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.004028c9
lea ecx, [ebx + 0xac]
push eax
mov byte [ebp - 4], 9
call fcn.00401415
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov byte [ebp - 4], 4
call fcn.00401038
mov ecx, ebx
call fcn.00404f60
test eax, eax
je 0x405a17
mov ecx, ebx
call fcn.004054d6
test eax, eax
je 0x405a17
mov ecx, ebx
call fcn.00404bf9
test eax, eax
je 0x405a17
lea eax, [ebp - 0x18]
push eax
mov ecx, ebx
call fcn.00404703
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00401038
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401038
call fcn.0041648b
ret