Function at 0x14009fbf0
Capabilities:
Log keystrokes via polling

Disassembly:
mov byte [rsp + 8], cl
sub rsp, 0x198
movabs rax, 0x9502a34726b7ca0e
mov qword [rsp + 0x78], rax
mov byte [rsp + 0x54], 0x72
movabs rax, 0x5f5ae1de2c3e54e1
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xd8], rax
movabs rax, 0x4c8e23ccd326fbb
cmp qword [rsp + 0xd8], rax
je 0x14009fc77
movabs rax, 0xc8c678fd34528a1
cmp qword [rsp + 0xd8], rax
je 0x14009fc58
jmp 0x14009fd00
movabs rax, 0x3dbb0278181ac6e9
mov rcx, qword [rsp + 0x60]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
jmp 0x14009fd00
movzx eax, byte [rsp + 0x1a0]
mov byte [rsp + 0x90], al
cmp byte [rsp + 0x90], 0x4e
je 0x14009fcae
cmp byte [rsp + 0x90], 0xd6
je 0x14009fc9c
jmp 0x14009fd00
mov edx, 0x8a
mov rcx, qword [rsp + 0x60]
call fcn.1400a03d0
nop
jmp 0x14009fd00
mov dword [rsp + 0x40], 0x8a
mov dword [rsp + 0x38], 0x6d
mov dword [rsp + 0x30], 0x6d
mov dword [rsp + 0x28], 0x4a
mov dword [rsp + 0x20], 0x43
mov r9d, 0x10
lea r8, [fcn.14009fbf0]
mov rdx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x120]
call qword [sym.imp.USER32.dll_GrayStringW]
mov dword [rsp + 0xac], eax
movabs rax, 0xa3f5ab0f7e328af
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xe0], rax
movabs rax, 0x866413d7d8269bbf
cmp qword [rsp + 0xe0], rax
je 0x14009fd58
movabs rax, 0x9f41fdf81e9af2bd
cmp qword [rsp + 0xe0], rax
je 0x14009fdd3
jmp 0x14009fe19
movabs rax, 0x6475d8b795e544de
mov rcx, qword [rsp + 0x78]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x100], rax
movabs rax, 0x2855fdf0535429bc
cmp qword [rsp + 0x100], rax
je 0x14009fd95
jmp 0x14009fdc3
mov ecx, 1
call qword [sym.imp.USER32.dll_BlockInput]
mov dword [rsp + 0xf8], eax
mov edx, 0xbe
mov rcx, qword [rsp + 0x138]
call qword [sym.imp.USER32.dll_ShowWindowAsync]
mov dword [rsp + 0xc8], eax
jmp 0x14009fdd1
mov rax, qword [rsp + 0x60]
shl rax, 0x2c
mov qword [rsp + 0x60], rax
jmp 0x14009fe19
mov eax, 0x7c2
mov word [rsp + 0x50], ax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xb0], rax
movabs rax, 0x3cef636d2a486c8
mov rcx, qword [rsp + 0xb0]
xor rcx, rax
mov rax, rcx
cmp rax, qword [rsp + 0x78]
jbe 0x14009fe19
mov edx, 0xa
mov rcx, qword [rsp + 0x60]
call fcn.1400a03d0
nop
mov eax, dword [section..data]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 0x5509bc99
je 0x14009fe51
cmp dword [rsp + 0x94], 0x7811c78e
je 0x1400a02b3
jmp 0x1400a0307
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0xd4], eax
cmp dword [rsp + 0xd4], 0xd836a86d
je 0x14009fe6e
jmp 0x14009ff47
movabs rax, 0x5678ceac3eadb96
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x108], rax
movabs rax, 0x197915c13bed669f
cmp qword [rsp + 0x108], rax
je 0x14009feae
jmp 0x14009ff33
movzx eax, word [rsp + 0x50]
cmp eax, 0xf6e
jl 0x14009fecf
mov rcx, qword [rsp + 0xe8]
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
mov dword [rsp + 0x9c], eax
movzx eax, byte [rsp + 0x1a0]
mov byte [rsp + 0x98], al
cmp byte [rsp + 0x98], 0x56
je 0x14009ff22
cmp byte [rsp + 0x98], 0xed
je 0x14009fef4
jmp 0x14009ff31
movzx eax, word [rsp + 0x50]
and eax, 0x6fd
mov word [rsp + 0x50], ax
mov rdx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0xe8]
call qword [sym.imp.USER32.dll_SetMenu]
mov dword [rsp + 0xc4], eax
jmp 0x14009ff31
movzx eax, word [rsp + 0x50]
add eax, 0xb9e
mov word [rsp + 0x50], ax
jmp 0x14009ff45
mov edx, dword [rsp + 0x9c]
mov rcx, qword [rsp + 0x60]
call fcn.1400a03d0
nop
jmp 0x14009ff7d
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0xbc], eax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0xa4], eax
movzx eax, byte [rsp + 0x1a0]
mov byte [rsp + 0xa0], al
cmp byte [rsp + 0xa0], 0
je 0x14009ffa5
cmp byte [rsp + 0xa0], 0x68
je 0x14009ffd9
jmp 0x1400a00a6
movzx eax, word [rsp + 0x58]
mov word [rsp + 0x70], ax
movzx eax, word [rsp + 0x70]
mov word [rsp + 0x68], ax
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xf0]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
jmp 0x1400a00a6
mov eax, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0xa4]
sub ecx, eax
mov eax, ecx
cmp eax, dword [section..data]
jne 0x1400a0088
movzx eax, byte [rsp + 0x1a0]
mov byte [rsp + 0xb8], al
cmp byte [rsp + 0xb8], 0xaa
je 0x1400a000f
jmp 0x1400a0079
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
add rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
mov byte [rsp + 0x1a0], 0x55
xor r8d, r8d
lea rdx, [fcn.1400a0b80]
mov rcx, qword [rsp + 0xe8]
call qword [sym.imp.USER32.dll_EnumPropsExW]
mov dword [rsp + 0xfc], eax
mov rax, qword [rsp + 0x60]
shl rax, 9
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
mov edx, dword [rsp + 0xbc]
mov rcx, qword [rsp + 0x60]
call fcn.1400a03d0
nop
jmp 0x1400a0088
movzx eax, word [rsp + 0x50]
or eax, 0xce0
mov word [rsp + 0x50], ax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rax]
xor rax, rcx
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
movzx eax, word [rsp + 0x50]
cmp eax, 0xd2d
jl 0x1400a00c0
movzx ecx, byte [rsp + 0x1a0]
call fcn.1400a0b80
nop
lea rax, [rsp + 0x68]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov qword [rsp + 0x110], rax
movabs rax, 0x5f5ae1de2c3e54e1
cmp qword [rsp + 0x110], rax
je 0x1400a00f6
jmp 0x1400a0114
lea rax, [rsp + 0x50]
mov qword [rsp + 0x148], rax
movsx eax, byte [rsp + 0x54]
add eax, 0x73
mov byte [rsp + 0x54], al
jmp 0x1400a01fc
mov rax, qword [rsp + 0x80]
movsx eax, word [rax]
movsx ecx, word [rsp + 0x68]
sub eax, ecx
mov rcx, qword [rsp + 0x80]
mov word [rcx], ax
mov eax, dword [rsp + 0xa8]
mov ecx, dword [rsp + 0x6c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [section..data]
mov edx, dword [rsp + 0xa4]
add edx, ecx
mov ecx, edx
mov rax, qword [rsp + 0x80]
movsx eax, word [rax]
mov dword [rsp + 0xc0], eax
cmp dword [rsp + 0xc0], 0x550d
je 0x1400a0172
jmp 0x1400a01b9
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x20], rax
mov r9d, 0xc5
mov r8, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x168]
call qword [sym.imp.KERNEL32.dll_SearchPathW]
mov dword [rsp + 0xa8], eax
jmp 0x1400a01f6
movsx eax, word [rsp + 0x58]
movsx ecx, word [rsp + 0x68]
and eax, ecx
mov rcx, qword [rsp + 0x80]
mov word [rcx], ax
movzx eax, word [rsp + 0x50]
sub eax, 0x3ef
mov word [rsp + 0x50], ax
xor edx, edx
mov rcx, qword [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_SetThreadPriorityBoost]
mov dword [rsp + 0xc4], eax
call fcn.14009fa10
nop
lea rdx, str.roomier_visitor_reconfiguring
lea rcx, str.Biking_penumbra_Cagy
call qword [sym.imp.USER32.dll_CharPrevW]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x78]
movzx ecx, al
mov rax, qword [rsp + 0xf0]
shr rax, cl
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x80]
movsx eax, word [rax]
movsx ecx, word [rsp + 0x70]
and eax, ecx
mov rcx, qword [rsp + 0x80]
mov word [rcx], ax
movzx eax, word [rsp + 0x50]
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0xd0], 0x4d2
je 0x1400a026b
jmp 0x1400a02a9
mov cx, 0x45
call qword [sym.imp.USER32.dll_OemKeyScan]
mov dword [rsp + 0xa8], eax
mov rax, qword [rsp + 0x80]
movsx eax, word [rax]
movsx ecx, word [rsp + 0x58]
add eax, ecx
mov rcx, qword [rsp + 0x80]
mov word [rcx], ax
call qword [sym.imp.USER32.dll_GetCapture]
mov qword [rsp + 0x128], rax
jmp 0x1400a02b1
mov byte [rsp + 0x1a0], 0xc5
jmp 0x1400a0307
movabs rax, 0x6cc8d8fd100c9127
cmp qword [rsp + 0x60], rax
jne 0x1400a0301
call qword [sym.imp.USER32.dll_GetCursor]
mov qword [rsp + 0x178], rax
mov byte [rsp + 0x1a0], 0x9e
mov ecx, 0xff
call qword [sym.imp.USER32.dll_SetProcessDefaultLayout]
mov dword [rsp + 0xac], eax
mov rcx, qword [rsp + 0x180]
call qword [sym.imp.USER32.dll_PaintDesktop]
mov dword [rsp + 0xc8], eax
call fcn.14009fa10
nop
mov ecx, 0x7c
call qword [sym.imp.USER32.dll_GetKeyState]
mov word [rsp + 0x58], ax
movzx eax, word [rsp + 0x50]
mov dword [rsp + 0xcc], eax
cmp dword [rsp + 0xcc], 0xe51
je 0x1400a0332
jmp 0x1400a0392
mov eax, 0x4418
mov word [rsp + 0x58], ax
lea rdx, [rsp + 0x120]
mov rcx, qword [rsp + 0x128]
call qword [sym.imp.USER32.dll_GetWindowPlacement]
mov dword [rsp + 0xac], eax
movabs rax, 0x9f164f4fc79ae39
mov rcx, qword [rsp + 0xb0]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
movzx eax, word [rsp + 0x50]
sar eax, 1
mov word [rsp + 0x50], ax
call qword [sym.imp.USER32.dll_GetCursor]
mov qword [rsp + 0x188], rax
jmp 0x1400a03ae
movzx ecx, byte [rsp + 0x1a0]
call fcn.14009fbf0
mov eax, dword [section..data]
sub eax, 0xe677f884
mov dword [rsp + 0x6c], eax
mov eax, 0x79
add rsp, 0x198
ret