Function at 0x140015640
Capabilities:
Identify system language via api

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx ebx, ax
mov eax, 0x3ff
and bx, ax
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov ecx, 1
lea r10d, [rcx + 6]
shr ax, 0xa
cmp r10w, bx
jne 0x1400153c0
xor edx, edx
jmp 0x1400155f5
mov r9d, 9
cmp r9w, bx
je 0x14001560b
lea r8d, [r9 - 1]
cmp r8w, bx
jne 0x1400153e3
lea edx, [r9 - 7]
jmp 0x1400155f5
mov esi, 0x19
cmp si, bx
jne 0x1400153f5
lea edx, [rsi - 0x16]
jmp 0x1400155f5
mov edx, 4
cmp dx, bx
jne 0x140015418
mov dword [0x14006d310], edx
cmp cx, ax
jne 0x140015613
mov edx, 0x11
jmp 0x1400155f5
mov edi, 0xc
cmp di, bx
jne 0x14001542a
lea edx, [rdi - 7]
jmp 0x1400155f5
mov edx, 0x29
cmp dx, bx
jne 0x14001543e
mov edx, 6
jmp 0x1400155f5
mov r12d, 0x1d
cmp r12w, bx
je 0x1400155e1
lea ebp, [r12 - 5]
cmp bp, bx
je 0x1400155a5
cmp cx, bx
je 0x1400155b4
lea r9d, [r12 - 0xf]
cmp r9w, bx
jne 0x140015478
lea edx, [rbp - 0xe]
jmp 0x1400155f5
mov r10d, 0x10
cmp r10w, bx
jne 0x14001548d
lea edx, [r10 - 5]
jmp 0x1400155f5
mov edx, 0x13
cmp dx, bx
jne 0x1400154a1
mov edx, 0xd
jmp 0x1400155f5
mov edx, 0xa
cmp dx, bx
jne 0x1400154c8
mov edx, r9d
mov dword [0x14006d310], edx
cmp r8w, ax
jne 0x140015613
mov edx, 0x1b
jmp 0x1400155f5
mov r11d, 0x21
cmp r11w, bx
jne 0x1400154dd
lea edx, [r11 - 0x12]
jmp 0x1400155f5
mov r8d, 0x15
cmp r8w, bx
je 0x1400155e1
lea edx, [r8 - 4]
cmp dx, bx
jne 0x1400154ff
lea edx, [r8 - 3]
jmp 0x1400155f5
mov edx, 5
cmp dx, bx
je 0x1400155a5
mov edx, 0x12
cmp dx, bx
jne 0x140015521
mov edx, 0x16
jmp 0x1400155f5
mov r10d, 0x22
cmp r10w, bx
jne 0x140015536
lea edx, [r10 - 0xb]
jmp 0x1400155f5
mov edx, 0x16
cmp dx, bx
jne 0x140015558
mov edx, ebp
mov dword [0x14006d310], edx
cmp cx, ax
jne 0x140015613
mov edx, edi
jmp 0x1400155f5
mov r9d, 0x1f
cmp r9w, bx
jne 0x14001556b
mov edx, esi
jmp 0x1400155f5
mov r8d, 0x1e
cmp r8w, bx
jne 0x14001557d
lea edx, [r8 - 4]
jmp 0x1400155f5
mov eax, 0x39
cmp ax, bx
jne 0x14001558c
lea edx, [rax - 0x1d]
jmp 0x1400155f5
mov edx, 0xd
cmp dx, bx
jne 0x14001559b
mov edx, r12d
jmp 0x1400155f5
mov eax, 0x36
cmp ax, bx
jne 0x1400155aa
mov edx, r8d
jmp 0x1400155f5
mov eax, 0x3e
cmp ax, bx
jne 0x1400155b9
mov edx, r9d
jmp 0x1400155f5
mov eax, 0x64
cmp ax, bx
jne 0x1400155c8
lea edx, [rax - 0x44]
jmp 0x1400155f5
mov edx, 0xb
cmp dx, bx
jne 0x1400155d7
mov edx, r11d
jmp 0x1400155f5
mov eax, 0x14
cmp ax, bx
jne 0x1400155e6
mov edx, r10d
jmp 0x1400155f5
mov edx, 0x1a
cmp dx, bx
jne 0x1400155fd
mov edx, 0x23
mov dword [0x14006d310], edx
jmp 0x140015613
mov eax, 0x24
lea edx, [rax - 0x22]
cmp dx, bx
cmove ecx, eax
mov dword [0x14006d310], ecx
mov edx, ecx
lea rcx, [0x14003a7f0]
call fcn.1400152a8
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov dword [0x14006d310], eax
add rsp, 0x20
pop r12
ret
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
xor ebx, ebx
cmp dword [0x140047560], ebx
je 0x14001571d
lea rdi, [0x14006d330]
mov r8d, 0x104
xor ecx, ecx
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [rbx + 0x2e]
mov rcx, rdi
call fcn.140021fdc
cmp rax, rbx
je 0x140015683
mov word [rax], bx
lea rdx, [0x14003a820]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrcatW]
xor r9d, r9d
mov qword [rsp + 0x30], rbx
lea r8d, [r9 + 1]
mov edx, 0x40000000
mov rcx, rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x1400156f3
mov qword [rsp + 0x30], rbx
lea r8d, [rax + 2]
xor r9d, r9d
mov edx, 0x40000000
mov rcx, rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
je 0x1400156fe
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14001571d
call qword [sym.imp.USER32.dll_GetActiveWindow]
lea r8, str.Error_File_access
mov r9d, 0x30
mov rcx, rax
mov rdx, rdi
call qword [sym.imp.USER32.dll_MessageBoxW]
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
jmp 0x140015370