Function at 0x412c86
Capabilities:
Identify system language via api

Disassembly:
push 0x48
mov eax, 0x4aea48
call fcn.0046c44c
mov esi, ecx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x48], ebx
call fcn.00452601
push eax
lea ecx, [ebp - 0x3c]
call fcn.00402899
and dword [ebp - 4], 0
call fcn.00452601
push eax
lea ecx, [ebp - 0x40]
call fcn.00402899
mov edi, dword [ebp + 0x10]
xor ecx, ecx
push edi
mov edx, ebx
mov byte [ebp - 4], 1
inc ecx
call fcn.00414d4f
cmp dword [esi + 8], 0
pop ecx
je 0x4131a8
cmp dword [esi + 8], 0x30cdc
jne 0x4131a8
mov eax, dword [ebp + 8]
lea ecx, [esi + 0x14]
push 0x4d18ae
mov dword [esi + 8], eax
mov dword [esi + 0x10], edi
call fcn.0040ae9c
lea ebx, [esi + 0x18]
push 0x4d18ae
mov ecx, ebx
call fcn.0040ae9c
push 0x4e92d4
lea ecx, [ebp - 0x44]
call fcn.00402829
mov byte [ebp - 4], 2
lea edx, [ebp - 0x44]
push dword [esi + 8]
xor ecx, ecx
inc ecx
call fcn.00414e00
pop ecx
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov eax, dword [esi + 8]
mov ecx, 0x1fdc4
cmp eax, ecx
jg 0x412e57
je 0x412e40
mov ecx, 0x1b3f0
cmp eax, ecx
jg 0x412dd2
je 0x4131e3
mov ecx, 0x1adb0
cmp eax, ecx
jg 0x412da5
je 0x4131e3
sub eax, 0x18704
je 0x412d8e
sub eax, 0xc8
je 0x4131e3
sub eax, 0x12c
je 0x412d8e
sub eax, 0x64
jne 0x4131a8
push 0x4cdc5c
lea ecx, [ebp - 0x3c]
call fcn.0040286d
push str.IDS_ERROR_POLICY_DISABLED_DESCRIPTION
jmp 0x413121
sub eax, 0x1b1fc
je 0x4131e3
sub eax, 0x64
je 0x4131e3
sub eax, 0x64
je 0x4131e3
sub eax, 0xc8
je 0x4131e3
jmp 0x4131a8
mov ecx, 0x1fbd0
cmp eax, ecx
jg 0x412e22
je 0x412e40
sub eax, 0x1b454
je 0x4131e3
sub eax, 0x206c
je 0x412e0b
sub eax, 0x64
jne 0x412dc2
push 0x4ceca0
lea ecx, [ebp - 0x3c]
call fcn.0040286d
push str.IDS_ERROR_RUNNING_DESCRIPTION
jmp 0x413121
push 0x4cdc5c
lea ecx, [ebp - 0x3c]
call fcn.0040286d
push str.IDS_ERROR_NOT_ENOUGH_PRIVILEGES
jmp 0x413121
sub eax, 0x1fc34
je 0x4131e3
sub eax, 0x64
je 0x4131e3
sub eax, 0x64
je 0x412e40
sub eax, 0x64
jmp 0x412dc7
push 0x4cdc5c
lea ecx, [ebp - 0x3c]
call fcn.0040286d
push str.IDS_ERROR_INSTALLER_DESCRIPTION
jmp 0x413121
mov ecx, 0x27290
cmp eax, ecx
jg 0x4130dc
je 0x4131e3
mov ecx, 0x249f0
cmp eax, ecx
jg 0x4130ba
je 0x412ec1
sub eax, 0x222e0
je 0x412eaa
sub eax, 0x64
je 0x412e93
sub eax, 0x64
je 0x412e93
sub eax, 0x64
jne 0x4131a8
push 0x4cdc5c
lea ecx, [ebp - 0x3c]
call fcn.0040286d
push str.IDS_ERROR_DOWNLOAD_DESCRIPTION
jmp 0x413121
push 0x4cdc5c
lea ecx, [ebp - 0x3c]
call fcn.0040286d
push str.IDS_ERROR_CONNECTION_DESCRIPTION
jmp 0x413121
push str.Entering_kInstallFailure_in_Error_object
lea ecx, [ebp - 0x44]
call fcn.00402829
push 0
push 2
lea edx, [ebp - 0x44]
mov byte [ebp - 4], 3
pop ecx
call fcn.00414d4f
pop ecx
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push 0x4cdc5c
lea ecx, [ebp - 0x3c]
call fcn.0040286d
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx]
cmp dword [eax - 0xc], 0
jne 0x4130b0
test edi, edi
je 0x413077
push dword [0x51aeec]
call fcn.0048cb1c
mov dword [ebp - 0x54], eax
pop ecx
test eax, eax
jne 0x412f32
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx eax, ax
mov dword [ebp - 0x54], eax
xor edx, edx
lea ecx, [ebp - 0x4c]
push edx
push edx
push ecx
push eax
push edi
push edx
push 0x1100
mov dword [ebp - 0x4c], edx
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
test eax, eax
jne 0x412fa5
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
and dword [ebp - 0x4c], 0
lea ecx, [ebp - 0x48]
push str.Unable_to_get_error_description_for_language_id:
call fcn.00402829
push dword [ebp - 0x54]
xor ecx, ecx
mov byte [ebp - 4], 4
lea edx, [ebp - 0x48]
inc ecx
call fcn.00414e00
pop ecx
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x48]
lea ecx, [ecx - 0x10]
call fcn.00402e64
xor ecx, ecx
lea eax, [ebp - 0x4c]
push ecx
push ecx
push eax
push 0x400
push edi
push ecx
push 0x1100
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
push str._1_s_
lea ecx, [ebp - 0x50]
call fcn.00402829
mov byte [ebp - 4], 5
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push ebx
call fcn.00413487
add esp, 0xc
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x38]
rep stosd dword es:[edi], eax
push 0xa
lea eax, [ebp - 0x38]
push eax
push dword [ebp + 0x10]
call fcn.0048ba99
add esp, 0xc
call fcn.00452601
push eax
lea ecx, [ebp - 0x44]
call fcn.00402899
push 0x4cf0e4
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 6
call fcn.00402829
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x48]
mov ecx, 0x51ad38
push eax
call fcn.0040d77c
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x48]
lea ecx, [ecx - 0x10]
call fcn.00402e64
lea eax, [ebp - 0x38]
push eax
push str._ERRORCODE_
lea ecx, [ebp - 0x44]
call fcn.0040aa38
push 0x4e9518
mov ecx, ebx
call fcn.00413402
mov eax, dword [ebp - 0x44]
mov ecx, ebx
push dword [eax - 0xc]
push eax
call fcn.004025c6
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x50]
lea ecx, [ecx - 0x10]
call fcn.00402e64
jmp 0x413129
push str.IDS_ERROR_INSTALLER_DESCRIPTION
lea ecx, [ebp - 0x50]
call fcn.00402829
push ebx
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 8
push eax
mov ecx, 0x51ad38
call fcn.0040d77c
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x50]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push ebx
mov ecx, esi
call fcn.004131fa
jmp 0x413129
push ecx
mov ecx, ebx
call fcn.00402e14
jmp 0x413129
sub eax, 0x27100
je 0x4131e3
sub eax, 0x64
je 0x4131e3
sub eax, 0x64
je 0x4131e3
jmp 0x412e3b
mov ecx, 0x298d8
cmp eax, ecx
jg 0x4131c6
je 0x41310f
sub eax, 0x272f4
je 0x4131e3
sub eax, 0x64
je 0x4131e3
sub eax, 0x24b8
je 0x41310f
sub eax, 0x64
jne 0x4131a8
push 0x4cdc5c
lea ecx, [ebp - 0x3c]
call fcn.0040286d
push str.IDS_ERROR_DISK_DESCRIPTION
lea ecx, [ebp - 0x40]
call fcn.0040286d
cmp dword [0x51ae38], 0
je 0x41315c
cmp dword [esi + 8], 0x187cc
mov ecx, str.IDS_ERROR_ONDEMAND_TITLE
mov eax, str.IDS_ERROR_ONDEMAND_TITLE_USER_CANCELED
cmovne eax, ecx
lea ecx, [ebp - 0x3c]
push eax
call fcn.0040286d
push str.IDS_ERROR_ONDEMAND_DESCRIPTION
lea ecx, [ebp - 0x40]
call fcn.0040286d
mov eax, dword [ebp - 0x3c]
xor edi, edi
cmp dword [eax - 0xc], edi
je 0x413178
lea eax, [esi + 0x14]
mov ecx, 0x51ad38
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0040d77c
mov eax, dword [ebp - 0x40]
cmp dword [eax - 0xc], edi
je 0x413197
push ebx
lea eax, [ebp - 0x40]
mov ecx, 0x51ad38
push eax
call fcn.0040d77c
push ebx
mov ecx, esi
call fcn.004131fa
cmp byte [esi + 0x1c], 0
je 0x4131a8
push edi
push edi
push dword [ebx]
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x40]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0x3c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
call fcn.0046c3f6
ret 0xc
cmp eax, 0x2993c
je 0x41310f
cmp eax, 0x29a04
je 0x41310f
cmp eax, 0x2bf84
jne 0x4131a8
push 0x4cdc5c
lea ecx, [ebp - 0x3c]
call fcn.0040286d
push str.IDS_ERROR_CATCHALL_MANUAL_DESCRIPTION
jmp 0x413121