Function at 0x140076990
Capabilities:
Log keystrokes
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x1400af040]
xor rax, rsp
mov qword [rsp + 0x38], rax
xor edi, edi
movsx r9, r8w
mov qword [rsp + 0x28], rdx
mov rbx, rdx
cmp r9d, 0x69
ja case.0x1400769db.3
lea rdx, [0x140000000]
movzx eax, byte [rdx + r9 + 0x76cf0]
mov ecx, dword [rdx + rax*4 + 0x76ca4]
add rcx, rdx
jmp rcx
xorps xmm0, xmm0
lea rdx, str.LButton
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 7
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.RButton
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 7
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.MButton
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 7
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.XButton1
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 8
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.XButton2
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 8
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.NumPad0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 7
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.NumPad1
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 7
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.NumPad2
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 7
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.NumPad3
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 7
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.NumPad4
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 7
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.NumPad5
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 7
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.NumPad6
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 7
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.NumPad7
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 7
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.NumPad8
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 7
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.NumPad9
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 7
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, [0x14009f668]
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 3
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, str.Caps_Lock
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 9
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xorps xmm0, xmm0
lea rdx, [0x14009ea28]
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov r8d, 4
mov qword [rbx + 0x18], rdi
jmp 0x140076c80
xor eax, eax
mov word [rsp + 0x28], di
xor edx, edx
mov qword [rsp + 0x2a], rax
mov ecx, r9d
mov dword [rsp + 0x32], eax
mov word [rsp + 0x36], ax
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
shl eax, 0x10
mov r8d, 0x10
mov ecx, eax
lea rdx, [rsp + 0x28]
call qword [sym.imp.USER32.dll_GetKeyNameTextA]
xorps xmm0, xmm0
lea rcx, str.key_not_found
movups xmmword [rbx], xmm0
test eax, eax
mov qword [rbx + 0x10], rdi
lea rdx, [rsp + 0x28]
mov qword [rbx + 0x18], rdi
cmove rdx, rcx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], dil
jne 0x140076c77
mov rcx, rbx
call fcn.140003660
mov rax, rbx
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14008fdb0
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret