Function at 0x140005500
Capabilities:
Get keyboard layout

Disassembly:
sub rsp, 0x198
mov dword [rsp + 0x5c], r9d
mov dword [rsp + 0x58], r8d
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x100], rdx
mov dword [rsp + 0x10c], r8d
mov dword [rsp + 0x110], r9d
call sub.USER32.dll_GetForegroundWindow
mov rcx, rax
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
xor eax, eax
mov edx, eax
call sub.USER32.dll_GetWindowThreadProcessId
mov rdx, qword [rsp + 0x50]
mov ecx, eax
mov dword [rsp + 0x114], ecx
add rdx, 8
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x188], rdx
mov qword [rsp + 0x190], 0x100
mov qword [rsp + 0x118], rdx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
lea rax, [rsp + 0x80]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], 0x20
mov qword [rsp + 0x120], rax
call sub.USER32.dll_GetKeyboardLayout
mov ecx, dword [rsp + 0x58]
mov edx, dword [rsp + 0x5c]
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
mov r10, rax
mov rax, r10
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x128], r10
mov rax, rsp
mov qword [rax + 0x30], r10
mov dword [rax + 0x28], 0
mov dword [rax + 0x20], 7
call sub.USER32.dll_ToUnicodeEx
mov dword [rsp + 0xc8], eax
mov byte [rsp + 0xcf], 0
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x7c], eax
sub eax, 0xffffffff
je 0x14000567f
jmp 0x140005645
mov eax, dword [rsp + 0x7c]
test eax, eax
je 0x14000566b
jmp 0x14000564f
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x130], rax
cmp dword [rsp + 0xc8], 0
jg 0x1400056d4
jmp 0x1400056c0
movabs rax, 0x8000000000000000
mov qword [rsp + 0xd0], rax
jmp 0x1400056b1
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov byte [rsp + 0xcf], 1
call fcn.140005830
movabs rax, 0x8000000000000000
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x50]
cmp dword [rax], 0
je 0x140005721
jmp 0x140005748
movabs rax, 0x8000000000000000
mov qword [rsp + 0xd0], rax
jmp 0x1400056b1
movsxd rdx, dword [rsp + 0xc8]
lea rcx, [rsp + 0x80]
lea r8, str.C:Userskarol.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rdev_0.5.3_srcwindowskeyboard.rs
call fcn.140003e80
mov qword [rsp + 0x38], rax
mov r8, rdx
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0xe8]
call fcn.140019040
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0xe8]
call fcn.140003fc0
jmp 0x1400056b1
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x58]
mov dword [rax], edx
mov dword [rax + 4], ecx
mov cl, byte [rsp + 0xcf]
and cl, 1
mov byte [rax + 0x108], cl
jmp 0x1400057f9
mov rax, qword [rsp + 0x50]
test byte [rax + 0x108], 1
je 0x140005721
lea rcx, [rsp + 0x80]
xor edx, edx
mov r8d, 0x40
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x160], 0x20
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x138], rcx
mov r8, rdx
add r8, 8
mov qword [rsp + 0x178], r8
mov qword [rsp + 0x180], 0x100
mov qword [rsp + 0x140], r8
mov ecx, dword [rdx]
mov edx, dword [rdx + 4]
lea r9, [rsp + 0x80]
xor r10d, r10d
mov dword [rsp + 0x20], 0x20
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x30], rax
call sub.USER32.dll_ToUnicodeEx
mov rax, qword [rsp + 0x50]
mov dword [rax], 0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xd0]
mov qword [rcx], rdx
mov rdx, qword [rsp + 0xd8]
mov qword [rcx + 8], rdx
mov rdx, qword [rsp + 0xe0]
mov qword [rcx + 0x10], rdx
add rsp, 0x198
ret