Function at 0x140086984
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov r14, r9
mov esi, r8d
mov rbp, rdx
mov rdi, rcx
mov qword [rsp + 0x30], rcx
xor ebx, ebx
test rcx, rcx
je 0x1400869b2
lock inc dword [rcx + 0x20]
cmp esi, 0x82
je 0x14018b8fc
mov eax, VarUI4FromDisp
cmp esi, eax
ja 0x140086a5a
je 0x14018bb24
cmp esi, 7
je 0x14018baf1
cmp esi, 8
je 0x14018bae3
cmp esi, 0xf
je 0x14018bb38
cmp esi, 0x3d
je 0x14018ba19
cmp esi, 0x4e
je 0x14018b9f3
cmp esi, 0xff
ja 0x14018b919
mov rax, qword [0x1403889b0]
cmp rax, 0xffffffffffffffff
je 0x14018bbbc
test rax, rax
je 0x140086a39
mov r9, qword [rsp + 0x80]
mov r8, r14
mov edx, esi
mov rcx, rbp
call qword [case.0x14006b68f.0]
mov rbx, rax
lea rcx, [rsp + 0x30]
call fcn.14008bd4c
mov rax, rbx
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret
mov eax, esi
sub eax, 0x200
je 0x14018bba7
sub eax, 1
je 0x14018bb96
sub eax, 1
je 0x14018bb85
sub eax, 2
je 0x14018bb6e
sub eax, 1
je 0x14018bb5d
sub eax, 0x9e
je 0x14018bb49
cmp eax, 0x75
jne 0x140086a0a
jmp 0x14018bb38
mov r8, qword [rsp + 0x88]
lea rdx, [0x140086950]
mov rcx, rbp
call fcn.140045264
nop
jmp 0x1400869be
cmp esi, 0x102
jbe 0x14018b930
lea eax, [rsi - 0x104]
cmp eax, 2
ja 0x140086a0a
cmp esi, 0x101
jne 0x14018b957
cmp r14, 0x20
je 0x14018b944
cmp r14, 0xd
jne 0x14018b9a3
mov edx, 1
mov rcx, rdi
call fcn.1401e2afc
nop
jmp 0x140086a39
lea eax, [rsi - 0x100]
test eax, 0xfffffffb
jne 0x14018b9a3
cmp r14, 0x5d
je 0x14018b985
cmp r14, 0x79
jne 0x14018b9a3
lea ecx, [r14 - 0x69]
call qword [sym.imp.USER32.dll_GetKeyState]
nop dword [rax + rax]
test ax, ax
jns 0x14018b9a3
mov edx, 3
mov rcx, rdi
call fcn.1401e5148
mov rdx, rbp
mov rcx, rdi
call fcn.1401e4598
nop
jmp 0x140086a39
mov rcx, qword [rdi + 8]
call qword [0x1403ad6f0]
nop dword [rax + rax]
mov rcx, rax
mov r9, qword [rsp + 0x80]
mov r8, r14
mov edx, esi
call qword [case.0x14004486b.0]
nop dword [rax + rax]
test rax, rax
je 0x140086a39
mov r9, qword [rsp + 0x80]
mov r8, r14
mov edx, esi
mov rcx, rbp
call fcn.140264584
nop
jmp 0x140086a36
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x10], 0xfffffdf7
jne 0x140086a39
mov rdx, rbp
mov rcx, rdi
call fcn.1401e4c0c
nop
jmp 0x140086a36
cmp dword [rsp + 0x80], 0xfffffffc
jne 0x140086a0a
lea rsi, [rdi + 0x140]
mov r8, qword [rsi]
test r8, r8
jne 0x14018bac7
mov qword [rsp + 0x60], rbx
lea rcx, [rsp + 0x60]
call fcn.14000a6a4
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [0x14030d590]
mov r8d, 0xfffffffc
lea rdx, str.Button
mov rcx, rbp
call qword [0x1403ad0e0]
nop dword [rax + rax]
test eax, eax
js 0x14018baba
lea rdx, [0x14038bc10]
mov ecx, 0x48
call fcn.1400a1c8c
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14018baae
mov r9d, 1
mov r8, rdi
mov rdx, qword [rsp + 0x60]
mov rcx, rax
call fcn.1401e28d4
mov rbx, rax
mov rdx, rbx
mov rcx, rsi
call fcn.1401e2a5c
nop
lea rcx, [rsp + 0x60]
call fcn.14000a6a4
mov r8, qword [rsi]
mov rdx, r14
lea rcx, [0x140309bb0]
call qword [case.0x140004257.0]
nop dword [rax + rax]
nop
jmp 0x140086a36
mov rcx, rdi
call fcn.1401e2a90
nop
jmp 0x140086a0a
mov rcx, rdi
call fcn.1401e2a90
mov byte [rdi + 0x77], 1
mov rdx, qword [rdi + 0x48]
mov rcx, rdi
call fcn.1401e44f0
xor r8d, r8d
xor edx, edx
mov rcx, qword [rdi + 0x48]
call qword [case.0x140031c56.0]
nop dword [rax + rax]
nop
jmp 0x140086a0a
mov r8, r14
mov rdx, rbp
mov rcx, rdi
call fcn.1401e4ac0
nop
jmp 0x140086a36
mov rdx, rbp
mov rcx, rdi
call fcn.1401e49b0
nop
jmp 0x140086a36
mov byte [rdi + 0x78], bl
mov rdx, rbp
mov rcx, rdi
call fcn.1401e4450
nop
jmp 0x140086a0a
mov rdx, rbp
mov rcx, rdi
call fcn.1401e4598
nop
jmp 0x140086a36
mov edx, 3
mov rcx, rdi
call fcn.1401e5148
mov ebx, 1
jmp 0x140086a39
mov rdx, rbp
mov rcx, rdi
call fcn.1401e4408
nop
jmp 0x140086a36
mov rdx, rbp
mov rcx, rdi
call fcn.1401e4338
nop
jmp 0x140086a36
mov byte [rdi + 0x78], 1
mov rdx, rbp
mov rcx, rdi
call fcn.1401e44f0
nop
jmp 0x140086a0a
mov edx, reloc.SHLWAPI.dll_Ordinal_413
lea rcx, [0x1403889b0]
call fcn.1400642a8
mov rax, qword [0x1403889b0]
jmp 0x140086a1b