Function at 0x406d93
Capabilities:
Identify system language via api

Disassembly:
push 0x14
mov eax, 0x430070
call fcn.004199aa
mov dword [ebp - 0x20], ecx
and dword [ebp - 4], 0
and dword [ebp - 0x1c], 0
call fcn.004089b3
push eax
lea ecx, [ebp - 0x14]
call fcn.00401217
xor esi, esi
inc esi
mov dword [ebp - 4], esi
call fcn.004089b3
push eax
lea ecx, [ebp - 0x10]
call fcn.00401217
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 2
call fcn.00401335
mov dword [ebp - 0x1c], esi
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx ebx, ax
mov ax, bx
shr ax, 0xa
movzx eax, ax
mov esi, ebx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov edi, 0x3ed
and esi, 0x3ff
cmp eax, edi
ja 0x406e7e
je 0x406e77
add eax, 0xffffff78
cmp eax, 0xc
ja case.default.0x406e15
jmp dword [eax*4 + 0x40708b]
push str.CANCEL
jmp 0x406ea0
push str.DWNLD_FAILED
jmp 0x406ea0
push str.DWNLD_STATUS
jmp 0x406ea0
push str.DWNLD_TITLE
jmp 0x406ea0
push str.INSTMSI_TITLE
jmp 0x406ea0
push str.MSI_UNAVAILBLE
jmp 0x406ea0
push str.NOOS_MSG
jmp 0x406ea0
push 0x434aa0
jmp 0x406ea0
push str.REBOOT_MSG
jmp 0x406ea0
push str.SELECTLANG
jmp 0x406ea0
push str.UNSUPPORTED_IE
jmp 0x406ea0
push str.UNSUPPORTED_OS
jmp 0x406ea0
push str.UNSUPPORTED_SP
jmp 0x406ea0
push str.ENGLISH_WITH_ARABIC_SUPPORT
jmp 0x406ea0
sub eax, 0x3ee
je 0x406e9b
dec eax
je 0x406e94
sub eax, 4
jne case.default.0x406e15
push str.VCRT_INST_TITLE
jmp 0x406ea0
push str.FRENCH_MOROCCO
jmp 0x406ea0
push str.ENGLISH_WITH_HEBREW_SUPPORT
lea ecx, [ebp - 0x14]
call fcn.00401a1b
movzx eax, si
dec eax
cmp eax, 0x26
ja case.0x406eb5.3
jmp dword [eax*4 + 0x4070bf]
mov eax, 0x401
cmp ax, bx
je 0x406ee9
cmp dword [ebp + 0xc], edi
je case.0x406eb5.3
cmp dword [ebp + 0xc], 0x3ee
je case.0x406eb5.3
cmp dword [ebp + 0xc], 0x3ef
je case.0x406eb5.3
push str.Arabic
jmp 0x406ffc
push str.Bulgarian
jmp 0x406ffc
cmp word [ebp - 0x18], 2
je 0x406f15
cmp word [ebp - 0x18], 3
je 0x406f15
push str.ChineseTraditional
jmp 0x406ffc
push str.ChineseSimplified
jmp 0x406ffc
push str.Croatian
jmp 0x406ffc
push str.Czech
jmp 0x406ffc
push str.Danish
jmp 0x406ffc
push str.Dutch
jmp 0x406ffc
push str.Estonian
jmp 0x406ffc
push str.Finnish
jmp 0x406ffc
push str.French
jmp 0x406ffc
push str.German
jmp 0x406ffc
push str.Greek
jmp 0x406ffc
push str.Hebrew
jmp 0x406ffc
push str.Hungarian
jmp 0x406ffc
push str.Italian
jmp 0x406ffc
push str.Japanese
jmp 0x406ffc
push str.Korean
jmp 0x406ffc
push str.Latvian
jmp 0x406ffc
push str.Lithuanian
jmp 0x406ffc
push str.Norwegian
jmp 0x406ffc
push str.Polish
jmp 0x406ffc
push str.Portuguese
jmp 0x406ffc
push str.Romanian
jmp 0x406ffc
push str.Russian
jmp 0x406ffc
push str.Slovak
jmp 0x406ffc
push str.Slovenian
jmp 0x406ffc
push str.Spanish
jmp 0x406ffc
push str.Swedish
jmp 0x406ffc
push str.Turkish
jmp 0x406ffc
push str.Ukrainian
jmp 0x406ffc
push str.English
lea ecx, [ebp - 0x10]
call fcn.00401a1b
mov edi, dword [ebp - 0x20]
lea esi, [edi + 0xe8]
mov eax, dword [esi]
xor ebx, ebx
cmp dword [eax - 0xc], ebx
jne 0x40701d
mov ecx, edi
call fcn.00406824
mov eax, dword [esi]
cmp dword [eax - 0xc], ebx
je 0x407054
push esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call fcn.00405d05
mov ecx, dword [ebp + 8]
push eax
mov byte [ebp - 4], 3
call fcn.00401499
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov byte [ebp - 4], 2
call fcn.0040103e
mov esi, dword [ebp + 8]
mov eax, dword [esi]
cmp dword [eax - 0xc], ebx
jne 0x407068
push dword [ebp + 0xc]
mov ecx, esi
call fcn.004019d6
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.0040103e
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0040103e
mov eax, esi
call fcn.00419a82
ret 8