Function at 0x180066070
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0xb0
movaps xmmword [rax - 0x28], xmm6
xor edi, edi
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movabs rax, 0xd80958fc74e988a6
mov qword [0x18034fb78], rax
mov dword [0x1802da4f0], edi
mov dword [0x1802da500], edi
call fcn.1800cf390
mov qword [rsp + 0xd8], rdi
mov ebx, dword [rax]
movabs rax, 0x3fef770d40960d5a
mov qword [0x18034fb78], rax
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
mov qword [0x1802da5c8], rax
mov dword [rsp + 0xd8], edi
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], edi
mov dword [0x1802da4f0], 2
call fcn.1800cf390
mov dword [rsp + 0x38], 1
mov edx, ebx
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 1
movups xmm9, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x50], xmm1
movaps xmm10, xmm9
movss xmm7, dword [rsp + 0x50]
movaps xmm2, xmm9
shufps xmm10, xmm9, 0xaa
movaps xmm3, xmm10
movss dword [rsp + 0x20], xmm7
call fcn.1800ad960
lea ecx, [rdi + 0x57]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm8, dword [0x180269aa8]
movabs rbp, 0xe83d4f9ba2a38914
movabs r14, 0x8e2530aa8ada980e
movabs rsi, 0x91aef906bca88877
test ax, ax
jne 0x18006620d
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], 2
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
mov qword [0x1802da5c8], rax
mov dword [rsp + 0xd8], 0x10d
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], edi
mov qword [0x18034fb78], rsi
mov dword [0x1802da4f0], 2
call fcn.1800cf390
cmp dword [rax], edi
je 0x18006630e
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], edi
mov qword [0x18034fb78], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf390
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov qword [0x18034fb78], r14
movss xmm6, dword [rax]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
mov qword [0x1802da5c8], rax
movss dword [rsp + 0xd8], xmm6
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], edi
mov dword [0x1802da4f0], 2
call fcn.1800cf390
mulss xmm6, dword [0x180269ea0]
divss xmm6, dword [0x18026af10]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm8
mulss xmm0, dword [0x18026be4c]
addss xmm9, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mov dword [rsp + 0x38], 1
movaps xmm2, xmm9
mulss xmm0, xmm8
mov edx, ebx
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 1
movss dword [rsp + 0x20], xmm7
addss xmm10, xmm0
movaps xmm3, xmm10
call fcn.1800ad960
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180066386
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], 2
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
mov qword [0x1802da5c8], rax
mov dword [rsp + 0xd8], 0x10a
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], edi
mov qword [0x18034fb78], rsi
mov dword [0x1802da4f0], 2
call fcn.1800cf390
cmp dword [rax], edi
je 0x180066423
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], edi
mov qword [0x18034fb78], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf390
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov qword [0x18034fb78], r14
movss xmm0, dword [rax]
mov rax, qword [rsp + 0xd8]
addss xmm0, xmm8
mov qword [rsp + 0xd8], rdi
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], edi
mov dword [0x1802da4f0], 2
movss dword [rsp + 0xd8], xmm0
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5d0], rax
call fcn.1800cf390
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18006649b
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], 2
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
mov qword [0x1802da5c8], rax
mov dword [rsp + 0xd8], 0x10f
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], edi
mov qword [0x18034fb78], rsi
mov dword [0x1802da4f0], 2
call fcn.1800cf390
cmp dword [rax], edi
je 0x180066538
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], edi
mov qword [0x18034fb78], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf390
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov qword [0x18034fb78], r14
movss xmm0, dword [rax]
mov rax, qword [rsp + 0xd8]
subss xmm0, xmm8
mov qword [rsp + 0xd8], rdi
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], edi
mov dword [0x1802da4f0], 2
movss dword [rsp + 0xd8], xmm0
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5d0], rax
call fcn.1800cf390
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsd xmm6, qword [0x180269de8]
test ax, ax
jne 0x1800665b8
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], 2
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
mov qword [0x1802da5c8], rax
mov dword [rsp + 0xd8], 0xce
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], edi
mov qword [0x18034fb78], rsi
mov dword [0x1802da4f0], 2
call fcn.1800cf390
cmp dword [rax], edi
je 0x18006667c
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], edi
mov qword [0x18034fb78], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf390
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov qword [0x18034fb78], r14
movss xmm0, dword [rax]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
movss dword [rsp + 0xd8], xmm0
mov qword [0x1802da5c8], rax
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], edi
mov dword [0x1802da4f0], 2
call fcn.1800cf390
cvtps2pd xmm0, xmm7
mov dword [rsp + 0x38], edi
mov edx, ebx
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
movaps xmm3, xmm10
movaps xmm2, xmm9
subsd xmm0, xmm6
cvtpd2ps xmm7, xmm0
movss dword [rsp + 0x20], xmm7
call fcn.1800ad960
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800666f4
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], 2
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
mov qword [0x1802da5c8], rax
mov dword [rsp + 0xd8], 0xcd
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], edi
mov qword [0x18034fb78], rsi
mov dword [0x1802da4f0], 2
call fcn.1800cf390
cmp dword [rax], edi
je 0x1800667b8
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], edi
mov qword [0x18034fb78], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf390
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov qword [0x18034fb78], r14
movss xmm0, dword [rax]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
movss dword [rsp + 0xd8], xmm0
mov qword [0x1802da5c8], rax
mov rax, qword [rsp + 0xd8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], edi
mov dword [0x1802da4f0], 2
call fcn.1800cf390
cvtps2pd xmm0, xmm7
mov dword [rsp + 0x38], edi
mov edx, ebx
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
movaps xmm3, xmm10
movaps xmm2, xmm9
addsd xmm0, xmm6
cvtpd2ps xmm1, xmm0
movss dword [rsp + 0x20], xmm1
call fcn.1800ad960
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret