Function at 0x140003180
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
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
mov rax, qword [0x140049040]
xor rax, rsp
mov qword [rbp + 0x2f], rax
movss xmm6, dword [0x140042a64]
lea rdi, [rcx + 0x10]
movss xmm7, dword [0x140042a70]
xorps xmm0, xmm0
movups xmmword [rbp - 1], xmm0
mov dword [rbp - 0x3d], 0x3f800000
xor esi, esi
movups xmmword [rbp + 0xf], xmm0
mov dword [rbp - 0x2d], 0x3f800000
movups xmmword [rbp + 0x1f], xmm0
mov dword [rbp - 0x1d], 0x3f800000
mov dword [rbp - 0xd], 0x3f800000
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rbp - 1]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x140003242
lea rcx, [rbp - 1]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp - 1]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rbp - 1]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x140003210
mov rbx, qword [0x14005c7e8]
lea rcx, [rbp - 9]
mov dword [rbx + 0x18], 0x3b888889
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rax, qword [rbp - 9]
cmp eax, dword [0x14005c730]
jne 0x140003271
mov ecx, dword [0x14005c734]
cmp dword [rbp - 5], ecx
je 0x14000329b
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0xe40], xmm0
movd xmm1, dword [rbp - 5]
cvtdq2ps xmm1, xmm1
movss dword [rbx + 0xe44], xmm1
mov rax, qword [rbp - 9]
mov qword [0x14005c730], rax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
cmp al, byte [0x14005c760]
je 0x1400032da
mov byte [rbx + 0xe48], al
test al, al
je 0x1400032d4
mov byte [rbx + 0x3860], 1
movsd xmm0, qword [rbx + 0xe40]
movsd qword [rbx + 0x3810], xmm0
mov byte [0x14005c760], al
mov rax, qword [0x14005c7e8]
test rax, rax
je 0x1400032ef
mov rcx, qword [rax + 0x98]
jmp 0x1400032f2
mov rcx, rsi
cmp qword [rcx + 0x48], rsi
jne 0x1400032fd
call fcn.1400046b0
call fcn.140005ab0
call fcn.14000db00
mov rax, qword [0x14005c838]
mov rcx, qword [0x14005c7e8]
movups xmm3, xmmword [rbp - 0x49]
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rcx + 0x39ec], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rcx + 0x3a1c], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x3a2c], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x39cc], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rcx + 0x3b1c], xmm0
movss xmm1, dword [rax]
movss xmm0, dword [rax + 4]
addss xmm1, xmm6
movss xmm2, dword [rax + 8]
addss xmm0, xmm6
addss xmm2, xmm6
movss xmm3, xmm1
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm0
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm2
shufps xmm3, xmm3, 0xc9
movups xmmword [rcx + 0x3b2c], xmm3
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
addss xmm0, xmm7
movss xmm2, dword [rax + 8]
addss xmm1, xmm7
movups xmmword [rbp - 0x49], xmm3
movups xmm3, xmmword [rbp - 0x39]
addss xmm2, xmm7
movss xmm3, xmm0
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm1
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm2
shufps xmm3, xmm3, 0xc9
movups xmmword [rcx + 0x3b3c], xmm3
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rbp - 0x39], xmm3
movups xmm3, xmmword [rbp - 0x29]
movups xmmword [rcx + 0x3aec], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rcx + 0x3a3c], xmm0
movss xmm1, dword [rax + 0x30]
movss xmm0, dword [rax + 0x34]
addss xmm1, xmm6
movss xmm2, dword [rax + 0x38]
addss xmm0, xmm6
addss xmm2, xmm6
movss xmm3, xmm1
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm0
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm2
shufps xmm3, xmm3, 0xc9
movups xmmword [rcx + 0x3a4c], xmm3
movss xmm0, dword [rax + 0x30]
movss xmm1, dword [rax + 0x34]
addss xmm0, xmm7
movss xmm2, dword [rax + 0x38]
addss xmm1, xmm7
movups xmmword [rbp - 0x29], xmm3
movups xmm3, xmmword [rbp - 0x19]
addss xmm2, xmm7
movss xmm3, xmm0
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm1
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm2
shufps xmm3, xmm3, 0xc9
movups xmmword [rcx + 0x3a5c], xmm3
mov byte [rcx + 0x39c2], 1
mov byte [rcx + 0x39c0], 1
mov dword [rcx + 0x38f8], esi
movups xmmword [rbp - 0x19], xmm3
mov dword [rcx + 0x392c], 0x3f800000
mov dword [rcx + 0x3930], 0x3f800000
mov rcx, qword [0x14005c840]
call fcn.140015b50
mov rcx, qword [0x14005c830]
lea rdx, [0x14005c740]
call fcn.140001900
call fcn.140015bf0
call fcn.14000fc40
mov rcx, qword [0x14005c758]
lea r8, [0x14005c738]
xor r9d, r9d
mov edx, 1
mov rax, qword [rcx]
call qword [rax + 0x108]
mov rcx, qword [0x14005c758]
mov r8, rdi
mov rdx, qword [0x14005c738]
mov rax, qword [rcx]
call qword [rax + 0x190]
mov rax, qword [0x14005c7e8]
mov rcx, qword [rax + 0x4b10]
mov rax, qword [rcx]
mov rcx, rsi
add rax, 0x48
cmp byte [rax], sil
cmovne rcx, rax
call fcn.140003c40
mov rcx, qword [0x14005c748]
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x40]
cmp dword [rbp + 7], 0x12
jne 0x1400031f2
call fcn.140004ee0
call fcn.140005210
call fcn.14000b740
mov rcx, qword [0x14005c740]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov al, 1
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14003a890
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop rbp
ret