Function at 0x1800176d0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
mov ecx, 0xa0
movss xmm6, dword [0x18017f9fc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800176fe
mulss xmm6, dword [0x180136bcc]
cmp byte [0x18017f9f9], 0
mov qword [rsp + 0x70], rbx
je 0x180017926
mov qword [rsp + 0x78], rsi
movabs rcx, 0xd80958fc74e988a6
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x88], r14
movaps xmmword [rsp + 0x40], xmm7
call fcn.1800439b0
mov rbx, qword [0x180183728]
xor r8d, r8d
mov edx, eax
movabs rcx, 0x997abd671d25ca0b
mov edi, eax
call fcn.1800438b0
test eax, eax
je 0x180017777
xor r8d, r8d
mov edx, edi
movabs rcx, 0x9a9112a0fe9a4713
call fcn.1800438b0
mov rbx, qword [0x180183748]
mov edi, eax
lea rax, [rbx + 0x30]
test rax, rax
je 0x180017785
mov r14, qword [rax]
jmp 0x180017788
xor r14d, r14d
cmp byte [0x18017f9f8], 0
movsd xmm7, qword [rbx + 0x90]
mov esi, dword [rbx + 0x98]
movsd qword [rbp - 0x40], xmm7
mov dword [rbp - 0x38], esi
je 0x1800177d5
mov r8d, 1
mov edx, edi
movabs rcx, 0xf1ca12b18aef5298
call fcn.180043ca0
xor r9d, r9d
xor r8d, r8d
mov edx, edi
movabs rcx, 0xea1c610a04db6bbb
call fcn.180044090
xor r9d, r9d
xor r8d, r8d
mov edx, edi
movabs rcx, 0x1a9205c1b9ee827f
call fcn.180044090
mov r8d, 1
mov edx, edi
movabs rcx, 0x428ca6dbd1094446
call fcn.180043ca0
mov rax, qword [0x180183710]
mov ecx, 0x57
movsd xmm0, qword [rax + 0x40]
mov eax, dword [rax + 0x48]
movsd qword [rbp - 0x30], xmm0
mov dword [rbp - 0x28], eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rdi, qword [rsp + 0x80]
test ax, ax
je 0x18001788a
movss xmm0, dword [rbp - 0x30]
movss xmm4, dword [rbp - 0x40]
movss xmm1, dword [rbp - 0x2c]
movss xmm5, dword [rbp - 0x3c]
mulss xmm0, xmm6
mulss xmm1, xmm6
addss xmm4, xmm0
movss xmm0, dword [rbp - 0x28]
mulss xmm0, xmm6
movss xmm6, dword [rbp - 0x38]
addss xmm5, xmm1
addss xmm6, xmm0
movsd xmm1, qword [rbp - 0x40]
movss xmm1, xmm4
movss dword [rbp - 0x38], xmm6
mov esi, dword [rbp - 0x38]
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm5
shufps xmm1, xmm1, 0xe1
movaps xmm7, xmm1
jmp 0x1800178d7
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm4, dword [rbp - 0x40]
movss xmm5, dword [rbp - 0x3c]
test ax, ax
je 0x1800178d2
movss xmm0, dword [rbp - 0x30]
movss xmm1, dword [rbp - 0x2c]
mulss xmm0, xmm6
mulss xmm1, xmm6
subss xmm4, xmm0
movss xmm0, dword [rbp - 0x28]
mulss xmm0, xmm6
movss xmm6, dword [rbp - 0x38]
subss xmm5, xmm1
subss xmm6, xmm0
jmp 0x180017868
movss xmm6, dword [rbp - 0x38]
movaps xmm3, xmm6
movaps xmm2, xmm5
movaps xmm1, xmm4
call fcn.1800441a0
movsd qword [rbx + 0x90], xmm7
mov dword [rbx + 0x98], esi
movsd qword [r14 + 0x50], xmm7
movaps xmm7, xmmword [rsp + 0x40]
mov dword [r14 + 0x58], esi
mov r14, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x78]
mov byte [0x180184e20], 1
mov rbx, qword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x50]
add rsp, 0x60
pop rbp
ret
cmp byte [0x180184e20], 0
je 0x1800179da
movabs rcx, 0xd80958fc74e988a6
call fcn.1800439b0
xor r8d, r8d
mov edx, eax
movabs rcx, 0x997abd671d25ca0b
mov ebx, eax
call fcn.1800438b0
test eax, eax
je 0x180017972
xor r8d, r8d
mov edx, ebx
movabs rcx, 0x9a9112a0fe9a4713
call fcn.1800438b0
mov ebx, eax
cmp byte [0x18017f9f8], 0
je 0x1800179a7
xor r9d, r9d
mov edx, ebx
movabs rcx, 0xea1c610a04db6bbb
lea r8d, [r9 + 1]
call fcn.180044090
xor r8d, r8d
mov edx, ebx
movabs rcx, 0xf1ca12b18aef5298
call fcn.180043ca0
xor r9d, r9d
mov edx, ebx
movabs rcx, 0x1a9205c1b9ee827f
lea r8d, [r9 + 1]
call fcn.180044090
xor r8d, r8d
mov edx, ebx
movabs rcx, 0x428ca6dbd1094446
call fcn.180043ca0
mov byte [0x180184e20], 0
mov rbx, qword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x50]
add rsp, 0x60
pop rbp
ret