Function at 0x1400a8950
Capabilities:
Get keyboard layout

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
sub rsp, 0x258
movabs rax, 0x7ae4ca6fa6ec59
mov qword [rsp + 0x60], rax
movabs rax, 0x722fdd3969f152
cmp qword [rsp + 0x60], rax
je 0x1400a89e0
lea rcx, str.nulls_Embryonic_Disabled_Weepings
call qword [sym.imp.KERNEL32.dll_AddAtomW]
mov word [rsp + 0x78], ax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x100
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 2
mov edx, 0x80000000
lea rcx, str.introducedWaveletsPromenader_barrelledImploding
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0xd8], rax
lea rcx, str.Encumbrance_Succinct
call qword [sym.imp.KERNEL32.dll_AddAtomW]
mov word [rsp + 0x7c], ax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x98], rax
movabs rax, 0x798c4cf2610ce9
cmp qword [rsp + 0x98], rax
je 0x1400a8a91
movabs rax, 0x7ae4ca6fa6ec59
cmp qword [rsp + 0x98], rax
je 0x1400a8a1e
jmp 0x1400a8b3a
mov eax, 0xb48
mov word [rsp + 0x40], ax
movzx eax, word [rsp + 0x40]
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0xb48
je 0x1400a8a47
cmp dword [rsp + 0x68], 0xf2b
je 0x1400a8a67
jmp 0x1400a8a8c
movzx eax, word [rsp + 0x40]
mov word [rsp + 0x48], ax
movzx eax, word [section..data]
mov word [rsp + 0x44], ax
mov dword [rsp + 0x54], 0x2e4b
jmp 0x1400a8a8c
mov rdx, qword [rsp + 0x268]
mov ecx, dword [rsp + 0x260]
call fcn.1400a8950
movsx eax, word [section..data]
add eax, 0x499
mov word [rsp + 0x44], ax
jmp 0x1400a8b3a
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 0x5d73
je 0x1400a8aab
jmp 0x1400a8b28
movzx eax, word [rsp + 0x40]
sub eax, 0xb81
mov word [rsp + 0x48], ax
movsx eax, word [rsp + 0x44]
and eax, 0x446
movsx ecx, word [section..data]
cmp eax, ecx
jge 0x1400a8af2
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
movzx r9d, word [rsp + 0x48]
movzx r8d, word [rsp + 0x48]
mov edx, dword [rsp + 0x54]
mov cl, 0xb4
call fcn.1400a87f0
jmp 0x1400a8b26
movzx eax, word [rsp + 0x40]
imul eax, eax, 0xd0f
movzx ecx, word [rsp + 0x48]
cmp eax, ecx
jg 0x1400a8b26
mov r8d, 0x55
mov edx, 0xc5
mov rcx, qword [rsp + 0xe0]
call qword [sym.imp.USER32.dll_SetMenuDefaultItem]
mov dword [rsp + 0x90], eax
jmp 0x1400a8b3a
movabs rax, 0x77aca0bb7f71a7
mov qword [rsp + 0x268], rax
movzx eax, word [rsp + 0x40]
mov dword [rsp + 0x84], eax
cmp dword [rsp + 0x84], 0x139
je 0x1400a8b58
jmp 0x1400a8c1a
movsx eax, word [section..data]
add eax, 0x7a9
mov word [rsp + 0x44], ax
movzx eax, word [rsp + 0x48]
sub eax, 0x865
movzx ecx, word [rsp + 0x40]
cmp eax, ecx
jne 0x1400a8b8d
movzx eax, word [rsp + 0x40]
or eax, 0x3a6
mov word [rsp + 0x48], ax
jmp 0x1400a8b96
mov eax, dword [rsp + 0x50]
and eax, 0x63d6
mov eax, dword [rsp + 0x260]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
sub eax, 0xcae0
cmp eax, dword [rsp + 0x260]
jae 0x1400a8bf4
mov eax, dword [rsp + 0x54]
sub eax, 0x7f43
mov dword [rsp + 0x54], eax
mov r8d, 0xdf
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xe8]
call qword [sym.imp.USER32.dll_GetWindowModuleFileNameW]
mov dword [rsp + 0x58], eax
movabs rax, 0x76ce485b1100d5
mov qword [rsp + 0x268], rax
jmp 0x1400a8c15
mov eax, dword [rsp + 0x50]
add eax, 0xea03
cmp eax, dword [rsp + 0x260]
je 0x1400a8c15
movzx eax, word [rsp + 0x40]
add eax, 0xc81
mov word [rsp + 0x48], ax
jmp 0x1400a8e5e
movzx eax, word [rsp + 0x44]
mov word [rsp + 0x4c], ax
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0xb0], rax
movabs rax, 0x7161ef4dee54e0
cmp qword [rsp + 0xb0], rax
je 0x1400a8c4d
jmp 0x1400a8d06
mov edx, 0x1b
mov ecx, 0xa1
call qword [sym.imp.USER32.dll_SetCaretPos]
mov dword [rsp + 0x6c], eax
mov rdx, qword [rsp + 0x268]
mov ecx, dword [rsp + 0x58]
call fcn.1400a8950
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x88], 0x36b3
je 0x1400a8c8c
jmp 0x1400a8cf2
mov rax, qword [rsp + 0x60]
shr rax, 1
mov qword [rsp + 0x60], rax
movabs rax, 0x70d5ed55d54906
cmp qword [rsp + 0x268], rax
jne 0x1400a8ce3
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x260], eax
mov rdx, qword [rsp + 0x268]
mov ecx, dword [rsp + 0x58]
call fcn.1400a8950
lea rdx, [rsp + 0xb8]
mov ecx, 0x90
call qword [sym.imp.USER32.dll_GetKeyboardLayoutList]
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x58], eax
call fcn.1400a7770
jmp 0x1400a8d04
movabs rax, 0x7821217f66324b
mov qword [rsp + 0x268], rax
jmp 0x1400a8d27
mov dword [rsp + 0x130], 0x11c
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0xac], eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x200
mov dword [rsp + 0x20], 5
xor r9d, r9d
mov r8d, 2
mov edx, 0x40000000
lea rcx, str.unfavourable_aerobicGestateKnight_alleviate
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0xf0], rax
movsx eax, word [rsp + 0x44]
mov rcx, qword [rsp + 0x70]
movsx ecx, word [rcx]
xor eax, ecx
movsx ecx, word [rsp + 0x4c]
mov dword [rsp + 0x8c], ecx
movsx edx, word [section..data]
movzx ecx, dl
mov edx, dword [rsp + 0x8c]
shl edx, cl
mov ecx, edx
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0xc0], rax
movabs rax, 0x7aa33688bf0ac8
cmp qword [rsp + 0xc0], rax
je 0x1400a8dd0
jmp 0x1400a8de4
movsx eax, word [rsp + 0x4c]
mov rcx, qword [rsp + 0x70]
movsx ecx, word [rcx]
add eax, ecx
mov word [rsp + 0x44], ax
mov rax, qword [rsp + 0x70]
movsx eax, word [rax]
movsx ecx, word [rsp + 0x4c]
cdq
idiv ecx
movsx ecx, word [rsp + 0x44]
movsx edx, word [section..data]
imul ecx, edx
cmp eax, ecx
je 0x1400a8e4a
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0xd0]
mov ecx, 0x7f
call qword [sym.imp.USER32.dll_SetSysColors]
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x20], rax
movzx r9d, word [rsp + 0x40]
movzx r8d, word [rsp + 0x48]
mov edx, dword [rsp + 0x54]
mov cl, 0xba
call fcn.1400a87f0
movsx eax, word [rsp + 0x44]
movsx ecx, word [rsp + 0x4c]
and eax, ecx
mov rcx, qword [rsp + 0x70]
mov word [rcx], ax
movzx eax, word [rsp + 0x40]
xor eax, 0xe67
movzx ecx, word [rsp + 0x48]
cmp eax, ecx
jg 0x1400a8f18
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.USER32.dll_SubtractRect]
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x60]
shr rax, 0x10
mov qword [rsp + 0x60], rax
movabs rax, 0x7b304d6d6c2e99
mov qword [rsp + 0x268], rax
movsx eax, word [section..data]
shl eax, 0xb
mov word [rsp + 0x44], ax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0xf8]
mov r8d, 0x17
mov edx, 0xb8
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.USER32.dll_SetMenuItemBitmaps]
mov dword [rsp + 0xa0], eax
lea r9, [fcn.1400a7ed0]
mov r8d, 0xd0
lea rdx, [rsp + 0x44]
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.USER32.dll_SetTimer]
mov dword [rsp + 0x50], eax
jmp 0x1400a8f4b
movsx eax, word [rsp + 0x44]
or eax, 0x264
movsx ecx, word [section..data]
cmp eax, ecx
jg 0x1400a8f4b
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x118]
call qword [sym.imp.USER32.dll_GetPropW]
mov qword [rsp + 0x120], rax
movsx eax, word [section..data]
add rsp, 0x258
ret