Function at 0x14003b620
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
lea rbp, [rax - 0x68]
sub rsp, 0x140
movaps xmmword [rax - 0x38], xmm6
mov rsi, rcx
mov rcx, qword [0x1400ea0d8]
movaps xmmword [rax - 0x48], xmm7
add rcx, 0x808
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov qword [rax + 0x10], r14
mov r14, r8
mov qword [rax + 0x18], r15
mov r15, rdx
movaps xmmword [rax - 0x58], xmm8
call fcn.14004a2e0
xor r12d, r12d
mov rbx, rax
test rax, rax
je 0x14003b6ec
xor eax, eax
mov qword [rsp + 0x2c], r12
mov dword [rsp + 0x34], r12d
lea rdi, [rsp + 0x20]
mov dword [rsp + 0x4c], r12d
mov ecx, 0x30
rep stosb byte [rdi], al
mov eax, dword [0x1400ea6e4]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x24], eax
xor edx, edx
lea rax, [rbx + 0x35c]
mov dword [rbp + 0x70], r12d
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x70]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x20], 1
mov dword [rsp + 0x28], 0xdeadbeef
mov dword [rsp + 0x48], 4
call qword [0x1400ea6d8]
movss xmm0, dword [rbp + 0x70]
movss dword [0x1400ea01c], xmm0
movsd xmm0, qword [r14 + 0x30]
lea r8, [rbp - 0x70]
movups xmm2, xmmword [r14 + 0x20]
lea rdx, [rsp + 0x20]
mov qword [rsi], r12
movups xmm7, xmmword [r14 + 0x10]
lea rcx, [rbp - 0x50]
mov qword [rsi + 8], r12
movups xmm6, xmmword [r14]
mov qword [rsi + 0x10], r12
movsd qword [rbp - 0x80], xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
movsd qword [rbp - 0x60], xmm1
movups xmmword [rsp + 0x70], xmm2
movaps xmmword [rbp - 0x70], xmm0
movups xmmword [rsp + 0x60], xmm7
movups xmm0, xmmword [rsp + 0x68]
unpckhpd xmm2, xmm2
movaps xmmword [rsp + 0x20], xmm0
movsd qword [rsp + 0x30], xmm2
call fcn.140039be0
movsd xmm4, qword [r15 + 0x10]
xorps xmm9, xmm9
movsd xmm5, qword [r15]
subsd xmm4, xmm7
movsd xmm3, qword [r15 + 8]
subsd xmm5, xmm6
movups xmm1, xmmword [rax + 0x10]
mov r15, qword [rsp + 0x180]
movups xmm2, xmmword [rax + 0x20]
mov r14, qword [rsp + 0x178]
movups xmm8, xmmword [rax]
movaps xmm0, xmm1
unpckhpd xmm6, xmm6
shufps xmm0, xmm1, 0x55
subsd xmm3, xmm6
xorps xmm7, xmm7
xorps xmm10, xmm10
cvtss2sd xmm7, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
shufps xmm1, xmm1, 0xaa
mulsd xmm0, xmm5
mulsd xmm7, xmm3
addsd xmm7, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movaps xmm1, xmm2
mulsd xmm0, xmm4
shufps xmm1, xmm2, 0x55
cvtss2sd xmm9, xmm1
addsd xmm7, xmm0
movaps xmm1, xmm8
xorps xmm0, xmm0
shufps xmm1, xmm8, 0x55
cvtss2sd xmm0, xmm2
cvtss2sd xmm10, xmm1
mulsd xmm0, xmm5
mulsd xmm9, xmm3
mulsd xmm10, xmm3
shufps xmm2, xmm2, 0xaa
addsd xmm9, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
mulsd xmm0, xmm4
addsd xmm9, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
shufps xmm8, xmm8, 0xaa
mulsd xmm0, xmm5
addsd xmm10, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
movaps xmm8, xmmword [rsp + 0x110]
mulsd xmm0, xmm4
addsd xmm10, xmm0
movsd xmm0, qword [0x1400b3540]
comisd xmm0, xmm10
jbe 0x14003b858
movsd xmm10, qword [0x1400b3560]
cmp byte [0x1400c0cf5], 1
jne 0x14003b94f
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14003b8b1
movss xmm1, dword [0x1400ea01c]
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [0x1400b3588]
jbe 0x14003b94f
movss xmm0, dword [0x1400b362c]
comiss xmm0, xmm1
jbe 0x14003b94f
movss xmm0, dword [rbp - 0x80]
subss xmm0, dword [0x1400b365c]
jmp 0x14003b954
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14003b9eb
movss xmm1, dword [0x1400ea01c]
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [0x1400b3588]
jbe 0x14003b94f
movss xmm0, dword [0x1400b362c]
comiss xmm0, xmm1
jbe 0x14003b94f
xor eax, eax
mov qword [rsp + 0x2c], r12
mov dword [rsp + 0x34], r12d
lea rdi, [rsp + 0x20]
mov dword [rsp + 0x4c], r12d
mov ecx, 0x30
rep stosb byte [rdi], al
mov eax, dword [0x1400ea6e4]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x24], eax
xor edx, edx
lea rax, [rbp + 0x70]
mov dword [rbp + 0x70], 0x41f00000
mov qword [rsp + 0x38], rax
lea rax, [rbx + 0x35c]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x20], 2
mov dword [rsp + 0x28], 0xdeadbeef
mov dword [rsp + 0x48], 4
call qword [0x1400ea6d8]
movss xmm0, dword [rbp - 0x80]
mulss xmm0, dword [0x1400b35d8]
mov eax, dword [0x1400ea604]
cdq
sub eax, edx
divss xmm0, dword [0x1400b3688]
sar eax, 1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call fcn.14007eb90
mov eax, dword [0x1400ea600]
lea r11, [rsp + 0x140]
cdq
sub eax, edx
movaps xmm1, xmm6
sar eax, 1
divss xmm1, xmm0
cvtps2pd xmm0, xmm6
movaps xmm6, xmmword [r11 - 0x10]
cvtps2pd xmm2, xmm1
mulsd xmm7, xmm2
mulsd xmm9, xmm2
divsd xmm7, xmm10
divsd xmm9, xmm10
movaps xmm10, xmmword [r11 - 0x50]
addsd xmm7, xmm0
movd xmm0, eax
mov rax, rsi
cvtdq2ps xmm0, xmm0
movsd qword [rsi], xmm7
movaps xmm7, xmmword [r11 - 0x20]
cvtps2pd xmm1, xmm0
subsd xmm1, xmm9
movaps xmm9, xmmword [r11 - 0x40]
movsd qword [rsi + 8], xmm1
mov rsp, r11
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
movss xmm0, dword [rbp + 0x70]
jmp 0x14003b954