Function at 0x140028ea4
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 [0x1401047e0]
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 0x140028f58
movss xmm3, dword [rdi + 0x3f2c]
xor ecx, ecx
subss xmm3, dword [rdi + 0x18]
movss dword [rdi + 0x3f2c], xmm3
call fcn.1400285ac
test al, al
je 0x140028f4b
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 0x140028f4b
mov dword [rdi + 0x3f2c], r14d
xorps xmm3, xmm3
comiss xmm7, xmm3
jb 0x140028f58
xorps xmm1, xmm1
call fcn.140028de8
or r11d, 0xffffffff
mov ecx, 0x286
mov edx, r11d
call fcn.140029b64
test al, al
je 0x140028f78
movss xmm9, dword [rdi + 0xe1c]
jmp 0x140028f7c
xorps xmm9, xmm9
mov edx, r11d
mov ecx, 0x287
call fcn.140029b64
test al, al
je 0x140028f98
movss xmm8, dword [rdi + 0xe18]
jmp 0x140028f9c
xorps xmm8, xmm8
mov rbx, qword [rdi + 0x3f00]
test rbx, rbx
je 0x14002942e
cmp byte [rbx + 0xc1], r14b
jne 0x14002942e
mov eax, dword [rbx + 0x14]
jmp 0x140028fda
and eax, 0x218
cmp eax, 0x10
jne 0x140028fe0
mov rax, qword [rbx + 0x370]
test rax, rax
je 0x140028fe0
mov rbx, rax
mov eax, dword [rax + 0x14]
bt eax, 0x18
jb 0x140028fbe
mov esi, 1
mov ecx, esi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140029000
mov eax, dword [rbx + 0x90]
mov dword [rbx + 0x5c], eax
jmp 0x14002942e
mov rax, qword [rbx]
movss xmm0, dword [rax + 0x3c24]
mov rax, qword [rbx + 0x370]
mulss xmm0, dword [rbx + 0x298]
test rax, rax
je 0x140029027
mulss xmm0, dword [rax + 0x298]
mulss xmm0, dword [0x1400f1500]
movss xmm1, dword [rbx + 0x5c]
mulss xmm0, dword [rdi + 0x18]
addss xmm0, dword [0x1400f13f4]
cvttss2si eax, xmm0
movss xmm0, dword [rbx + 0x90]
comiss xmm1, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
jbe 0x140029063
addss xmm0, xmm2
minss xmm0, xmm1
jmp 0x140029070
comiss xmm0, xmm1
jbe 0x140029086
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 0x1400290a8
jne 0x1400290a8
movss xmm0, dword [rdi + 0xe1c]
ucomiss xmm0, xmm7
jp 0x1400290a8
je 0x14002942e
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 [0x1400f14f4]
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 0x140029159
jne 0x140029159
ucomiss xmm8, xmm7
jp 0x140029159
je 0x14002942e
mov rbx, qword [rdi + 0x3f18]
test rbx, rbx
jne 0x1400291f6
mov rax, qword [0x1401047e0]
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 0x140029194
je 0x1400291d3
mov rcx, qword [rax + 0x3f00]
jmp 0x1400291c7
movss xmm0, dword [r8 + rcx]
ucomiss xmm0, xmm7
jp 0x1400291ad
mov r10b, r14b
je 0x1400291b0
mov r10b, sil
and edx, 0x210
test r10b, r10b
je 0x1400291c0
cmp edx, 0x10
jne 0x1400291d3
mov rcx, qword [rcx + 0x370]
mov edx, dword [rcx + 0x14]
bt edx, 0x18
mov qword [r9], rcx
jb 0x14002919d
add r8, 4
add r9, 8
sub r11, rsi
jne 0x140029186
mov rcx, qword [rbp - 0x50]
mov rbx, qword [rbp - 0x48]
test rcx, rcx
jne 0x14002922a
test rbx, rbx
je 0x14002942e
test dword [rbx + 0x14], 0x210
jne 0x14002942e
ucomiss xmm9, xmm7
jp 0x14002920b
je 0x140029222
movss xmm0, dword [rbx + 0x94]
ucomiss xmm0, xmm7
jp 0x1400292b1
jne 0x1400292b1
mov al, r14b
jmp 0x1400292b4
cmp rcx, rbx
je 0x1400292a0
test rcx, rcx
je 0x1400292a0
test rbx, rbx
je 0x1400292a9
mov edx, dword [rax + 0x3f28]
cmp edx, 0xffffffff
jne 0x140029250
mov edx, dword [rax + 0x3e50]
mov dword [rax + 0x3f28], edx
cmp edx, dword [rax + 0x3e50]
jne 0x140029268
ucomiss xmm9, xmm7
jp 0x140029260
je 0x140029268
ucomiss xmm8, xmm7
jp 0x14002927f
jne 0x14002927f
movss xmm0, dword [rax + 0x3f38]
movss xmm1, dword [rax + 0x3f3c]
ucomiss xmm0, xmm1
jp 0x140029294
jne 0x140029294
movaps xmm0, xmm9
unpcklps xmm0, xmm8
movsd qword [rax + 0x3f30], xmm0
jmp 0x14002942e
comiss xmm0, xmm1
cmova rbx, rcx
jmp 0x1400291ed
test rbx, rbx
jne 0x1400291f6
mov rbx, rcx
jmp 0x1400291ed
mov al, sil
ucomiss xmm8, xmm7
mov byte [rbp + 0x20], al
jp 0x1400292bf
je 0x1400292ce
movss xmm0, dword [rbx + 0x98]
ucomiss xmm0, xmm7
jp 0x1400292d7
jne 0x1400292d7
mov sil, r14b
mov byte [rbp + 0x21], r14b
jmp 0x1400292db
mov byte [rbp + 0x21], sil
movss xmm6, dword [0x1400f1408]
test al, al
je 0x14002939a
test sil, sil
je 0x140029311
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 0x14002939a
movaps xmm1, xmm9
mov rcx, rbx
call fcn.140028de8
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 0x140029360
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 0x14002942e
movaps xmm1, xmm8
mov rcx, rbx
call fcn.140028de8
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 0x1400293d9
je 0x14002942e
cmp byte [rdi + 0xe25], r14b
jne 0x14002942e
mov rax, qword [rbx]
movss xmm0, dword [rax + 0x3c24]
mulss xmm0, dword [rbx + 0x298]
test rcx, rcx
je 0x140029402
mulss xmm0, dword [rcx + 0x298]
mulss xmm0, dword [0x1400f14e4]
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