Function at 0x140086590
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 8], rcx
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1120]
mov eax, 0x1220
call fcn.14007e560
sub rsp, rax
movaps xmmword [rsp + 0x1210], xmm6
xor sil, sil
movaps xmmword [rsp + 0x1200], xmm7
xor r14d, r14d
movaps xmmword [rsp + 0x11f0], xmm8
movabs r15, 0x7fffffffffffffff
movaps xmmword [rsp + 0x11e0], xmm9
movabs r12, 0x7ffffffffff0bdbf
movaps xmmword [rsp + 0x11d0], xmm10
movaps xmmword [rsp + 0x11c0], xmm11
movss xmm11, dword [0x140315444]
movaps xmmword [rsp + 0x11b0], xmm12
movss xmm12, dword [0x1403153f0]
movaps xmmword [rsp + 0x11a0], xmm13
movss xmm13, dword [0x140315494]
movaps xmmword [rsp + 0x1190], xmm14
movss xmm14, dword [0x140315624]
nop dword [rax]
cmp qword [0x140376308], r14
je 0x14008667b
cmp qword [0x140376328], r14
je 0x14008667b
cmp byte [0x140375f50], r14b
je 0x14008667b
cmp byte [0x140375fc8], r14b
jne 0x140086688
mov qword [0x1403758f0], r14
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140086650
mov ecx, dword [0x140375fe4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400868b9
mov rdi, qword [0x140375c20]
movaps xmm10, xmm14
mov rbx, qword [0x140375c18]
cmp rbx, rdi
je 0x1400868b0
nop dword [rax + rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400868a0
cmp rcx, qword [0x140376308]
je 0x1400868a0
movd xmm0, dword [0x1403760c0]
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [rbx + 0x34]
jae 0x1400868a0
cmp byte [0x140375ff4], r14b
jne 0x140086701
cmp byte [rbx + 0x2c], r14b
jne 0x1400868a0
lea rdx, [rsp + 0x20]
call fcn.1400f5210
movups xmm0, xmmword [0x140375ce4]
lea rdx, [rsp + 0x70]
movups xmm1, xmmword [0x140375cf4]
lea rcx, [rsp + 0x70]
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x140375d04]
movaps xmmword [rbp - 0x80], xmm1
movups xmm1, xmmword [0x140375d14]
movaps xmmword [rbp - 0x70], xmm0
movaps xmmword [rbp - 0x60], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXMatrixTranspose]
movss xmm2, dword [rbp - 0x60]
movss xmm0, dword [rbp - 0x5c]
movss xmm7, dword [rsp + 0x20]
movss xmm8, dword [rsp + 0x24]
movss xmm1, dword [rbp - 0x58]
movss xmm9, dword [rsp + 0x28]
mov eax, dword [0x140375f4c]
mov ecx, dword [0x140375f48]
mulss xmm2, xmm7
mulss xmm0, xmm8
mulss xmm1, xmm9
addss xmm2, xmm0
addss xmm2, xmm1
addss xmm2, dword [rbp - 0x54]
comiss xmm2, xmm12
ja 0x1400867a3
xorps xmm2, xmm2
xorps xmm6, xmm6
jmp 0x140086849
movss xmm5, dword [rbp - 0x80]
movaps xmm4, xmm13
movss xmm0, dword [rbp - 0x7c]
movss xmm1, dword [rbp - 0x78]
movss xmm3, dword [rbp - 0x70]
divss xmm4, xmm2
xorps xmm2, xmm2
mulss xmm3, xmm7
cvtsi2ss xmm2, eax
mulss xmm5, xmm7
movaps xmm6, xmm2
mulss xmm0, xmm8
mulss xmm1, xmm9
addss xmm5, xmm0
mulss xmm6, xmm11
movss xmm0, dword [rbp - 0x6c]
mulss xmm0, xmm8
addss xmm5, xmm1
movss xmm1, dword [rbp - 0x68]
mulss xmm1, xmm9
addss xmm3, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
addss xmm5, dword [rbp - 0x74]
addss xmm3, xmm1
mulss xmm5, xmm4
addss xmm3, dword [rbp - 0x64]
mulss xmm3, xmm4
mulss xmm3, xmm11
mulss xmm3, xmm2
movaps xmm2, xmm5
addss xmm2, xmm13
addss xmm3, xmm11
mulss xmm2, xmm11
subss xmm6, xmm3
mulss xmm2, xmm0
addss xmm2, xmm11
addss xmm2, xmm5
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2ss xmm1, eax
cvtsi2ss xmm0, ecx
mulss xmm1, xmm11
mulss xmm0, xmm11
subss xmm6, xmm1
xorps xmm1, xmm1
subss xmm2, xmm0
mulss xmm6, xmm6
mulss xmm2, xmm2
addss xmm6, xmm2
sqrtss xmm1, xmm6
comiss xmm10, xmm1
jbe 0x1400868a0
movd xmm0, dword [0x140375fcc]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jae 0x1400868a0
mov rax, qword [rbx]
movaps xmm10, xmm1
mov qword [0x1403758f0], rax
add rbx, 0x1f0
cmp rbx, rdi
jne 0x1400866c0
cmp qword [0x1403758f0], r14
jne 0x1400868dc
lea rcx, [rbp + 0x1150]
mov qword [0x1403758f0], r14
mov qword [rbp + 0x1150], 1
call fcn.14000cb50
jmp 0x140086650
mov edx, dword [0x1403759e0]
add rdx, qword [0x140376268]
call fcn.14000fb00
mov rbx, rax
test rax, rax
je 0x140086943
mov ecx, dword [0x140376258]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x50]
mov dword [rsp + 0x68], ecx
mov ecx, dword [0x140376250]
mov qword [rsp + 0x48], rax
mov rax, qword [0x140375978]
mov dword [rsp + 0x34], ecx
mov ecx, dword [0x140376254]
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x50], 0x10d8
test rax, rax
je 0x140086943
lea rcx, [rsp + 0x30]
call rax
cmp byte [0x140375ff4], r14b
jne 0x140086968
mov eax, dword [0x1403759e8]
mov ecx, dword [rbp + rax - 0x50]
and ecx, 0x1fc000
cmp ecx, 0x8000
jne 0x140086650
mov edx, dword [0x140375a08]
add rdx, rbx
call fcn.14000fb00
mov edx, dword [0x1403759fc]
add rdx, rax
call fcn.14000fc00
test rbx, rbx
je 0x14008699e
mov rax, qword [0x1403758f0]
cmp rbx, rax
jne 0x14008699e
test rax, rax
je 0x14008699e
mov bl, 1
jmp 0x1400869a0
xor bl, bl
mov edx, dword [0x1403759e4]
add rdx, qword [0x140376268]
call fcn.14000fc00
test eax, eax
movzx edx, bl
mov eax, dword [0x1403759f4]
cmove edx, r14d
cvttss2si ecx, dword [rbp + rax - 0x50]
cmp ecx, dword [0x1403760c0]
setg al
test sil, sil
jne 0x140086abe
test dl, dl
je 0x140086b8e
test al, al
je 0x140086b8e
cmp byte [0x140375fe9], r14b
jne 0x140086a82
movsxd rbx, dword [0x140375fec]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov r8, rax
cmp rdi, 0x989680
jne 0x140086a1e
imul rcx, r8, 0x64
jmp 0x140086a44
cqo
idiv rdi
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
mov rcx, rax
mov rax, r8
cqo
idiv rdi
imul rdx, rax, 0x3b9aca00
add rcx, rdx
mov qword [rbp + 0x1150], rcx
test rbx, rbx
jle 0x140086a76
imul rdx, rbx, 0xf4240
mov rax, r15
sub rax, rdx
cmp rcx, rax
jge 0x140086a6f
lea rax, [rcx + rdx]
mov qword [rbp + 0x1150], rax
jmp 0x140086a76
mov qword [rbp + 0x1150], r15
lea rcx, [rbp + 0x1150]
call fcn.14000d0e0
mov r8d, Ordinal_41
mov dword [rsp + 0x30], r14d
xorps xmm0, xmm0
mov dword [rsp + 0x44], 2
xorps xmm1, xmm1
lea rdx, [rsp + 0x30]
movdqu xmmword [rsp + 0x34], xmm0
lea ecx, [r8 - 0x27]
movdqu xmmword [rsp + 0x48], xmm1
call qword [sym.imp.USER32.dll_SendInput]
mov sil, 1
jmp 0x140086b8e
cmp byte [0x140375fe9], r14b
jne 0x140086b57
movsxd rbx, dword [0x140375ff0]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov r8, rax
cmp rdi, 0x989680
jne 0x140086af3
imul rcx, r8, 0x64
jmp 0x140086b19
cqo
idiv rdi
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
mov rcx, rax
mov rax, r8
cqo
idiv rdi
imul rdx, rax, 0x3b9aca00
add rcx, rdx
mov qword [rbp + 0x1150], rcx
test rbx, rbx
jle 0x140086b4b
imul rdx, rbx, 0xf4240
mov rax, r15
sub rax, rdx
cmp rcx, rax
jge 0x140086b44
lea rax, [rcx + rdx]
mov qword [rbp + 0x1150], rax
jmp 0x140086b4b
mov qword [rbp + 0x1150], r15
lea rcx, [rbp + 0x1150]
call fcn.14000d0e0
mov r8d, Ordinal_41
mov dword [rsp + 0x30], r14d
xorps xmm0, xmm0
mov dword [rsp + 0x44], 4
xorps xmm1, xmm1
lea rdx, [rsp + 0x30]
movdqu xmmword [rsp + 0x34], xmm0
lea ecx, [r8 - 0x27]
movdqu xmmword [rsp + 0x48], xmm1
call qword [sym.imp.USER32.dll_SendInput]
xor sil, sil
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov r8, rax
cmp rbx, 0x989680
jne 0x140086baf
imul rcx, r8, 0x64
jmp 0x140086bd5
cqo
idiv rbx
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rcx, rax
mov rax, r8
cqo
idiv rbx
imul rdx, rax, 0x3b9aca00
add rcx, rdx
cmp rcx, r12
jge 0x140086bf9
add rcx, 0xf4240
mov qword [rbp + 0x1150], rcx
lea rcx, [rbp + 0x1150]
call fcn.14000d0e0
jmp 0x140086650
lea rcx, [rbp + 0x1150]
mov qword [rbp + 0x1150], r15
call fcn.14000d0e0
jmp 0x140086650