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

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x228]
sub rsp, 0x310
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1400354c0]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov rsi, rdx
mov r14, rcx
call fcn.140009680
mov rdx, rax
mov r8, rsi
mov rcx, r14
call fcn.140009ae0
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140007877
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov rdx, rax
mov r8, rsi
mov rcx, r14
call fcn.140009ae0
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140007877
xor r15d, r15d
mov qword [rbp - 0x68], r15
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
lea r9, [0x1400217e0]
xor edx, edx
lea r8d, [rbx + 0x18]
lea rcx, [0x1400217c0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140007292
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.ole32.dll_OleRun]
mov ebx, eax
test eax, eax
js 0x140007284
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
lea r8, [rbp - 0x68]
lea rdx, [0x140021cb0]
call qword [rax]
mov ebx, eax
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
call qword [rax + 0x10]
test ebx, ebx
jns 0x140007296
mov qword [rbp - 0x68], r15
mov rbx, r15
mov qword [rsp + 0x30], rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov ecx, 0x18
call fcn.14001263c
mov rdi, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1400072e4
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], 1
lea rcx, str.HotkeyActionRotateZeroDefault
call fcn.1400109d0
mov qword [rdi], rax
jmp 0x1400072e7
mov rdi, r15
mov qword [rsp + 0x50], rdi
test rdi, rdi
jne 0x1400072fc
mov ecx, 0x8007000e
call fcn.140010920
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
jne 0x140007310
mov ecx, 0x80004003
call fcn.140010920
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x78]
call fcn.14000a6a0
lea rcx, [rsp + 0x30]
cmp rcx, rax
je 0x14000733f
mov rbx, qword [rax]
mov qword [rsp + 0x30], rbx
test rbx, rbx
je 0x14000733f
lock inc dword [rbx + 0x10]
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14000734e
call fcn.14000c6c0
test rbx, rbx
je 0x14000786c
mov rcx, qword [rbx]
test rcx, rcx
je 0x14000737d
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x14000737d
mov r8, qword [rbx]
mov edx, 0x40
lea rcx, [rbp + 0x100]
call fcn.140012d30
cmp dword [rbx + 0x10], 1
jne 0x14000786c
mov qword [rbx], r15
mov rcx, rbx
call fcn.14000c6c0
mov rbx, r15
mov qword [rsp + 0x30], rbx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x58], rax
mov ecx, 0x18
call fcn.14001263c
mov rdi, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400073e0
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], 1
lea rcx, str.HotkeyActionRotate90Default
call fcn.1400109d0
mov qword [rdi], rax
jmp 0x1400073e3
mov rdi, r15
mov qword [rsp + 0x60], rdi
test rdi, rdi
jne 0x1400073f8
mov ecx, 0x8007000e
call fcn.140010920
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
jne 0x14000740c
mov ecx, 0x80004003
call fcn.140010920
nop
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x80]
call fcn.14000a6a0
lea rcx, [rsp + 0x30]
cmp rcx, rax
je 0x14000743a
mov rbx, qword [rax]
mov qword [rsp + 0x30], rbx
test rbx, rbx
je 0x14000743a
lock inc dword [rbx + 0x10]
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x140007448
call fcn.14000c6c0
test rbx, rbx
je 0x140007861
mov rcx, qword [rbx]
test rcx, rcx
je 0x140007474
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140007474
mov r8, qword [rbx]
mov edx, 0x40
lea rcx, [rbp]
call fcn.140012d30
cmp dword [rbx + 0x10], 1
jne 0x140007861
mov qword [rbx], r15
mov rcx, rbx
call fcn.14000c6c0
mov rbx, r15
mov qword [rsp + 0x30], rbx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x48], rax
mov ecx, 0x18
call fcn.14001263c
mov rdi, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400074d7
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], 1
lea rcx, str.HotkeyActionRotate270Default
call fcn.1400109d0
mov qword [rdi], rax
jmp 0x1400074da
mov rdi, r15
mov qword [rsp + 0x68], rdi
test rdi, rdi
jne 0x1400074ef
mov ecx, 0x8007000e
call fcn.140010920
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
jne 0x140007503
mov ecx, 0x80004003
call fcn.140010920
nop
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x70]
call fcn.14000a6a0
lea rcx, [rsp + 0x30]
cmp rcx, rax
je 0x140007532
mov rbx, qword [rax]
mov qword [rsp + 0x30], rbx
test rbx, rbx
je 0x140007532
lock inc dword [rbx + 0x10]
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140007541
call fcn.14000c6c0
test rbx, rbx
je 0x140007856
mov rcx, qword [rbx]
test rcx, rcx
je 0x140007570
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140007570
mov r8, qword [rbx]
mov edx, 0x40
lea rcx, [rbp + 0x80]
call fcn.140012d30
cmp dword [rbx + 0x10], 1
jne 0x140007856
mov qword [rbx], r15
mov rcx, rbx
call fcn.14000c6c0
mov rbx, r15
mov qword [rsp + 0x30], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov ecx, 0x18
call fcn.14001263c
mov rdi, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400075d3
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], 1
lea rcx, str.HotkeyActionRotate180Default
call fcn.1400109d0
mov qword [rdi], rax
jmp 0x1400075d6
mov rdi, r15
mov qword [rsp + 0x40], rdi
test rdi, rdi
jne 0x1400075eb
mov ecx, 0x8007000e
call fcn.140010920
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
jne 0x1400075ff
mov ecx, 0x80004003
call fcn.140010920
nop
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x38]
call fcn.14000a6a0
lea rcx, [rsp + 0x30]
cmp rcx, rax
je 0x14000762e
mov rbx, qword [rax]
mov qword [rsp + 0x30], rbx
test rbx, rbx
je 0x14000762e
lock inc dword [rbx + 0x10]
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000763d
call fcn.14000c6c0
test rbx, rbx
je 0x14000784b
mov rcx, qword [rbx]
test rcx, rcx
je 0x14000766c
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x14000766c
mov r8, qword [rbx]
mov edx, 0x40
lea rcx, [rbp + 0x180]
call fcn.140012d30
cmp dword [rbx + 0x10], 1
jne 0x14000784b
mov qword [rbx], r15
mov rcx, rbx
call fcn.14000c6c0
mov rdx, rsi
lea rcx, [rbp + 0x100]
call qword [sym.imp.SHLWAPI.dll_StrStrW]
test rax, rax
je 0x14000769f
lea rdx, [0x140023928]
jmp 0x1400076f4
mov rdx, rsi
lea rcx, [rbp]
call qword [sym.imp.SHLWAPI.dll_StrStrW]
test rax, rax
je 0x1400076ba
lea rdx, str.Left
jmp 0x1400076f4
mov rdx, rsi
lea rcx, [rbp + 0x80]
call qword [sym.imp.SHLWAPI.dll_StrStrW]
test rax, rax
je 0x1400076d8
lea rdx, str.Right
jmp 0x1400076f4
mov rdx, rsi
lea rcx, [rbp + 0x180]
call qword [sym.imp.SHLWAPI.dll_StrStrW]
test rax, rax
je 0x1400076fd
lea rdx, str.Down
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_StrCpyW]
call fcn.140009680
mov rdx, rax
mov r8, rsi
mov rcx, r14
call fcn.140009ae0
mov ebx, eax
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140007721
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp ebx, 0xffffffff
jne 0x140007877
xor eax, eax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov word [rbp - 0x50], ax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov word [rbp - 0x20], ax
xor r9d, r9d
lea r8, str._04x
lea edx, [rbx + 0xa]
lea rcx, [rbp - 0x60]
call fcn.140013078
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx ecx, ax
and ecx, 0x3ff
lea r9d, [rbx + 0xa]
lea r8, [rbp - 0x30]
lea edx, [rbx + 2]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x1400077b9
lea r8, [rbp - 0x30]
lea edx, [rbx + 0xa]
lea rcx, [rbp - 0x60]
call fcn.140012ca8
lea edx, [rbx + 2]
lea rcx, [rbp - 0x60]
call qword [sym.imp.USER32.dll_LoadKeyboardLayoutW]
test rax, rax
je 0x1400077b9
mov r8, rsi
mov rdx, rax
mov rcx, r14
call fcn.140009ae0
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140007877
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
mov word [rbp - 0x38], ax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov word [rbp - 8], ax
mov r9d, 9
lea r8, str._04x
mov edx, r9d
lea rcx, [rbp - 0x48]
call fcn.140013078
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx ecx, ax
and ecx, 0x3ff
mov r9d, 9
lea r8, [rbp - 0x18]
lea edx, [r9 - 8]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x140007877
lea r8, [rbp - 0x18]
mov edx, 9
lea rcx, [rbp - 0x48]
call fcn.140012ca8
mov edx, 1
lea rcx, [rbp - 0x48]
call qword [sym.imp.USER32.dll_LoadKeyboardLayoutW]
test rax, rax
je 0x140007877
mov r8, rsi
mov rdx, rax
mov rcx, r14
call fcn.140009ae0
mov ebx, eax
jmp 0x140007877
mov ecx, 0x80004003
call fcn.140010920
int3
mov ecx, 0x80004003
call fcn.140010920
int3
mov ecx, 0x80004003
call fcn.140010920
int3
mov ecx, 0x80004003
call fcn.140010920
nop
mov eax, ebx
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.140012270
lea r11, [rsp + 0x310]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret