Function at 0x18008ccf0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0x158
cmp byte [0x180382c39], 1
jne 0x18008d4d5
mov qword [rax + 0x18], rbx
mov qword [rax - 8], rbp
mov qword [rax - 0x10], rsi
movabs rsi, 0xd80958fc74e988a6
mov qword [rax - 0x18], rdi
xor edi, edi
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
mov dword [0x18035eae0], edi
mov dword [0x18035eaf0], edi
mov qword [0x1803afcd8], rsi
call fcn.180110360
mov qword [0x1803afcd8], rsi
mov ebx, dword [rax]
mov dword [0x18035eae0], edi
mov dword [0x18035eaf0], edi
call fcn.180110360
mov qword [rsp + 0x160], rdi
movabs r14, 0x997abd671d25ca0b
mov qword [0x1803afcd8], r14
mov ecx, dword [rax]
mov dword [rsp + 0x160], ecx
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x160], rdi
mov qword [0x18035ebb8], rax
mov dword [rsp + 0x160], 1
mov rax, qword [rsp + 0x160]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], edi
mov dword [0x18035eae0], 2
call fcn.180110360
movss xmm9, dword [0x1802fdd70]
movabs r15, 0x5e6cc07646bbeab8
movsd xmm11, qword [0x180300cd0]
movabs r12, 0xa200eb1ee790f448
movsd xmm14, qword [0x1802fb5f8]
movabs r13, 0x837765a25378f0bb
movss xmm13, dword [0x1802fd644]
cmp dword [rax], edi
jne 0x18008d110
mov dword [0x18035eae0], edi
mov dword [0x18035eaf0], edi
mov qword [0x1803afcd8], rsi
call fcn.180110360
mov qword [rsp + 0x168], rdi
mov qword [0x1803afcd8], r15
mov ecx, dword [rax]
mov dword [rsp + 0x168], ecx
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x168], rdi
mov qword [0x18035ebb8], rax
mov dword [rsp + 0x168], 1
mov rax, qword [rsp + 0x168]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], edi
mov dword [0x18035eae0], 2
call fcn.180110360
mov dword [0x18035eae0], edi
mov dword [0x18035eaf0], edi
mov qword [0x1803afcd8], r12
call fcn.180110360
mov qword [0x1803afcd8], r13
movups xmm10, xmmword [rax]
movsd xmm12, qword [rax + 0x10]
mov dword [0x18035eaf0], edi
mov qword [0x18035ebb8], rdi
mov dword [0x18035eae0], 1
call fcn.180110360
xorps xmm8, xmm8
xorps xmm7, xmm7
movsd xmm0, qword [rax + 0x10]
movups xmm1, xmmword [rax]
cvtss2sd xmm7, xmm0
cvtss2sd xmm8, xmm1
mulsd xmm7, xmm14
mulsd xmm8, xmm14
movaps xmm0, xmm8
call fcn.180249560
movaps xmm6, xmm0
movaps xmm0, xmm7
andps xmm6, xmm11
call fcn.180249fe0
xorps xmm2, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm7
xorps xmm1, xmmword [0x180300cf0]
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm6
cvtpd2ps xmm11, xmm2
call fcn.180249560
mulsd xmm0, xmm6
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movaps xmm0, xmm8
call fcn.180249fe0
xorps xmm7, xmm7
mov qword [rsp + 0x168], rdi
cvtsd2ss xmm7, xmm0
mov dword [rsp + 0x168], ebx
movabs rax, 0x3a87e44bb9a01d54
mov qword [0x1803afcd8], rax
mov rax, qword [rsp + 0x168]
mov qword [0x18035ebb8], rax
lea rax, [rsp + 0x160]
movaps xmm8, xmm10
mov qword [rsp + 0x168], rdi
addss xmm12, xmm7
shufps xmm10, xmm10, 0xaa
addss xmm8, xmm11
mulss xmm7, xmm13
mov dword [rsp + 0x168], 1
addss xmm10, xmm6
mulss xmm11, xmm13
mov qword [0x18035ebc0], rax
mov rax, qword [rsp + 0x168]
addss xmm7, xmm12
mulss xmm6, xmm13
mov dword [0x18035eaf0], edi
addss xmm11, xmm8
addss xmm6, xmm10
mov qword [0x18035ebc8], rax
mov dword [0x18035eae0], 3
call fcn.180110360
mov qword [rsp + 0x168], rdi
movabs rax, 0xf3a21bcd95725a4a
mov qword [0x1803afcd8], rax
mov dword [rsp + 0x168], 2
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x168], rdi
mov qword [0x18035ebb8], rax
mov dword [rsp + 0x168], 0xd0
mov rax, qword [rsp + 0x168]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], edi
mov dword [0x18035eae0], 2
call fcn.180110360
cmp dword [rax], edi
jne 0x18008d0b0
lea ecx, [rdi + 1]
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x18008d107
mov eax, dword [rsp + 0x160]
movaps xmm3, xmm11
movss dword [rsp + 0x60], xmm9
movaps xmm2, xmm12
mov dword [rsp + 0x58], 1
movaps xmm1, xmm10
mov dword [rsp + 0x50], 1
movaps xmm0, xmm8
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 0x32
movss dword [rsp + 0x28], xmm7
movss dword [rsp + 0x20], xmm6
call fcn.1800e3670
movsd xmm11, qword [0x180300cd0]
mov dword [0x18035eae0], edi
mov dword [0x18035eaf0], edi
mov qword [0x1803afcd8], rsi
call fcn.180110360
mov qword [rsp + 0x160], rdi
mov qword [0x1803afcd8], r14
mov ecx, dword [rax]
mov dword [rsp + 0x160], ecx
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x160], rdi
mov qword [0x18035ebb8], rax
mov dword [rsp + 0x160], 1
mov rax, qword [rsp + 0x160]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], edi
mov dword [0x18035eae0], 2
call fcn.180110360
mov r14, qword [rsp + 0x128]
cmp dword [rax], edi
je 0x18008d44e
mov dword [0x18035eae0], edi
mov dword [0x18035eaf0], edi
mov qword [0x1803afcd8], rsi
call fcn.180110360
mov qword [rsp + 0x168], rdi
mov qword [0x1803afcd8], r15
mov ecx, dword [rax]
mov dword [rsp + 0x168], ecx
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x168], rdi
mov qword [0x18035ebb8], rax
mov dword [rsp + 0x168], 1
mov rax, qword [rsp + 0x168]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], edi
mov dword [0x18035eae0], 2
call fcn.180110360
mov dword [0x18035eae0], edi
mov dword [0x18035eaf0], edi
mov qword [0x1803afcd8], r12
call fcn.180110360
mov qword [0x1803afcd8], r13
movups xmm10, xmmword [rax]
movsd xmm12, qword [rax + 0x10]
mov dword [0x18035eaf0], edi
mov qword [0x18035ebb8], rdi
mov dword [0x18035eae0], 1
call fcn.180110360
xorps xmm8, xmm8
xorps xmm7, xmm7
movsd xmm0, qword [rax + 0x10]
movups xmm1, xmmword [rax]
cvtss2sd xmm7, xmm0
cvtss2sd xmm8, xmm1
mulsd xmm7, xmm14
mulsd xmm8, xmm14
movaps xmm0, xmm8
call fcn.180249560
movaps xmm6, xmm0
movaps xmm0, xmm7
andps xmm6, xmm11
call fcn.180249fe0
xorps xmm2, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm7
xorps xmm1, xmmword [0x180300cf0]
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm6
cvtpd2ps xmm11, xmm2
call fcn.180249560
mulsd xmm0, xmm6
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movaps xmm0, xmm8
call fcn.180249fe0
xorps xmm7, xmm7
mov qword [rsp + 0x168], rdi
cvtsd2ss xmm7, xmm0
mov dword [rsp + 0x168], ebx
movabs rax, 0x3a87e44bb9a01d54
mov qword [0x1803afcd8], rax
mov rax, qword [rsp + 0x168]
mov qword [0x18035ebb8], rax
lea rax, [rsp + 0x160]
movaps xmm8, xmm10
mov qword [rsp + 0x168], rdi
addss xmm12, xmm7
shufps xmm10, xmm10, 0xaa
addss xmm8, xmm11
mulss xmm7, xmm13
mov dword [rsp + 0x168], 1
addss xmm10, xmm6
mulss xmm11, xmm13
mov qword [0x18035ebc0], rax
mov rax, qword [rsp + 0x168]
addss xmm7, xmm12
mulss xmm6, xmm13
mov dword [0x18035eaf0], edi
addss xmm11, xmm8
addss xmm6, xmm10
mov qword [0x18035ebc8], rax
mov dword [0x18035eae0], 3
call fcn.180110360
mov qword [rsp + 0x168], rdi
movabs rax, 0xf3a21bcd95725a4a
mov qword [0x1803afcd8], rax
mov dword [rsp + 0x168], 2
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x168], rdi
mov qword [0x18035ebb8], rax
mov dword [rsp + 0x168], 0xd0
mov rax, qword [rsp + 0x168]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], edi
mov dword [0x18035eae0], 2
call fcn.180110360
cmp dword [rax], edi
jne 0x18008d3f7
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x18008d44e
mov eax, dword [rsp + 0x160]
movaps xmm3, xmm11
movss dword [rsp + 0x60], xmm9
movaps xmm2, xmm12
mov dword [rsp + 0x58], 1
movaps xmm1, xmm10
mov dword [rsp + 0x50], 1
movaps xmm0, xmm8
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 0x32
movss dword [rsp + 0x28], xmm7
movss dword [rsp + 0x20], xmm6
call fcn.1800e3670
movaps xmm13, xmmword [rsp + 0xa0]
movaps xmm12, xmmword [rsp + 0xb0]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm7, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x110]
mov r15, qword [rsp + 0x120]
mov r13, qword [rsp + 0x130]
mov r12, qword [rsp + 0x138]
mov rdi, qword [rsp + 0x140]
mov rsi, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x170]
movaps xmm14, xmmword [rsp + 0x90]
add rsp, 0x158
ret