Function at 0x140097800
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 - 0x10e0]
mov eax, 0x11e0
call fcn.14008db20
sub rsp, rax
movaps xmmword [rsp + 0x11d0], xmm6
xor sil, sil
movaps xmmword [rsp + 0x11c0], xmm7
xor r14d, r14d
movaps xmmword [rsp + 0x11b0], xmm8
movabs r15, 0x7fffffffffffffff
movaps xmmword [rsp + 0x11a0], xmm9
movabs r12, 0x7ffffffffff0bdbf
movaps xmmword [rsp + 0x1190], xmm10
movaps xmmword [rsp + 0x1180], xmm11
movss xmm11, dword [0x1403277b0]
movaps xmmword [rsp + 0x1170], xmm12
movss xmm12, dword [0x140327768]
movaps xmmword [rsp + 0x1160], xmm13
movss xmm13, dword [0x1403277f0]
movaps xmmword [rsp + 0x1150], xmm14
movss xmm14, dword [0x140327974]
nop dword [rax]
cmp qword [0x1403899f8], r14
je 0x1400978eb
cmp qword [0x140389a18], r14
je 0x1400978eb
cmp byte [0x1403895e0], r14b
je 0x1400978eb
cmp byte [0x140389658], r14b
jne 0x1400978f8
mov qword [0x140388f70], r14
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400978c0
mov ecx, dword [0x140389674]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140097b38
mov rdi, qword [0x1403892b0]
movaps xmm10, xmm14
mov rbx, qword [0x1403892a8]
cmp rbx, rdi
je 0x140097b2f
nop dword [rax + rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140097b1f
cmp rcx, qword [0x1403899f8]
je 0x140097b1f
movd xmm0, dword [0x140389750]
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [rbx + 0x34]
jae 0x140097b1f
cmp byte [0x140389684], r14b
jne 0x140097971
cmp byte [rbx + 0x2c], r14b
jne 0x140097b1f
lea rdx, [rsp + 0x60]
call fcn.140104740
movups xmm0, xmmword [0x140389374]
lea rdx, [rsp + 0x20]
movups xmm1, xmmword [0x140389384]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x140389394]
movaps xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x1403893a4]
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXMatrixTranspose]
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x54]
movss xmm7, dword [rsp + 0x60]
movss xmm8, dword [rsp + 0x64]
movss xmm1, dword [rsp + 0x58]
movss xmm9, dword [rsp + 0x68]
mov eax, dword [0x1403895dc]
mov ecx, dword [0x1403895d8]
mulss xmm2, xmm7
mulss xmm0, xmm8
mulss xmm1, xmm9
addss xmm2, xmm0
addss xmm2, xmm1
addss xmm2, dword [rsp + 0x5c]
comiss xmm2, xmm12
ja 0x140097a1a
xorps xmm2, xmm2
xorps xmm6, xmm6
jmp 0x140097ac8
movss xmm5, dword [rsp + 0x30]
movaps xmm4, xmm13
movss xmm0, dword [rsp + 0x34]
movss xmm1, dword [rsp + 0x38]
movss xmm3, dword [rsp + 0x40]
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 [rsp + 0x44]
mulss xmm0, xmm8
addss xmm5, xmm1
movss xmm1, dword [rsp + 0x48]
mulss xmm1, xmm9
addss xmm3, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
addss xmm5, dword [rsp + 0x3c]
addss xmm3, xmm1
mulss xmm5, xmm4
addss xmm3, dword [rsp + 0x4c]
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 0x140097b1f
movd xmm0, dword [0x14038965c]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jae 0x140097b1f
mov rax, qword [rbx]
movaps xmm10, xmm1
mov qword [0x140388f70], rax
add rbx, 0x1f0
cmp rbx, rdi
jne 0x140097930
cmp qword [0x140388f70], r14
jne 0x140097b5b
lea rcx, [rbp + 0x1110]
mov qword [0x140388f70], r14
mov qword [rbp + 0x1110], 1
call fcn.140011350
jmp 0x1400978c0
mov edx, dword [0x140389070]
add rdx, qword [0x140389908]
call fcn.140014290
mov rbx, rax
test rax, rax
je 0x140097bc3
mov ecx, dword [0x1403898e8]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x70]
mov dword [rsp + 0x58], ecx
mov ecx, dword [0x1403898e0]
mov qword [rsp + 0x38], rax
mov rax, qword [0x140389000]
mov dword [rsp + 0x24], ecx
mov ecx, dword [0x1403898e4]
mov dword [rsp + 0x20], r14d
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x40], 0x10d8
test rax, rax
je 0x140097bc3
lea rcx, [rsp + 0x20]
call rax
cmp byte [0x140389684], r14b
jne 0x140097be8
mov eax, dword [0x140389078]
mov ecx, dword [rsp + rax + 0x70]
and ecx, 0x1fc000
cmp ecx, 0x8000
jne 0x1400978c0
mov edx, dword [0x140389098]
add rdx, rbx
call fcn.140014290
mov edx, dword [0x14038908c]
add rdx, rax
call fcn.140014390
test rbx, rbx
je 0x140097c1e
mov rax, qword [0x140388f70]
cmp rbx, rax
jne 0x140097c1e
test rax, rax
je 0x140097c1e
mov bl, 1
jmp 0x140097c20
xor bl, bl
mov edx, dword [0x140389074]
add rdx, qword [0x140389908]
call fcn.140014390
test eax, eax
movzx ecx, bl
mov eax, dword [0x140389084]
mov edx, r14d
cmovne edx, ecx
cvttss2si ecx, dword [rsp + rax + 0x70]
cmp ecx, dword [0x140389750]
setg al
test sil, sil
jne 0x140097d35
test dl, dl
je 0x140097dfa
test al, al
je 0x140097dfa
cmp byte [0x140389679], r14b
jne 0x140097cf9
movsxd rbx, dword [0x14038967c]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x140097c9d
imul rax, rax, 0x64
jmp 0x140097cbb
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
mov qword [rbp + 0x1110], rax
test rbx, rbx
jle 0x140097ced
imul rdx, rbx, 0xf4240
mov rcx, r15
sub rcx, rdx
cmp rax, rcx
jge 0x140097ce6
lea rcx, [rax + rdx]
mov qword [rbp + 0x1110], rcx
jmp 0x140097ced
mov qword [rbp + 0x1110], r15
lea rcx, [rbp + 0x1110]
call fcn.1400118e0
mov r8d, Ordinal_41
mov dword [rsp + 0x20], r14d
xorps xmm0, xmm0
mov dword [rsp + 0x34], 2
xorps xmm1, xmm1
lea rdx, [rsp + 0x20]
movdqu xmmword [rsp + 0x24], xmm0
lea ecx, [r8 - 0x27]
movdqu xmmword [rsp + 0x38], xmm1
call qword [sym.imp.USER32.dll_SendInput]
mov sil, 1
jmp 0x140097dfa
cmp byte [0x140389679], r14b
jne 0x140097dc3
movsxd rbx, dword [0x140389680]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x140097d67
imul rax, rax, 0x64
jmp 0x140097d85
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
mov qword [rbp + 0x1110], rax
test rbx, rbx
jle 0x140097db7
imul rdx, rbx, 0xf4240
mov rcx, r15
sub rcx, rdx
cmp rax, rcx
jge 0x140097db0
lea rcx, [rax + rdx]
mov qword [rbp + 0x1110], rcx
jmp 0x140097db7
mov qword [rbp + 0x1110], r15
lea rcx, [rbp + 0x1110]
call fcn.1400118e0
mov r8d, Ordinal_41
mov dword [rsp + 0x20], r14d
xorps xmm0, xmm0
mov dword [rsp + 0x34], 4
xorps xmm1, xmm1
lea rdx, [rsp + 0x20]
movdqu xmmword [rsp + 0x24], xmm0
lea ecx, [r8 - 0x27]
movdqu xmmword [rsp + 0x38], 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]
cmp rbx, 0x989680
jne 0x140097e18
imul rax, rax, 0x64
jmp 0x140097e36
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, r12
jge 0x140097e59
add rax, 0xf4240
lea rcx, [rbp + 0x1110]
mov qword [rbp + 0x1110], rax
call fcn.1400118e0
jmp 0x1400978c0
lea rcx, [rbp + 0x1110]
mov qword [rbp + 0x1110], r15
call fcn.1400118e0
jmp 0x1400978c0