Function at 0x180178710
Capabilities:
Get keyboard layout

Disassembly:
push rbp
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x170], rbx
mov rax, qword [0x1803fc9f0]
xor rax, rsp
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x40]
call qword [sym.imp.USER32.dll_GetKeyboardLayoutNameA]
test eax, eax
je 0x180178755
mov byte [rbp + 0x49], 0
movzx eax, byte [rbp + 0x40]
jmp 0x18017875a
xor al, al
mov byte [rbp + 0x40], al
xor bl, bl
test al, al
je 0x180178795
mov rdx, qword [0x180412640]
add rdx, 0x1c64
mov r8d, 9
lea rcx, [rbp + 0x40]
call fcn.1802d82e0
test eax, eax
je 0x1801787bc
mov rcx, qword [0x180412640]
add rcx, 0x1c64
lea rdx, [rbp + 0x40]
jmp 0x1801787af
mov rcx, qword [0x180412640]
add rcx, 0x1c64
cmp byte [rcx], 0
jne 0x1801787bc
lea rdx, [0x180036dd8]
mov bl, 1
mov r8d, 0xa
call fcn.1802b1e30
mov rax, qword [0x180412640]
mov ecx, dword [rax + 0x1c74]
cmp dword [rax + 0x1c70], ecx
je 0x1801787d9
mov dword [rax + 0x1c70], ecx
jmp 0x1801787e1
test bl, bl
je 0x1801789cb
lea rcx, [rbp - 0x20]
call fcn.1800b2330
nop
lea rdx, [0x180036e38]
lea rcx, [rsp + 0x60]
call fcn.1800b24f0
nop
lea rdx, [0x180036e24]
lea rcx, [rsp + 0x40]
call fcn.1800aaba0
nop
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.1800b29c0
mov ecx, dword [rsp + 0x60]
mov dword [rax], ecx
lea rcx, [rax + 8]
lea rdx, [rsp + 0x68]
call fcn.1800b4800
nop
lea rcx, [rsp + 0x40]
call fcn.1800ad110
nop
lea rcx, [rsp + 0x68]
call fcn.1800b23b0
mov rdx, qword [0x180412640]
add rdx, 0x1c64
lea rcx, [rsp + 0x60]
call fcn.1800b24f0
nop
lea rdx, [0x180035c9c]
lea rcx, [rsp + 0x40]
call fcn.1800aaba0
nop
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.1800b29c0
mov ecx, dword [rsp + 0x60]
mov dword [rax], ecx
lea rcx, [rax + 8]
lea rdx, [rsp + 0x68]
call fcn.1800b4800
nop
lea rcx, [rsp + 0x40]
call fcn.1800ad110
nop
lea rcx, [rsp + 0x68]
call fcn.1800b23b0
mov rax, qword [0x180412640]
mov edx, dword [rax + 0x1c70]
lea rcx, [rsp + 0x60]
call fcn.1800b2760
nop
lea rdx, [0x180036e60]
lea rcx, [rsp + 0x40]
call fcn.1800aaba0
nop
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.1800b29c0
mov ecx, dword [rsp + 0x60]
mov dword [rax], ecx
lea rcx, [rax + 8]
lea rdx, [rsp + 0x68]
call fcn.1800b4800
nop
lea rcx, [rsp + 0x40]
call fcn.1800ad110
nop
lea rcx, [rsp + 0x68]
call fcn.1800b23b0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, eax
lea rcx, [rsp + 0x60]
call fcn.1800b2760
nop
lea rdx, [0x180036e70]
lea rcx, [rsp + 0x40]
call fcn.1800aaba0
nop
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.1800b29c0
mov ecx, dword [rsp + 0x60]
mov dword [rax], ecx
lea rcx, [rax + 8]
lea rdx, [rsp + 0x68]
call fcn.1800b4800
nop
lea rcx, [rsp + 0x40]
call fcn.1800ad110
nop
lea rcx, [rsp + 0x68]
call fcn.1800b23b0
lea rcx, [rsp + 0x38]
call fcn.1800ba060
mov r9, qword [rax]
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x40]
mov rcx, rax
call qword [r9]
nop
lea rcx, [rbp - 0x40]
call fcn.1800ab980
mov ebx, eax
lea rcx, [rbp - 0x40]
call fcn.1800ab970
mov rdx, rax
mov qword [rsp + 0x20], 0
mov r9d, 1
mov r8d, ebx
lea ecx, [r9 + 0xf]
call fcn.18017f810
nop
lea rcx, [rbp - 0x40]
call fcn.1800ad110
nop
lea rcx, [rbp - 0x18]
call fcn.1800b23b0
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.1802b85a0
mov rbx, qword [rsp + 0x170]
add rsp, 0x160
pop rbp
ret