Function at 0x140019c00
Capabilities:
Get geographical location
Get keyboard layout
Identify system language via api

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0x1b8]
sub rsp, 0x2a0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140048840]
xor rax, rsp
mov qword [rbp + 0x190], rax
mov rdi, rdx
mov r14, rcx
call fcn.14001bf40
mov rdx, rax
mov r8, rdi
mov rcx, r14
call fcn.14001c3a0
mov ebx, eax
cmp eax, 0xffffffff
jne 0x14001a168
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov rdx, rax
mov r8, rdi
mov rcx, r14
call fcn.14001c3a0
mov ebx, eax
cmp eax, 0xffffffff
jne 0x14001a168
xor ebx, ebx
mov qword [rsp + 0x58], rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [0x140033a30]
xor edx, edx
lea r8d, [rbx + 0x17]
lea rcx, [0x1400338e0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140019ce3
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ole32.dll_OleRun]
mov esi, eax
test eax, eax
js 0x140019cd4
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea r8, [rsp + 0x58]
lea rdx, [0x1400338a0]
call qword [rax]
mov esi, eax
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
test esi, esi
jns 0x140019ce8
mov qword [rsp + 0x58], rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
mov ecx, 0x18
call fcn.140024e9c
mov rsi, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x140019d28
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov dword [rax + 0x10], 1
lea rcx, str.HotkeyActionRotateZeroDefault
call fcn.140023450
mov qword [rsi], rax
jmp 0x140019d2b
mov rsi, rbx
mov qword [rsp + 0x50], rsi
test rsi, rsi
jne 0x140019d40
mov ecx, 0x8007000e
call fcn.1400233a0
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x140019d55
mov ecx, 0x80004003
call fcn.1400233a0
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
call fcn.14001cf60
mov r8, qword [rax]
test r8, r8
je 0x140019d71
mov r8, qword [r8]
jmp 0x140019d74
mov r8, rbx
mov edx, 0x40
lea rcx, [rbp + 0x90]
call fcn.14002566c
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140019d94
call fcn.14001eee0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov ecx, 0x18
call fcn.140024e9c
mov rsi, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140019dd4
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov dword [rax + 0x10], 1
lea rcx, str.HotkeyActionRotate90Default
call fcn.140023450
mov qword [rsi], rax
jmp 0x140019dd7
mov rsi, rbx
mov qword [rsp + 0x50], rsi
test rsi, rsi
jne 0x140019dec
mov ecx, 0x8007000e
call fcn.1400233a0
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x140019e01
mov ecx, 0x80004003
call fcn.1400233a0
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
call fcn.14001cf60
mov r8, qword [rax]
test r8, r8
je 0x140019e1d
mov r8, qword [r8]
jmp 0x140019e20
mov r8, rbx
mov edx, 0x40
lea rcx, [rbp - 0x70]
call fcn.14002566c
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140019e3d
call fcn.14001eee0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov ecx, 0x18
call fcn.140024e9c
mov rsi, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140019e7d
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov dword [rax + 0x10], 1
lea rcx, str.HotkeyActionRotate270Default
call fcn.140023450
mov qword [rsi], rax
jmp 0x140019e80
mov rsi, rbx
mov qword [rsp + 0x50], rsi
test rsi, rsi
jne 0x140019e95
mov ecx, 0x8007000e
call fcn.1400233a0
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x140019eaa
mov ecx, 0x80004003
call fcn.1400233a0
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
call fcn.14001cf60
mov r8, qword [rax]
test r8, r8
je 0x140019ec6
mov r8, qword [r8]
jmp 0x140019ec9
mov r8, rbx
mov edx, 0x40
lea rcx, [rbp + 0x10]
call fcn.14002566c
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140019ee6
call fcn.14001eee0
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov ecx, 0x18
call fcn.140024e9c
mov rsi, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140019f26
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov dword [rax + 0x10], 1
lea rcx, str.HotkeyActionRotate180Default
call fcn.140023450
mov qword [rsi], rax
jmp 0x140019f29
mov rsi, rbx
mov qword [rsp + 0x50], rsi
test rsi, rsi
jne 0x140019f3e
mov ecx, 0x8007000e
call fcn.1400233a0
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x140019f53
mov ecx, 0x80004003
call fcn.1400233a0
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
call fcn.14001cf60
mov rcx, qword [rax]
test rcx, rcx
je 0x140019f6d
mov rbx, qword [rcx]
mov r8, rbx
mov edx, 0x40
lea rcx, [rbp + 0x110]
call fcn.14002566c
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140019f90
call fcn.14001eee0
mov rdx, rdi
lea rcx, [rbp + 0x90]
call qword [sym.imp.SHLWAPI.dll_StrStrW]
test rax, rax
je 0x140019fae
lea rdx, [0x1400358e0]
jmp 0x14001a000
mov rdx, rdi
lea rcx, [rbp - 0x70]
call qword [sym.imp.SHLWAPI.dll_StrStrW]
test rax, rax
je 0x140019fc9
lea rdx, str.Left
jmp 0x14001a000
mov rdx, rdi
lea rcx, [rbp + 0x10]
call qword [sym.imp.SHLWAPI.dll_StrStrW]
test rax, rax
je 0x140019fe4
lea rdx, str.Right
jmp 0x14001a000
mov rdx, rdi
lea rcx, [rbp + 0x110]
call qword [sym.imp.SHLWAPI.dll_StrStrW]
test rax, rax
je 0x14001a009
lea rdx, str.Down
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_StrCpyW]
call fcn.14001bf40
mov rdx, rax
mov r8, rdi
mov rcx, r14
call fcn.14001c3a0
mov ebx, eax
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14001a02e
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp ebx, 0xffffffff
jne 0x14001a168
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov word [rsp + 0x70], ax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
mov word [rbp - 0x78], ax
xor r9d, r9d
lea r8, str._04x
lea edx, [rbx + 0xa]
lea rcx, [rsp + 0x60]
call fcn.1400259b4
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx ecx, ax
and ecx, 0x3ff
lea r9d, [rbx + 0xa]
lea r8, [rsp + 0x78]
lea edx, [rbx + 2]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14001a0cf
lea r8, [rsp + 0x78]
lea edx, [rbx + 0xa]
lea rcx, [rsp + 0x60]
call fcn.1400255e4
lea edx, [rbx + 2]
lea rcx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_LoadKeyboardLayoutW]
test rax, rax
je 0x14001a0cf
mov r8, rdi
mov rdx, rax
mov rcx, r14
call fcn.14001c3a0
mov ebx, eax
cmp eax, 0xffffffff
jne 0x14001a168
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov word [rsp + 0x70], ax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
mov word [rbp - 0x78], ax
mov r9d, 9
lea r8, str._04x
mov edx, r9d
lea rcx, [rsp + 0x60]
call fcn.1400259b4
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx ecx, ax
and ecx, 0x3ff
mov r9d, 9
lea r8, [rsp + 0x78]
lea edx, [r9 - 8]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14001a168
lea r8, [rsp + 0x78]
mov edx, 9
lea rcx, [rsp + 0x60]
call fcn.1400255e4
mov edx, 1
lea rcx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_LoadKeyboardLayoutW]
test rax, rax
je 0x14001a168
mov r8, rdi
mov rdx, rax
mov rcx, r14
call fcn.14001c3a0
mov ebx, eax
mov eax, ebx
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.140024bf0
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret