Function at 0x180003470
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0xe8
cmp byte [0x180129500], 0
je 0x18000397d
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax - 8], rdi
xor edi, edi
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movabs rax, 0xd80958fc74e988a6
mov qword [0x18012ae70], rax
movaps xmmword [rsp + 0x60], xmm13
mov dword [0x1800d5f48], edi
mov dword [0x1800d5f58], edi
call fcn.180020590
mov qword [rsp + 0xf8], rdi
mov ebx, dword [rax]
movabs rax, 0x3fef770d40960d5a
mov qword [0x18012ae70], rax
mov dword [rsp + 0xf8], ebx
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xf8], rdi
mov qword [0x1800d6020], rax
mov dword [rsp + 0xf8], 1
mov rax, qword [rsp + 0xf8]
mov qword [0x1800d6028], rax
mov dword [0x1800d5f58], edi
mov dword [0x1800d5f48], 2
call fcn.180020590
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movabs rax, 0x743607648add4587
movups xmmword [rsp + 0x40], xmm0
mov dword [0x1800d5f48], edi
movsd qword [rsp + 0x50], xmm1
mov dword [0x1800d5f58], edi
mov qword [0x18012ae70], rax
call fcn.180020590
mov qword [rsp + 0xf8], rdi
mov dword [rsp + 0xf8], ebx
movss xmm6, dword [rax]
movabs rax, 0xe83d4f9ba2a38914
mov qword [0x18012ae70], rax
mov rax, qword [rsp + 0xf8]
mov qword [0x1800d6020], rax
mov dword [0x1800d5f58], edi
mov dword [0x1800d5f48], 1
call fcn.180020590
movss xmm13, dword [0x18009d568]
addss xmm6, dword [rax]
movabs rax, 0x3a6867b4845beda2
mov dword [0x1800d5f48], edi
mov dword [0x1800d5f58], edi
mov qword [0x18012ae70], rax
cvtps2pd xmm6, xmm6
mulsd xmm6, qword [0x18009d640]
divsd xmm6, qword [0x18009d688]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movaps xmm9, xmm0
movaps xmm0, xmm6
xorps xmm9, xmmword [0x18009eac0]
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movaps xmm10, xmm0
call fcn.180020590
movss xmm0, dword [rax]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x18009d640]
divsd xmm0, qword [0x18009d688]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movaps xmm7, xmm0
movaps xmm1, xmm9
movaps xmm0, xmm10
mulsd xmm1, xmm9
mulsd xmm0, xmm10
movaps xmm2, xmm7
mulsd xmm2, xmm7
addsd xmm0, xmm1
addsd xmm0, xmm2
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x180003674
sqrtsd xmm0, xmm0
jmp 0x180003679
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jp 0x180003684
je 0x180003692
divsd xmm9, xmm0
divsd xmm10, xmm0
divsd xmm7, xmm0
movss xmm8, dword [rsp + 0x40]
movabs rax, 0x1c99bb7b6e96d16f
movss xmm11, dword [rsp + 0x48]
movss xmm12, dword [rsp + 0x50]
mov qword [0x18012ae70], rax
mov qword [rsp + 0xf8], rdi
mov dword [rsp + 0xf8], ebx
mov rax, qword [rsp + 0xf8]
mov qword [0x1800d6020], rax
mov qword [rsp + 0xf8], rdi
mov dword [rsp + 0xf8], 0x38d1b717
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xf8], rdi
mov qword [0x1800d6028], rax
mov dword [rsp + 0xf8], 0x38d1b717
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xf8], rdi
mov qword [0x1800d6030], rax
mov dword [rsp + 0xf8], 0x38d1b717
mov rax, qword [rsp + 0xf8]
mov qword [0x1800d6038], rax
mov dword [0x1800d5f58], edi
mov dword [0x1800d5f48], 4
call fcn.180020590
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movabs rsi, 0x91aef906bca88877
test ax, ax
jne 0x1800037cf
mov qword [rsp + 0xf8], rdi
mov dword [rsp + 0xf8], 2
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xf8], rdi
mov qword [0x1800d6020], rax
mov dword [rsp + 0xf8], 0x15
mov rax, qword [rsp + 0xf8]
mov qword [0x1800d6028], rax
mov dword [0x1800d5f58], edi
mov qword [0x18012ae70], rsi
mov dword [0x1800d5f48], 2
call fcn.180020590
cmp dword [rax], edi
je 0x1800037d8
movss xmm13, dword [0x18009d698]
mov ecx, 0x43
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18000384c
mov qword [rsp + 0xf8], rdi
mov dword [rsp + 0xf8], 2
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xf8], rdi
mov qword [0x1800d6020], rax
mov dword [rsp + 0xf8], 0x13
mov rax, qword [rsp + 0xf8]
mov qword [0x1800d6028], rax
mov dword [0x1800d5f58], edi
mov qword [0x18012ae70], rsi
mov dword [0x1800d5f48], 2
call fcn.180020590
cmp dword [rax], edi
je 0x18000385d
cvtps2pd xmm0, xmm13
subsd xmm0, qword [0x18009d5f0]
cvtpd2ps xmm13, xmm0
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rdi, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0x100]
cvtps2pd xmm6, xmm13
test ax, ax
je 0x1800038bf
movaps xmm1, xmm6
movaps xmm2, xmm6
mulsd xmm1, xmm9
cvtps2pd xmm0, xmm8
mulsd xmm2, xmm10
addsd xmm1, xmm0
cvtps2pd xmm0, xmm11
cvtpd2ps xmm8, xmm1
addsd xmm2, xmm0
movaps xmm1, xmm6
cvtps2pd xmm0, xmm12
mulsd xmm1, xmm7
cvtpd2ps xmm11, xmm2
addsd xmm1, xmm0
cvtpd2ps xmm12, xmm1
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm13, xmmword [rsp + 0x60]
test ax, ax
je 0x180003910
movaps xmm0, xmm6
mulsd xmm0, xmm9
cvtps2pd xmm1, xmm8
cvtps2pd xmm2, xmm11
subsd xmm1, xmm0
movaps xmm0, xmm6
cvtps2pd xmm3, xmm12
mulsd xmm0, xmm10
mulsd xmm6, xmm7
cvtpd2ps xmm8, xmm1
subsd xmm2, xmm0
subsd xmm3, xmm6
cvtpd2ps xmm11, xmm2
cvtpd2ps xmm12, xmm3
mov dword [rsp + 0x30], 1
movaps xmm3, xmm12
mov dword [rsp + 0x28], 1
movaps xmm2, xmm11
movaps xmm1, xmm8
mov dword [rsp + 0x20], 1
mov ecx, ebx
call fcn.180014060
movaps xmm12, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x80]
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0xd0]
mov rbx, qword [rsp + 0xf0]
add rsp, 0xe8
ret