Function at 0x14002e400
Capabilities:
Identify system language via api

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
mov rax, qword [0x140129038]
xor rax, rsp
mov qword [rsp + 0x260], rax
movzx ebp, word [rcx + 0x28]
movzx r13d, word [rcx + 0x2a]
mov r14, qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call r14
mov r15d, eax
movzx r12d, word [rdi + 0x2a]
movzx eax, word [rdi + 0x28]
mov dword [rsp + 0x40], eax
call r14
mov word [rsp + 0x3e], ax
lea r14, [rsp + 0x50]
mov r8d, 0x208
mov rcx, r14
mov dl, 0xaa
call fcn.140090d80
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], ebp
lea r9, str.StringFileInfo_04x_04x_ls
mov edx, 0x104
mov r8d, 0x104
mov rcx, r14
call fcn.14002e730
lea r8, [rsp + 0x48]
mov qword [r8], 0
lea r9, [rsp + 0x44]
mov dword [r9], 0xaaaaaaaa
mov rax, qword [rdi + 0x20]
mov rcx, rax
btr rcx, 0x3f
mov rdx, qword [0x14012b720]
and rdx, rcx
cmp rdx, qword [0x14012b708]
sete dl
test dl, 1
cmove rcx, rax
mov rdx, r14
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x14002e529
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x14002e529
mov r8d, dword [rsp + 0x44]
test r8d, r8d
je 0x14002e529
dec r8d
mov rcx, rsi
call fcn.14006bce0
mov sil, 1
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.14008ec50
mov eax, esi
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs r13, 0x7fffffffffffffff
lea r14, [rsp + 0x50]
mov r8d, 0x208
mov rcx, r14
mov dl, 0xaa
call fcn.140090d80
movzx eax, r15w
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
lea r9, str.StringFileInfo_04x_04x_ls
mov edx, 0x104
mov r8d, 0x104
mov rcx, r14
call fcn.14002e730
lea r8, [rsp + 0x48]
mov qword [r8], 0
lea r9, [rsp + 0x44]
mov dword [r9], 0xaaaaaaaa
mov rax, qword [rdi + 0x20]
mov rcx, rax
and rcx, r13
mov rdx, qword [0x14012b720]
and rdx, rcx
cmp rdx, qword [0x14012b708]
sete dl
test dl, 1
cmove rcx, rax
mov rdx, r14
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x14002e5d5
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x14002e5d5
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x14002e4f5
lea r15, [rsp + 0x50]
mov r8d, 0x208
mov rcx, r15
mov dl, 0xaa
call fcn.140090d80
mov qword [rsp + 0x30], rbx
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], 0x4e4
lea r9, str.StringFileInfo_04x_04x_ls
mov edx, 0x104
mov r8d, 0x104
mov rcx, r15
call fcn.14002e730
lea r8, [rsp + 0x48]
mov qword [r8], 0
lea r9, [rsp + 0x44]
mov dword [r9], 0xaaaaaaaa
mov rax, qword [rdi + 0x20]
mov rcx, rax
and rcx, r13
mov rdx, qword [0x14012b720]
and rdx, rcx
cmp rdx, qword [0x14012b708]
sete dl
test dl, 1
cmove rcx, rax
mov rdx, r15
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x14002e67a
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x14002e67a
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x14002e4f5
lea r15, [rsp + 0x50]
mov r8d, 0x208
mov rcx, r15
mov dl, 0xaa
call fcn.140090d80
movzx eax, word [rsp + 0x3e]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], 0x4e4
lea r9, str.StringFileInfo_04x_04x_ls
mov edx, 0x104
mov r8d, 0x104
mov rcx, r15
call fcn.14002e730
lea r8, [rsp + 0x48]
mov qword [r8], 0
lea r9, [rsp + 0x44]
mov dword [r9], 0xaaaaaaaa
mov rax, qword [rdi + 0x20]
and r13, rax
mov rcx, qword [0x14012b720]
and rcx, r13
cmp rcx, qword [0x14012b708]
sete cl
test cl, 1
cmove r13, rax
mov rcx, r13
mov rdx, r15
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x14002e720
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x14002e720
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jne 0x14002e4f5
xor esi, esi
jmp 0x14002e503