Function at 0x14002dd2c
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rdi, qword [0x14010c960]
xor r14d, r14d
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
xorps xmm7, xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
cmp qword [rdi + 0x3f18], r14
je 0x14002dde0
movss xmm3, dword [rdi + 0x3f2c]
xor ecx, ecx
subss xmm3, dword [rdi + 0x18]
movss dword [rdi + 0x3f2c], xmm3
call fcn.14002d434
test al, al
je 0x14002ddd3
movss xmm1, dword [rdi + 0xe08]
movss xmm2, dword [rdi + 0xe0c]
subss xmm2, dword [rdi + 0x3f24]
subss xmm1, dword [rdi + 0x3f20]
movss xmm0, dword [rdi + 0x38]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
comiss xmm2, xmm0
jbe 0x14002ddd3
mov dword [rdi + 0x3f2c], r14d
xorps xmm3, xmm3
comiss xmm7, xmm3
jb 0x14002dde0
xorps xmm1, xmm1
call fcn.14002dc70
or r11d, 0xffffffff
mov ecx, 0x286
mov edx, r11d
call fcn.14002e9ec
test al, al
je 0x14002de00
movss xmm9, dword [rdi + 0xe1c]
jmp 0x14002de04
xorps xmm9, xmm9
mov edx, r11d
mov ecx, 0x287
call fcn.14002e9ec
test al, al
je 0x14002de20
movss xmm8, dword [rdi + 0xe18]
jmp 0x14002de24
xorps xmm8, xmm8
mov rbx, qword [rdi + 0x3f00]
test rbx, rbx
je 0x14002e2b6
cmp byte [rbx + 0xc1], r14b
jne 0x14002e2b6
mov eax, dword [rbx + 0x14]
jmp 0x14002de62
and eax, 0x218
cmp eax, 0x10
jne 0x14002de68
mov rax, qword [rbx + 0x370]
test rax, rax
je 0x14002de68
mov rbx, rax
mov eax, dword [rax + 0x14]
bt eax, 0x18
jb 0x14002de46
mov esi, 1
mov ecx, esi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14002de88
mov eax, dword [rbx + 0x90]
mov dword [rbx + 0x5c], eax
jmp 0x14002e2b6
mov rax, qword [rbx]
movss xmm0, dword [rax + 0x3c24]
mov rax, qword [rbx + 0x370]
mulss xmm0, dword [rbx + 0x298]
test rax, rax
je 0x14002deaf
mulss xmm0, dword [rax + 0x298]
mulss xmm0, dword [0x1400f8138]
movss xmm1, dword [rbx + 0x5c]
mulss xmm0, dword [rdi + 0x18]
addss xmm0, dword [0x1400f8010]
cvttss2si eax, xmm0
movss xmm0, dword [rbx + 0x90]
comiss xmm1, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
jbe 0x14002deeb
addss xmm0, xmm2
minss xmm0, xmm1
jmp 0x14002def8
comiss xmm0, xmm1
jbe 0x14002df0e
subss xmm0, xmm2
maxss xmm0, xmm1
movss dword [rbx + 0xa0], xmm0
mov dword [rbx + 0xb0], r14d
mov dword [rbx + 0xa8], r14d
movss xmm0, dword [rdi + 0xe18]
ucomiss xmm0, xmm7
jp 0x14002df30
jne 0x14002df30
movss xmm0, dword [rdi + 0xe1c]
ucomiss xmm0, xmm7
jp 0x14002df30
je 0x14002e2b6
xorps xmm0, xmm0
cvtss2sd xmm0, xmm9
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fabs]
movss xmm1, dword [rdi + 0x3f38]
xorps xmm2, xmm2
movss xmm6, dword [0x1400f8128]
cvtsd2ss xmm2, xmm0
movaps xmm0, xmm1
divss xmm0, xmm6
divss xmm2, xmm6
subss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
addss xmm1, xmm2
movss dword [rdi + 0x3f38], xmm1
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fabs]
movss xmm1, dword [rdi + 0x3f3c]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movaps xmm0, xmm1
divss xmm0, xmm6
divss xmm2, xmm6
subss xmm1, xmm0
addss xmm1, xmm2
movss dword [rdi + 0x3f3c], xmm1
addss xmm9, dword [rdi + 0x3f30]
addss xmm8, dword [rdi + 0x3f34]
mov qword [rdi + 0x3f30], r14
ucomiss xmm9, xmm7
movss dword [rbp + 0x20], xmm9
movss dword [rbp + 0x24], xmm8
jp 0x14002dfe1
jne 0x14002dfe1
ucomiss xmm8, xmm7
jp 0x14002dfe1
je 0x14002e2b6
mov rbx, qword [rdi + 0x3f18]
test rbx, rbx
jne 0x14002e07e
mov rax, qword [0x14010c960]
lea r9, [rbp - 0x50]
xorps xmm0, xmm0
lea r11d, [rbx + 2]
movdqu xmmword [rbp - 0x50], xmm0
mov r8d, 0x94
movss xmm0, dword [rbp + r8 - 0x74]
ucomiss xmm0, xmm7
jp 0x14002e01c
je 0x14002e05b
mov rcx, qword [rax + 0x3f00]
jmp 0x14002e04f
movss xmm0, dword [r8 + rcx]
ucomiss xmm0, xmm7
jp 0x14002e035
mov r10b, r14b
je 0x14002e038
mov r10b, sil
and edx, 0x210
test r10b, r10b
je 0x14002e048
cmp edx, 0x10
jne 0x14002e05b
mov rcx, qword [rcx + 0x370]
mov edx, dword [rcx + 0x14]
bt edx, 0x18
mov qword [r9], rcx
jb 0x14002e025
add r8, 4
add r9, 8
sub r11, rsi
jne 0x14002e00e
mov rcx, qword [rbp - 0x50]
mov rbx, qword [rbp - 0x48]
test rcx, rcx
jne 0x14002e0b2
test rbx, rbx
je 0x14002e2b6
test dword [rbx + 0x14], 0x210
jne 0x14002e2b6
ucomiss xmm9, xmm7
jp 0x14002e093
je 0x14002e0aa
movss xmm0, dword [rbx + 0x94]
ucomiss xmm0, xmm7
jp 0x14002e139
jne 0x14002e139
mov al, r14b
jmp 0x14002e13c
cmp rcx, rbx
je 0x14002e128
test rcx, rcx
je 0x14002e128
test rbx, rbx
je 0x14002e131
mov edx, dword [rax + 0x3f28]
cmp edx, 0xffffffff
jne 0x14002e0d8
mov edx, dword [rax + 0x3e50]
mov dword [rax + 0x3f28], edx
cmp edx, dword [rax + 0x3e50]
jne 0x14002e0f0
ucomiss xmm9, xmm7
jp 0x14002e0e8
je 0x14002e0f0
ucomiss xmm8, xmm7
jp 0x14002e107
jne 0x14002e107
movss xmm0, dword [rax + 0x3f38]
movss xmm1, dword [rax + 0x3f3c]
ucomiss xmm0, xmm1
jp 0x14002e11c
jne 0x14002e11c
movaps xmm0, xmm9
unpcklps xmm0, xmm8
movsd qword [rax + 0x3f30], xmm0
jmp 0x14002e2b6
comiss xmm0, xmm1
cmova rbx, rcx
jmp 0x14002e075
test rbx, rbx
jne 0x14002e07e
mov rbx, rcx
jmp 0x14002e075
mov al, sil
ucomiss xmm8, xmm7
mov byte [rbp + 0x20], al
jp 0x14002e147
je 0x14002e156
movss xmm0, dword [rbx + 0x98]
ucomiss xmm0, xmm7
jp 0x14002e15f
jne 0x14002e15f
mov sil, r14b
mov byte [rbp + 0x21], r14b
jmp 0x14002e163
mov byte [rbp + 0x21], sil
movss xmm6, dword [0x1400f8024]
test al, al
je 0x14002e222
test sil, sil
je 0x14002e199
movss xmm0, dword [rdi + 0x3f38]
mov rax, r14
comiss xmm0, dword [rdi + 0x3f3c]
seta al
mov byte [rbp + rax + 0x20], r14b
mov sil, byte [rbp + 0x21]
mov al, byte [rbp + 0x20]
test al, al
je 0x14002e222
movaps xmm1, xmm9
mov rcx, rbx
call fcn.14002dc70
mov rax, qword [rbx]
movss xmm2, dword [rbx + 0x208]
subss xmm2, dword [rbx + 0x200]
movss xmm0, dword [rax + 0x3c24]
mov rax, qword [rbx + 0x370]
mulss xmm0, dword [rbx + 0x298]
mulss xmm2, xmm6
test rax, rax
je 0x14002e1e8
mulss xmm0, dword [rax + 0x298]
addss xmm0, xmm0
mov dword [rbx + 0xa4], r14d
mov dword [rbx + 0xac], r14d
minss xmm0, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [rbx + 0x8c]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm9
subss xmm0, xmm2
movss dword [rbx + 0x9c], xmm0
test sil, sil
je 0x14002e2b6
movaps xmm1, xmm8
mov rcx, rbx
call fcn.14002dc70
movss xmm1, dword [rbx + 0x20c]
subss xmm1, dword [rbx + 0x204]
movss xmm2, dword [rdi + 0xe18]
ucomiss xmm2, xmm7
mov rcx, qword [rbx + 0x370]
mulss xmm1, xmm6
jp 0x14002e261
je 0x14002e2b6
cmp byte [rdi + 0xe25], r14b
jne 0x14002e2b6
mov rax, qword [rbx]
movss xmm0, dword [rax + 0x3c24]
mulss xmm0, dword [rbx + 0x298]
test rcx, rcx
je 0x14002e28a
mulss xmm0, dword [rcx + 0x298]
mulss xmm0, dword [0x1400f8114]
minss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [rbx + 0x90]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
subss xmm0, xmm1
movss dword [rbx + 0x5c], xmm0
movaps xmm6, xmmword [rsp + 0x60]
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm7, xmmword [rsp + 0x50]
mov rsp, r11
pop r15
pop r14
pop rbp
ret