Function at 0x180083850
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0xc0
xor edi, edi
movabs rbx, 0xd80958fc74e988a6
mov dword [0x18035eae0], edi
mov dword [0x18035eaf0], edi
mov qword [0x1803afcd8], rbx
call fcn.180110360
mov qword [rsp + 0xd8], rdi
mov ecx, dword [rax]
movabs rax, 0x997abd671d25ca0b
mov dword [rsp + 0xd8], ecx
mov qword [0x1803afcd8], rax
mov rax, qword [rsp + 0xd8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], edi
mov qword [0x18035ebc0], rdi
mov dword [0x18035eae0], 2
call fcn.180110360
cmp dword [rax], edi
je 0x180083f05
mov qword [rsp + 0xd0], rbp
mov qword [rsp + 0xe0], rsi
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0x90], xmm8
mov dword [0x18035eae0], edi
mov dword [0x18035eaf0], edi
mov qword [0x1803afcd8], rbx
call fcn.180110360
mov qword [rsp + 0xd8], rdi
mov ecx, dword [rax]
movabs rax, 0x9a9112a0fe9a4713
mov dword [rsp + 0xd8], ecx
mov qword [0x1803afcd8], rax
mov rax, qword [rsp + 0xd8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], edi
mov qword [0x18035ebc0], rdi
mov dword [0x18035eae0], 2
call fcn.180110360
mov qword [rsp + 0xd8], rdi
mov ebx, dword [rax]
movabs rax, 0xd5037ba82e12416f
mov qword [0x1803afcd8], rax
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], edi
mov dword [0x18035eae0], 1
call fcn.180110360
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
movss xmm8, dword [rax]
movabs rax, 0xd45dc2893621e1fe
mov qword [0x1803afcd8], rax
mov rax, qword [rsp + 0xd8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], edi
mov dword [0x18035eae0], 1
call fcn.180110360
lea ecx, [rdi + 0x49]
movss xmm7, dword [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movabs rsi, 0xab54a438726d25d5
test ax, ax
je 0x180083a75
mov qword [rsp + 0xd8], rdi
movaps xmm0, xmm8
addss xmm0, dword [0x1802fb694]
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
mov qword [0x18035ebb8], rax
movss dword [rsp + 0xd8], xmm0
mov rax, qword [rsp + 0xd8]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], edi
mov qword [0x1803afcd8], rsi
mov dword [0x18035eae0], 2
call fcn.180110360
mov ecx, 0x55
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xorps xmm6, xmm6
test ax, ax
je 0x180083ade
movss xmm0, dword [0x1802fbc10]
xorps xmm3, xmm3
mov dword [rsp + 0x60], 1
xorps xmm2, xmm2
mov dword [rsp + 0x58], 1
mov edx, 1
mov dword [rsp + 0x50], 1
mov ecx, ebx
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], 1
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm0
call fcn.1800e3d60
mov ecx, 0x4b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180083b5b
mulss xmm8, dword [0x1802fde88]
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
subss xmm8, dword [0x1802fb71c]
mov qword [rsp + 0xd8], rdi
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], edi
mov qword [0x1803afcd8], rsi
movss dword [rsp + 0xd8], xmm8
mov rax, qword [rsp + 0xd8]
mov qword [0x18035ebc0], rax
mov dword [0x18035eae0], 2
call fcn.180110360
mov ecx, 0x4a
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsd xmm8, qword [0x1802fb660]
movabs rbp, 0xafbd61cc738d9eb9
test ax, ax
je 0x180083c11
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
mov qword [0x18035ebb8], rax
mov dword [rsp + 0xd8], 2
mov rax, qword [rsp + 0xd8]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], edi
mov qword [0x1803afcd8], rbp
mov dword [0x18035eae0], 2
call fcn.180110360
mov dword [rsp + 0x28], 1
mov ecx, ebx
mov dword [rsp + 0x20], 2
movsd xmm0, qword [rax + 0x10]
movups xmm1, xmmword [rax]
cvtss2sd xmm0, xmm0
movaps xmm2, xmm1
addsd xmm0, xmm8
shufps xmm2, xmm1, 0xaa
cvtpd2ps xmm3, xmm0
call fcn.1800e2910
mov ecx, 0x4c
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180083cb4
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
mov qword [0x18035ebb8], rax
mov dword [rsp + 0xd8], 2
mov rax, qword [rsp + 0xd8]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], edi
mov qword [0x1803afcd8], rbp
mov dword [0x18035eae0], 2
call fcn.180110360
mov dword [rsp + 0x28], 1
mov ecx, ebx
mov dword [rsp + 0x20], 2
movsd xmm0, qword [rax + 0x10]
movups xmm1, xmmword [rax]
cvtss2sd xmm0, xmm0
movaps xmm2, xmm1
subsd xmm0, xmm8
shufps xmm2, xmm1, 0xaa
cvtpd2ps xmm3, xmm0
call fcn.1800e2910
mov ecx, 0x4e
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm8, xmmword [rsp + 0x90]
mov rbp, qword [rsp + 0xd0]
test ax, ax
je 0x180083d49
mov dword [rsp + 0x28], edi
xorps xmm3, xmm3
xorps xmm2, xmm2
mov dword [rsp + 0x20], 2
xorps xmm1, xmm1
mov ecx, ebx
call fcn.1800e2910
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
mov qword [0x18035ebb8], rax
mov dword [rsp + 0xd8], edi
mov rax, qword [rsp + 0xd8]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], edi
mov qword [0x1803afcd8], rsi
mov dword [0x18035eae0], 2
call fcn.180110360
mov ecx, 0x48
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rsi, qword [rsp + 0xe0]
test ax, ax
je 0x180083d85
addss xmm7, dword [0x1802fdfb0]
mov dword [rsp + 0x28], edi
xorps xmm3, xmm3
xorps xmm2, xmm2
mov dword [rsp + 0x20], 2
mov ecx, ebx
movaps xmm1, xmm7
call fcn.1800e2910
mov ecx, 0x47
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180083db9
addss xmm7, dword [0x1802fb7bc]
mov dword [rsp + 0x28], edi
xorps xmm3, xmm3
xorps xmm2, xmm2
mov dword [rsp + 0x20], 2
mov ecx, ebx
movaps xmm1, xmm7
call fcn.1800e2910
mov ecx, 0x39
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180083dee
movss xmm3, dword [0x1802fe554]
xorps xmm2, xmm2
mov dword [rsp + 0x28], 1
movaps xmm1, xmm7
mov ecx, ebx
mov dword [rsp + 0x20], 2
call fcn.1800e2910
mov ecx, 0x38
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180083e23
movss xmm3, dword [0x1802fc160]
xorps xmm2, xmm2
mov dword [rsp + 0x28], 1
movaps xmm1, xmm7
mov ecx, ebx
mov dword [rsp + 0x20], 2
call fcn.1800e2910
mov ecx, 0x37
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180083e58
movss xmm3, dword [0x1802fc7ac]
xorps xmm2, xmm2
mov dword [rsp + 0x28], 1
movaps xmm1, xmm7
mov ecx, ebx
mov dword [rsp + 0x20], 2
call fcn.1800e2910
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180083e8f
movss xmm3, dword [0x1802fe9e4]
xorps xmm2, xmm2
mov dword [rsp + 0x28], 1
movaps xmm1, xmm7
mov ecx, ebx
mov dword [rsp + 0x20], 2
call fcn.1800e2910
jmp 0x180083ef5
mov qword [rsp + 0xd8], rdi
movabs rax, 0x89f149b6131e57da
mov qword [0x1803afcd8], rax
mov dword [rsp + 0xd8], ebx
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
mov qword [0x18035ebb8], rax
mov dword [rsp + 0xd8], 1
mov rax, qword [rsp + 0xd8]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], edi
mov dword [0x18035eae0], 2
call fcn.180110360
movaps xmm6, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xa0]
mov rbx, qword [rsp + 0xe8]
add rsp, 0xc0
pop rdi
ret