Function at 0x140086960
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
mov qword [rbp - 0x30], 1
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], 2
mov qword [rbp - 0x10], 0
xor eax, eax
mov r15, qword [sym.imp.USER32.dll_GetAsyncKeyState]
lea rdi, [rbp - 0x18]
xor ebx, ebx
jmp 0x1400869c6
mov rdx, qword [rbp - 8]
inc ebx
mov rax, qword [rbp - 0x18]
mov word [rax + rdx*2], r14w
mov rax, qword [rbp - 8]
inc rax
mov qword [rbp - 8], rax
cmp ebx, 0x100
jae 0x1400869ee
mov ecx, ebx
call r15
mov r14d, eax
mov rdx, qword [rbp - 8]
cmp rdx, qword [rbp - 0x10]
jne 0x1400869b4
mov rcx, rdi
call fcn.140087050
jmp 0x1400869b0
mov rcx, qword [rbp - 0x18]
lea rbx, [rcx + rax*2]
xor r13d, r13d
lea rdi, [rbp - 0x30]
lea r12, [0x14019d3e8]
jmp 0x140086a19
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x30]
mov byte [rax + rdx], r14b
inc qword [rbp - 0x20]
mov rcx, r15
cmp rcx, rbx
je 0x140086fa4
mov rax, r13
lea r15, [rcx + 2]
inc r13
cmp word [rcx], 0
mov rcx, r15
jns 0x140086a19
movzx ecx, ax
add ecx, 0xfffffff8
cmp ecx, 0xd6
ja case.0x140086a4a.10
movsxd rcx, dword [r12 + rcx*4]
add rcx, r12
jmp rcx
mov r14b, 0x38
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x3e
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x40
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
add al, 0xd0
mov rcx, r15
cmp al, 0x2a
ja 0x140086a19
movzx ecx, al
movabs rdx, 0x7fffffe03ff
bt rdx, rcx
mov rcx, r15
jae 0x140086a19
movsx rax, al
lea rcx, [0x14019d3bb]
movzx r14d, byte [rax + rcx]
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x39
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x3f
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x30
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x31
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x43
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x44
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x42
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x41
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x3c
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x3a
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x3d
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x3b
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x45
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x46
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x47
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x48
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x49
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x4a
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x4b
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x4c
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x4d
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x4e
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x4f
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x50
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x54
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x52
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x51
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x53
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x24
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x25
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x26
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x27
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x28
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x29
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x2a
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x2b
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x2c
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x2d
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x2e
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x2f
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x34
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x35
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x32
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x33
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x36
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x37
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x5b
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x57
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x5d
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x56
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x5e
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x5f
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x55
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x58
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x5a
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x59
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
jmp 0x140086f97
mov r14b, 0x5c
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x28]
jne 0x140086a0a
mov rcx, rdi
call fcn.140087110
jmp 0x140086a06
mov rax, qword [rbp - 0x20]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rsi], xmm0
mov rdx, qword [rbp - 0x10]
test rdx, rdx
je 0x140086fce
mov rcx, qword [rbp - 0x18]
add rdx, rdx
mov r8d, 2
call fcn.140001f50
mov rax, rsi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret