Function at 0x180009c30
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0xd0
xor edi, edi
movabs rbx, 0xd80958fc74e988a6
mov dword [0x1800e6d30], edi
mov dword [0x1800e6d40], edi
mov qword [0x1800f2180], rbx
call fcn.1800277b0
mov qword [rsp + 0xe8], rdi
mov ecx, dword [rax]
movabs rax, 0x997abd671d25ca0b
mov dword [rsp + 0xe8], ecx
mov qword [0x1800f2180], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], rdi
mov qword [0x1800e6e08], rax
mov dword [rsp + 0xe8], edi
mov rax, qword [rsp + 0xe8]
mov qword [0x1800e6e10], rax
mov dword [0x1800e6d40], edi
mov dword [0x1800e6d30], 2
call fcn.1800277b0
cmp dword [rax], edi
je 0x18000a366
mov qword [rsp + 0xe0], rbp
mov qword [rsp + 0xf0], rsi
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xa0], xmm8
mov dword [0x1800e6d30], edi
mov dword [0x1800e6d40], edi
mov qword [0x1800f2180], rbx
call fcn.1800277b0
mov qword [rsp + 0xe8], rdi
mov ecx, dword [rax]
movabs rax, 0x9a9112a0fe9a4713
mov dword [rsp + 0xe8], ecx
mov qword [0x1800f2180], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], rdi
mov qword [0x1800e6e08], rax
mov dword [rsp + 0xe8], edi
mov rax, qword [rsp + 0xe8]
mov qword [0x1800e6e10], rax
mov dword [0x1800e6d40], edi
mov dword [0x1800e6d30], 2
call fcn.1800277b0
mov qword [rsp + 0xe8], rdi
mov ebx, dword [rax]
movabs rax, 0xd5037ba82e12416f
mov qword [0x1800f2180], rax
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x1800e6e08], rax
mov dword [0x1800e6d40], edi
mov dword [0x1800e6d30], 1
call fcn.1800277b0
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
movss xmm8, dword [rax]
movabs rax, 0xd45dc2893621e1fe
mov qword [0x1800f2180], rax
mov rax, qword [rsp + 0xe8]
mov qword [0x1800e6e08], rax
mov dword [0x1800e6d40], edi
mov dword [0x1800e6d30], 1
call fcn.1800277b0
lea ecx, [rdi + 0x49]
movss xmm7, dword [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movabs rsi, 0xab54a438726d25d5
test ax, ax
je 0x180009e83
mov qword [rsp + 0xe8], rdi
movaps xmm0, xmm8
addss xmm0, dword [0x1800b76f4]
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], rdi
mov qword [0x1800e6e08], rax
movss dword [rsp + 0xe8], xmm0
mov rax, qword [rsp + 0xe8]
mov qword [0x1800e6e10], rax
mov dword [0x1800e6d40], edi
mov qword [0x1800f2180], rsi
mov dword [0x1800e6d30], 2
call fcn.1800277b0
mov ecx, 0x55
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xorps xmm6, xmm6
test ax, ax
je 0x180009ef0
movss xmm0, dword [0x1800b7a20]
movaps xmm3, xmm6
mov dword [rsp + 0x68], 1
mov r8d, 1
mov dword [rsp + 0x60], 1
mov edx, ebx
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm6
call fcn.18001c8c0
mov ecx, 0x4b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180009f6d
mulss xmm8, dword [0x1800b931c]
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
subss xmm8, dword [0x1800b7738]
mov qword [rsp + 0xe8], rdi
mov qword [0x1800e6e08], rax
mov dword [0x1800e6d40], edi
mov qword [0x1800f2180], rsi
movss dword [rsp + 0xe8], xmm8
mov rax, qword [rsp + 0xe8]
mov qword [0x1800e6e10], rax
mov dword [0x1800e6d30], 2
call fcn.1800277b0
mov ecx, 0x4a
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsd xmm8, qword [0x1800b76d0]
movabs rbp, 0xafbd61cc738d9eb9
test ax, ax
je 0x18000a03a
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], rdi
mov qword [0x1800e6e08], rax
mov dword [rsp + 0xe8], 2
mov rax, qword [rsp + 0xe8]
mov qword [0x1800e6e10], rax
mov dword [0x1800e6d40], edi
mov qword [0x1800f2180], rbp
mov dword [0x1800e6d30], 2
call fcn.1800277b0
mov dword [rsp + 0x30], 1
mov edx, ebx
mov dword [rsp + 0x28], 2
movsd xmm1, qword [rax + 0x10]
movups xmm2, xmmword [rax]
movsd qword [rsp + 0x90], xmm1
movss xmm0, dword [rsp + 0x90]
movaps xmm3, xmm2
cvtps2pd xmm0, xmm0
shufps xmm3, xmm2, 0xaa
addsd xmm0, xmm8
cvtpd2ps xmm1, xmm0
movss dword [rsp + 0x20], xmm1
call fcn.18001ae90
mov ecx, 0x4c
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000a0f4
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], rdi
mov qword [0x1800e6e08], rax
mov dword [rsp + 0xe8], 2
mov rax, qword [rsp + 0xe8]
mov qword [0x1800e6e10], rax
mov dword [0x1800e6d40], edi
mov qword [0x1800f2180], rbp
mov dword [0x1800e6d30], 2
call fcn.1800277b0
mov dword [rsp + 0x30], 1
mov edx, ebx
mov dword [rsp + 0x28], 2
movsd xmm1, qword [rax + 0x10]
movups xmm2, xmmword [rax]
movsd qword [rsp + 0x90], xmm1
movss xmm0, dword [rsp + 0x90]
movaps xmm3, xmm2
cvtps2pd xmm0, xmm0
shufps xmm3, xmm2, 0xaa
subsd xmm0, xmm8
cvtpd2ps xmm1, xmm0
movss dword [rsp + 0x20], xmm1
call fcn.18001ae90
mov ecx, 0x4e
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm8, xmmword [rsp + 0xa0]
mov rbp, qword [rsp + 0xe0]
test ax, ax
je 0x18000a18c
mov dword [rsp + 0x30], edi
movaps xmm3, xmm6
mov dword [rsp + 0x28], 2
movaps xmm2, xmm6
mov edx, ebx
movss dword [rsp + 0x20], xmm6
call fcn.18001ae90
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], rdi
mov qword [0x1800e6e08], rax
mov dword [rsp + 0xe8], edi
mov rax, qword [rsp + 0xe8]
mov qword [0x1800e6e10], rax
mov dword [0x1800e6d40], edi
mov qword [0x1800f2180], rsi
mov dword [0x1800e6d30], 2
call fcn.1800277b0
mov ecx, 0x48
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rsi, qword [rsp + 0xf0]
test ax, ax
je 0x18000a1cb
addss xmm7, dword [0x1800b942c]
mov dword [rsp + 0x30], edi
movaps xmm3, xmm6
mov dword [rsp + 0x28], 2
mov edx, ebx
movss dword [rsp + 0x20], xmm6
movaps xmm2, xmm7
call fcn.18001ae90
mov ecx, 0x47
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000a202
addss xmm7, dword [0x1800b77a0]
mov dword [rsp + 0x30], edi
movaps xmm3, xmm6
mov dword [rsp + 0x28], 2
mov edx, ebx
movss dword [rsp + 0x20], xmm6
movaps xmm2, xmm7
call fcn.18001ae90
mov ecx, 0x39
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000a23d
movss xmm0, dword [0x1800b99a4]
movaps xmm3, xmm6
mov dword [rsp + 0x30], 1
movaps xmm2, xmm7
mov dword [rsp + 0x28], 2
mov edx, ebx
movss dword [rsp + 0x20], xmm0
call fcn.18001ae90
mov ecx, 0x38
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000a278
movss xmm0, dword [0x1800b7db8]
movaps xmm3, xmm6
mov dword [rsp + 0x30], 1
movaps xmm2, xmm7
mov dword [rsp + 0x28], 2
mov edx, ebx
movss dword [rsp + 0x20], xmm0
call fcn.18001ae90
mov ecx, 0x37
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000a2b3
movss xmm0, dword [0x1800b824c]
movaps xmm3, xmm6
mov dword [rsp + 0x30], 1
movaps xmm2, xmm7
mov dword [rsp + 0x28], 2
mov edx, ebx
movss dword [rsp + 0x20], xmm0
call fcn.18001ae90
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000a2f0
movss xmm0, dword [0x1800b9e10]
movaps xmm3, xmm6
mov dword [rsp + 0x30], 1
movaps xmm2, xmm7
mov dword [rsp + 0x28], 2
mov edx, ebx
movss dword [rsp + 0x20], xmm0
call fcn.18001ae90
jmp 0x18000a356
mov qword [rsp + 0xe8], rdi
movabs rax, 0x89f149b6131e57da
mov qword [0x1800f2180], rax
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], rdi
mov qword [0x1800e6e08], rax
mov dword [rsp + 0xe8], 1
mov rax, qword [rsp + 0xe8]
mov qword [0x1800e6e10], rax
mov dword [0x1800e6d40], edi
mov dword [0x1800e6d30], 2
call fcn.1800277b0
movaps xmm6, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xb0]
mov rbx, qword [rsp + 0xf8]
add rsp, 0xd0
pop rdi
ret