Function at 0x1401abd30
Capabilities:
Identify system language via api

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0xe0
mov qword [rsp + 0xd8], 0xfffffffffffffffe
mov dword [rsp + 0x30], 1
lea rax, [0x14021b4a4]
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
jne 0x1401abd74
mov dword [rsp + 0x60], 0
jmp 0x1401abd82
mov rcx, qword [rsp + 0x58]
call fcn.14002f9b0
mov dword [rsp + 0x60], eax
mov r8d, dword [rsp + 0x60]
lea rdx, [0x14021b4a4]
mov rcx, qword [rsp + 0xf8]
call fcn.140005080
mov rax, qword [rsp + 0xf0]
cmp qword [rax + 0x20], 0
jne 0x1401abdb1
xor eax, eax
jmp 0x1401ac0de
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x8c], 0
lea r9, [rsp + 0x34]
lea r8, [rsp + 0x38]
lea rdx, str.VarFileInfoTranslation
mov rcx, qword [rsp + 0xf0]
mov rcx, qword [rcx + 0x20]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1401abf00
mov rbx, qword [rsp + 0xf0]
add rbx, 0x8c
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], rbx
movzx r9d, ax
mov r8d, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xf0]
call fcn.1401a9b10
test eax, eax
jne 0x1401abf00
mov rbx, qword [rsp + 0xf0]
add rbx, 0x8c
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rbx
movzx r9d, ax
mov r8d, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xf0]
call fcn.1401a9b10
test eax, eax
jne 0x1401abf00
mov rax, qword [rsp + 0xf0]
add rax, 0x8c
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xf0]
call fcn.1401a9b10
test eax, eax
jne 0x1401abf00
mov rax, qword [rsp + 0xf0]
add rax, 0x8c
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rax
mov r9w, 9
mov r8d, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xf0]
call fcn.1401a9b10
test eax, eax
jne 0x1401abf00
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov dword [rcx + 0x8c], eax
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0x8c]
shr rax, 0x10
and rax, 0xffff
movzx r9d, ax
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0x8c]
and rax, 0xffff
movzx r8d, ax
mov rcx, qword [rsp + 0xf0]
add rcx, 0xb8
lea rdx, [0x14021b4e0]
call fcn.140005d30
mov rdx, qword [rsp + 0xf0]
add rdx, 0xb8
mov rcx, qword [rsp + 0xf8]
call fcn.140004ac0
call fcn.140008c24
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140005310
nop
lea r8, [rsp + 0x40]
lea rdx, str.FileVersion
mov rcx, qword [rsp + 0xf0]
call fcn.1401a9f40
test eax, eax
je 0x1401abfbc
lea r8, [rsp + 0x40]
lea rdx, str.FileDescription
mov rcx, qword [rsp + 0xf0]
call fcn.1401a9f40
test eax, eax
jne 0x1401ac0c8
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 1
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
call fcn.1401aaa40
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
mov qword [rsp + 0xc8], rax
mov r8d, 0x10
xor edx, edx
mov rcx, qword [rsp + 0xc8]
call fcn.140030a38
mov r11d, eax
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x8c], r11d
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0x8c]
and rax, 0xffff
mov word [rsp + 0x48], ax
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0x8c]
shr rax, 0x10
and rax, 0xffff
mov word [rsp + 0x4c], ax
movzx ecx, word [rsp + 0x48]
shl ecx, 0x10
movzx eax, word [rsp + 0x4c]
add ecx, eax
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0x8c], ecx
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0x8c]
shr rax, 0x10
and rax, 0xffff
movzx r9d, ax
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0x8c]
and rax, 0xffff
movzx r8d, ax
mov rcx, qword [rsp + 0xf0]
add rcx, 0xb8
lea rdx, [0x14021b530]
call fcn.140005d30
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x50], eax
lea rcx, [rsp + 0x40]
call fcn.1400053e0
mov eax, dword [rsp + 0x50]
add rsp, 0xe0
pop rbx
ret