Function at 0x14004b450
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 [0x1402cb038]
xor rax, rsp
mov qword [rsp + 0x260], rax
cmp byte [r8 + 0x17], 0
js 0x14004b5dd
mov word [rsi], 0
mov byte [rsi + 0x17], 0
test rdi, rdi
je 0x14004b5b2
lea r8, [rsp + 0x50]
mov qword [r8], 0
lea r9, [rsp + 0x48]
mov dword [r9], 0
lea rdx, str.VarFileInfoTranslation
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x14004b5b2
lea r14, [rsp + 0x50]
mov rax, qword [r14]
movzx r12d, word [rax]
movzx r13d, word [rax + 2]
mov rbp, qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call rbp
mov r15d, eax
call rbp
mov ebp, eax
mov r8d, 0x208
mov rcx, r14
mov dl, 0xaa
call fcn.1401d06e0
cmp byte [rbx + 0x17], 0
mov rax, rbx
jns 0x14004b507
mov rax, qword [rbx]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r12d
lea r9, [0x1402aa368]
mov edx, 0x104
mov r8d, 0x104
mov rcx, r14
call fcn.14004b7e0
lea r8, [rsp + 0x48]
mov qword [r8], 0
lea r9, [rsp + 0x44]
mov dword [r9], 0
mov rcx, rdi
mov rdx, r14
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x14004b64c
mov r14, qword [rsp + 0x48]
test r14, r14
je 0x14004b64c
mov rcx, r14
call fcn.1401cc340
mov rdi, rax
mov al, byte [rsi + 0x17]
test al, al
js 0x14004b5f2
cmp rdi, 0xa
ja 0x14004b618
mov rbx, rsi
test rdi, rdi
je 0x14004b5a1
mov r8, rdi
add r8, rdi
mov rcx, rbx
mov rdx, r14
call fcn.1401d0030
mov al, byte [rsi + 0x17]
test al, al
js 0x14004b5d7
mov eax, edi
and al, 0x7f
mov byte [rsi + 0x17], al
mov word [rbx + rdi*2], 0
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1401ce5b0
nop
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsi + 8], rdi
jmp 0x14004b5ac
mov rax, qword [rsi]
mov word [rax], 0
mov qword [rsi + 8], 0
jmp 0x14004b492
mov rax, qword [rsi + 0x10]
mov rdx, rax
btr rdx, 0x3f
dec rdx
cmp rdx, rdi
jb 0x14004b612
shr rax, 0x38
mov rbx, qword [rsi]
jmp 0x14004b588
mov r9, qword [rsi + 8]
jmp 0x14004b621
movzx r9d, al
mov edx, 0xa
mov r8, rdi
sub r8, rdx
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], 0
mov rcx, rsi
call fcn.140009b70
jmp 0x14004b5b2
lea r14, [rsp + 0x50]
mov r8d, 0x208
mov rcx, r14
mov dl, 0xaa
call fcn.1401d06e0
cmp byte [rbx + 0x17], 0
mov rax, rbx
jns 0x14004b66d
mov rax, qword [rbx]
movzx ecx, r15w
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], ecx
lea r9, [0x1402aa368]
mov edx, 0x104
mov r8d, 0x104
mov rcx, r14
call fcn.14004b7e0
lea r8, [rsp + 0x48]
mov qword [r8], 0
lea r9, [rsp + 0x44]
mov dword [r9], 0
mov rcx, rdi
mov rdx, r14
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x14004b6ce
mov r14, qword [rsp + 0x48]
test r14, r14
jne 0x14004b569
lea r14, [rsp + 0x50]
mov r8d, 0x208
mov rcx, r14
mov dl, 0xaa
call fcn.1401d06e0
cmp byte [rbx + 0x17], 0
mov rax, rbx
jns 0x14004b6ef
mov rax, qword [rbx]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x28], 0x4e4
lea r9, [0x1402aa368]
mov edx, 0x104
mov r8d, 0x104
mov rcx, r14
call fcn.14004b7e0
lea r8, [rsp + 0x48]
mov qword [r8], 0
lea r9, [rsp + 0x44]
mov dword [r9], 0
mov rcx, rdi
mov rdx, r14
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x14004b750
mov r14, qword [rsp + 0x48]
test r14, r14
jne 0x14004b569
lea r14, [rsp + 0x50]
mov r8d, 0x208
mov rcx, r14
mov dl, 0xaa
call fcn.1401d06e0
cmp byte [rbx + 0x17], 0
jns 0x14004b76e
mov rbx, qword [rbx]
movzx eax, bp
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], 0x4e4
lea r9, [0x1402aa368]
mov edx, 0x104
mov r8d, 0x104
mov rcx, r14
call fcn.14004b7e0
lea r8, [rsp + 0x48]
mov qword [r8], 0
lea r9, [rsp + 0x44]
mov dword [r9], 0
mov rcx, rdi
mov rdx, r14
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x14004b5b2
mov r14, qword [rsp + 0x48]
test r14, r14
jne 0x14004b569
jmp 0x14004b5b2