Function at 0x14006b2cc
Capabilities:
Identify system language via api
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rdi
push rbp
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x140096008]
xor rax, rsp
mov qword [rbp + 0x60], rax
xor edi, edi
lea rax, [rsp + 0x48]
mov r9d, 0x20019
mov dword [rsp + 0x30], edi
xor r8d, r8d
mov dword [rsp + 0x38], edi
lea rdx, str.SoftwareMicrosoftOffice16.0CommonLanguageResources
mov dword [rsp + 0x40], edi
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x14006b3d6
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x3c]
lea rax, [rsp + 0x30]
mov dword [rsp + 0x34], 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.UILanguage
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x3c]
lea rax, [rsp + 0x38]
mov dword [rsp + 0x34], 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.InstallLanguage
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x3c]
lea rax, [rsp + 0x40]
mov dword [rsp + 0x34], 4
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.HelpLanguage
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [rsp + 0x38], edi
jne 0x14006b3e9
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx eax, ax
mov dword [rsp + 0x38], eax
mov ecx, dword [rsp + 0x30]
call fcn.14006b1e0
mov qword [0x1400b8300], rax
test rax, rax
jne 0x14006b44e
mov ecx, dword [rsp + 0x38]
mov dword [rsp + 0x30], ecx
call fcn.14006b1e0
mov qword [0x1400b8300], rax
test rax, rax
jne 0x14006b44e
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx ecx, ax
mov dword [rsp + 0x30], ecx
call fcn.14006b1e0
mov qword [0x1400b8300], rax
test rax, rax
jne 0x14006b44e
mov ecx, 0x409
mov dword [rsp + 0x30], 0x409
call fcn.14006b1e0
mov qword [0x1400b8300], rax
mov ecx, dword [rsp + 0x40]
call fcn.14006b16c
test eax, eax
jne 0x14006b484
mov ecx, dword [rsp + 0x38]
call fcn.14006b16c
test eax, eax
jne 0x14006b484
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx ecx, ax
call fcn.14006b16c
test eax, eax
jne 0x14006b484
mov ecx, 0x409
call fcn.14006b16c
cmp qword [0x1400b8300], rdi
jne 0x14006b4bf
mov ecx, dword [rsp + 0x30]
lea rdx, [rsp + 0x50]
call fcn.14006b090
lea r8, str.orgcintl.dll
mov edx, 0x106
lea rcx, [rsp + 0x50]
call fcn.1400205fc
lea rcx, [rsp + 0x50]
call fcn.14006afd4
xor eax, eax
jmp 0x14006b52f
movzx ecx, word [rsp + 0x30]
call fcn.140053a5c
movzx ecx, al
lea r8, [0x1400b7fb0]
cmp al, 1
mov r9d, 0x100
cmove ecx, edi
mov edi, 0x252
mov byte [0x140096f38], cl
mov edx, edi
mov rcx, qword [0x1400b8300]
call qword [sym.imp.USER32.dll_LoadStringW]
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx ecx, ax
call fcn.140053a5c
cmp al, byte [0x140096f38]
jne 0x14006b52a
mov rcx, qword [0x1400b8300]
lea r8, [0x140096080]
mov r9d, 0x100
mov edx, edi
call qword [sym.imp.USER32.dll_LoadStringW]
mov eax, 1
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.14008a940
mov rdi, qword [rsp + 0x180]
add rsp, 0x170
pop rbp
ret