Function at 0x14000cbe0
Capabilities:
Identify system language via api

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x10], rdx
push rbp
push rdi
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov edi, r8d
mov r15, rdx
mov r13, rcx
and dword [rbp - 0x20], 0
call fcn.14001269c
mov rcx, rax
test rax, rax
je 0x14000d298
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140016c1a.0]
add rax, 0x18
mov qword [rbp + 0x48], rax
call fcn.14001269c
mov rcx, rax
test rax, rax
je 0x14000d2a3
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140016c1a.0]
add rax, 0x18
mov qword [rbp - 0x18], rax
call fcn.14001269c
mov rcx, rax
test rax, rax
je 0x14000d28d
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140016c1a.0]
add rax, 0x18
mov qword [r15], rax
mov dword [rbp - 0x20], 1
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx r14d, ax
movzx esi, ax
mov eax, 0x3ff
and si, ax
movzx ebx, r14w
shr bx, 0xa
mov eax, 0x3ed
cmp edi, eax
ja 0x14000ce6a
je 0x14000ce52
mov eax, 0x8e
cmp edi, eax
ja 0x14000cd98
je 0x14000cd80
mov eax, edi
sub eax, 0x88
je 0x14000cd68
sub eax, 1
je 0x14000cd50
sub eax, 1
je 0x14000cd38
sub eax, 1
je 0x14000cd20
sub eax, 1
je 0x14000cd08
cmp eax, 1
jne 0x14000cf1c
lea rcx, str.MSI_UNAVAILBLE
call fcn.14003879c
lea rdx, str.MSI_UNAVAILBLE
jmp 0x14000cf10
lea rcx, str.INSTMSI_TITLE
call fcn.14003879c
lea rdx, str.INSTMSI_TITLE
jmp 0x14000cf10
lea rcx, str.DWNLD_TITLE
call fcn.14003879c
lea rdx, str.DWNLD_TITLE
jmp 0x14000cf10
lea rcx, str.DWNLD_STATUS
call fcn.14003879c
lea rdx, str.DWNLD_STATUS
jmp 0x14000cf10
lea rcx, str.DWNLD_FAILED
call fcn.14003879c
lea rdx, str.DWNLD_FAILED
jmp 0x14000cf10
lea rcx, str.CANCEL
call fcn.14003879c
lea rdx, str.CANCEL
jmp 0x14000cf10
lea rcx, str.NOOS_MSG
call fcn.14003879c
lea rdx, str.NOOS_MSG
jmp 0x14000cf10
mov eax, edi
sub eax, 0x8f
je 0x14000ce3a
sub eax, 1
je 0x14000ce22
sub eax, 1
je 0x14000ce0a
sub eax, 1
je 0x14000cdf2
sub eax, 1
je 0x14000cdda
cmp eax, 1
jne 0x14000cf1c
lea rcx, str.UNSUPPORTED_OS
call fcn.14003879c
lea rdx, str.UNSUPPORTED_OS
jmp 0x14000cf10
lea rcx, str.UNSUPPORTED_SP
call fcn.14003879c
lea rdx, str.UNSUPPORTED_SP
jmp 0x14000cf10
lea rcx, str.UNSUPPORTED_IE
call fcn.14003879c
lea rdx, str.UNSUPPORTED_IE
jmp 0x14000cf10
lea rcx, str.SELECTLANG
call fcn.14003879c
lea rdx, str.SELECTLANG
jmp 0x14000cf10
lea rcx, str.REBOOT_MSG
call fcn.14003879c
lea rdx, str.REBOOT_MSG
jmp 0x14000cf10
lea rcx, [0x14005c24c]
call fcn.14003879c
lea rdx, [0x14005c24c]
jmp 0x14000cf10
lea rcx, str.ENGLISH_WITH_ARABIC_SUPPORT
call fcn.14003879c
lea rdx, str.ENGLISH_WITH_ARABIC_SUPPORT
jmp 0x14000cf10
mov eax, edi
sub eax, 0x3ee
je 0x14000cefd
sub eax, 1
je 0x14000cee8
sub eax, 4
je 0x14000ced3
sub eax, 1
je 0x14000cebe
sub eax, 1
je 0x14000cea9
cmp eax, 1
jne 0x14000cf1c
lea rcx, str.MIG_INSTALL_FAILED_TEXT
call fcn.14003879c
lea rdx, str.MIG_INSTALL_FAILED_TEXT
jmp 0x14000cf10
lea rcx, str.PATCH_INSTALL_DLG_TEXT
call fcn.14003879c
lea rdx, str.PATCH_INSTALL_DLG_TEXT
jmp 0x14000cf10
lea rcx, str.PATCH_INSTALL_FAILURE_TEXT
call fcn.14003879c
lea rdx, str.PATCH_INSTALL_FAILURE_TEXT
jmp 0x14000cf10
lea rcx, str.VCRT_INST_TITLE
call fcn.14003879c
lea rdx, str.VCRT_INST_TITLE
jmp 0x14000cf10
lea rcx, str.FRENCH_MOROCCO
call fcn.14003879c
lea rdx, str.FRENCH_MOROCCO
jmp 0x14000cf10
lea rcx, str.ENGLISH_WITH_HEBREW_SUPPORT
call fcn.14003879c
lea rdx, str.ENGLISH_WITH_HEBREW_SUPPORT
mov r8d, eax
lea rcx, [rbp + 0x48]
call fcn.140001858
movzx ecx, si
cmp ecx, 0x12
ja 0x14000d08c
je 0x14000d080
cmp ecx, 9
ja 0x14000d009
je 0x14000cffd
sub ecx, 1
je 0x14000cfcc
sub ecx, 1
je 0x14000cfc0
mov edx, 2
sub ecx, edx
je 0x14000cf9c
sub ecx, 1
je 0x14000cf90
sub ecx, 1
je 0x14000cf84
sub ecx, 1
je 0x14000cf78
cmp ecx, 1
jne 0x14000cffd
lea rbx, str.Greek
jmp 0x14000d17c
lea rbx, str.German
jmp 0x14000d17c
lea rbx, str.Danish
jmp 0x14000d17c
lea rbx, str.Czech
jmp 0x14000d17c
sub bx, dx
mov eax, 1
cmp bx, ax
lea rbx, str.ChineseTraditional
ja 0x14000d17c
lea rbx, str.ChineseSimplified
jmp 0x14000d17c
lea rbx, str.Bulgarian
jmp 0x14000d17c
mov eax, 0x401
cmp ax, r14w
je 0x14000cff1
lea eax, [rdi - 0x3ed]
mov edx, 2
cmp eax, edx
lea rbx, str.English
jbe 0x14000d17c
lea rbx, str.Arabic
jmp 0x14000d17c
lea rbx, str.English
jmp 0x14000d17c
sub ecx, 0xa
je 0x14000d074
sub ecx, 1
je 0x14000d068
sub ecx, 1
je 0x14000d05c
sub ecx, 1
je 0x14000d050
sub ecx, 1
je 0x14000d044
sub ecx, 2
je 0x14000d038
cmp ecx, 1
jne 0x14000cffd
lea rbx, str.Japanese
jmp 0x14000d17c
lea rbx, str.Italian
jmp 0x14000d17c
lea rbx, str.Hungarian
jmp 0x14000d17c
lea rbx, str.Hebrew
jmp 0x14000d17c
lea rbx, str.French
jmp 0x14000d17c
lea rbx, str.Finnish
jmp 0x14000d17c
lea rbx, str.Spanish
jmp 0x14000d17c
lea rbx, str.Korean
jmp 0x14000d17c
cmp ecx, 0x1b
ja 0x14000d115
je 0x14000d10c
sub ecx, 0x13
je 0x14000d103
sub ecx, 1
je 0x14000d0fa
sub ecx, 1
je 0x14000d0ee
sub ecx, 1
je 0x14000d0e2
sub ecx, 2
je 0x14000d0d6
sub ecx, 1
je 0x14000d0ca
cmp ecx, 1
jne 0x14000cffd
lea rbx, str.Croatian
jmp 0x14000d17c
lea rbx, str.Russian
jmp 0x14000d17c
lea rbx, str.Romanian
jmp 0x14000d17c
lea rbx, str.Portuguese
jmp 0x14000d17c
lea rbx, str.Polish
jmp 0x14000d17c
lea rbx, str.Norwegian
jmp 0x14000d17c
lea rbx, str.Dutch
jmp 0x14000d17c
lea rbx, str.Slovak
jmp 0x14000d17c
sub ecx, 0x1d
je 0x14000d175
mov edx, 2
sub ecx, edx
je 0x14000d16c
sub ecx, 3
je 0x14000d163
sub ecx, edx
je 0x14000d15a
sub ecx, 1
je 0x14000d151
sub ecx, 1
je 0x14000d148
cmp ecx, 1
jne 0x14000cffd
lea rbx, str.Lithuanian
jmp 0x14000d17c
lea rbx, str.Latvian
jmp 0x14000d17c
lea rbx, str.Estonian
jmp 0x14000d17c
lea rbx, str.Slovenian
jmp 0x14000d17c
lea rbx, str.Ukrainian
jmp 0x14000d17c
lea rbx, str.Turkish
jmp 0x14000d17c
lea rbx, str.Swedish
mov rcx, rbx
call fcn.14003879c
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x18]
call fcn.140001858
lea rbx, [r13 + 0x220]
mov rax, qword [rbx]
cmp dword [rax - 0x10], 0
jne 0x14000d1ae
mov rcx, r13
call fcn.14000bf7c
mov rax, qword [rbx]
or esi, 0xffffffff
cmp dword [rax - 0x10], 0
je 0x14000d202
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x18]
lea r8, [rbp + 0x48]
lea rdx, [rbp - 0x10]
mov rcx, r13
call fcn.14000cac4
nop
mov rdx, rax
mov rcx, r15
call fcn.1400013f0
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x14000d202
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140016c1a.0]
mov rax, qword [r15]
cmp dword [rax - 0x10], 0
jne 0x14000d226
mov ecx, edi
call fcn.140012cbc
test rax, rax
je 0x14000d226
mov r8d, edi
mov rdx, rax
mov rcx, r15
call fcn.140001c60
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x14000d24c
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140016c1a.0]
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x14000d271
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140016c1a.0]
mov rax, r15
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140001474
nop
mov ecx, 0x80004005
call fcn.140001474
nop
mov ecx, 0x80004005
call fcn.140001474
int3