Function at 0x180001f60
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rdi
sub rsp, 0xb0
movaps xmmword [rax - 0x18], xmm6
mov rbx, r8
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmm9, xmm1
movaps xmmword [rax - 0x58], xmm10
movaps xmm10, xmm0
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movabs rax, qword [0x141e4f8e0]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
movss xmm12, dword [0x18000a10c]
movaps xmm2, xmm9
movss xmm7, dword [0x18000a118]
movaps xmm1, xmm10
movss xmm8, dword [0x18000a148]
movaps xmm3, xmm7
mov rcx, qword [rax + 0x530]
movss dword [rsp + 0x28], xmm12
movss dword [rsp + 0x20], xmm8
call fcn.180001b80
movabs rax, qword [0x141e4f8e0]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
movss xmm6, dword [0x18000a1a0]
movaps xmm1, xmm10
addss xmm1, dword [0x18000a120]
movss dword [rsp + 0x28], xmm12
movaps xmm3, xmm6
mov rcx, qword [rax + 0x530]
movaps xmm2, xmm9
movss dword [rsp + 0x20], xmm8
call fcn.180001b80
movabs rax, qword [0x141e4f8e0]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
movaps xmm11, xmm10
movss dword [rsp + 0x28], xmm12
addss xmm11, xmm6
movss dword [rsp + 0x20], xmm8
movaps xmm3, xmm7
movaps xmm2, xmm9
mov rcx, qword [rax + 0x530]
movaps xmm1, xmm11
addss xmm1, dword [0x18000a128]
call fcn.180001b80
movss xmm2, dword [0x18000a1ac]
movaps xmm3, xmm8
movaps xmm1, xmm9
movaps xmm0, xmm10
call fcn.180001e40
movss xmm8, dword [0x18000a144]
lea rsi, [0x18000c300]
movss xmm7, dword [0x18000a114]
xor edi, edi
test al, al
je 0x1800021d6
movabs rax, qword [0x141e4f8e0]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
movaps xmm6, xmm9
mov dword [rsp + 0x30], edi
addss xmm6, xmm12
mov dword [rsp + 0x28], 0xff8c0000
movaps xmm3, xmm7
movss dword [rsp + 0x20], xmm8
mov rcx, qword [rax + 0x530]
movaps xmm1, xmm10
movaps xmm2, xmm6
mov rax, qword [rcx]
call qword [rax + 0x50]
movabs rax, qword [0x141e4f8e0]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
movaps xmm1, xmm11
mov dword [rsp + 0x30], edi
addss xmm1, dword [0x18000a124]
mov dword [rsp + 0x28], 0xff8c0000
movaps xmm3, xmm7
mov rcx, qword [rax + 0x530]
movaps xmm2, xmm6
movss dword [rsp + 0x20], xmm8
addss xmm1, xmm7
mov rax, qword [rcx]
call qword [rax + 0x50]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x1800021cf
cmp byte [0x18000c378], dil
je 0x1800021a7
cmp dword [0x18000c37c], edi
je 0x1800021d6
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x18000c37c]
add ecx, 0x2710
cmp ecx, eax
ja 0x1800021d6
mov byte [0x18000c378], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movsxd rcx, dword [0x18000c368]
mov dword [0x18000c37c], eax
mov eax, edi
cmp dword [rsi + rcx*4], 1
setne al
mov dword [rsi + rcx*4], eax
jmp 0x1800021d6
mov byte [0x18000c378], dil
movsxd rax, dword [0x18000c368]
cmp dword [rsi + rax*4], edi
je 0x18000236b
movabs rax, qword [0x141e4f8e0]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
movaps xmm6, xmm9
mov dword [rsp + 0x30], edi
addss xmm6, xmm12
mov dword [rsp + 0x28], 0xff008c00
movaps xmm1, xmm10
movss dword [rsp + 0x20], xmm8
mov rcx, qword [rax + 0x530]
addss xmm1, xmm12
movaps xmm3, xmm7
movaps xmm2, xmm6
mov rax, qword [rcx]
call qword [rax + 0x50]
movabs rax, qword [0x141e4f8e0]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
addss xmm11, dword [0x18000a124]
mov dword [rsp + 0x30], edi
movaps xmm3, xmm7
mov dword [rsp + 0x28], 0xff008c00
movaps xmm2, xmm6
mov rcx, qword [rax + 0x530]
movss dword [rsp + 0x20], xmm8
addss xmm11, xmm7
mov rax, qword [rcx]
movaps xmm1, xmm11
call qword [rax + 0x50]
mov eax, dword [0x18000c368]
test eax, eax
je 0x18000229a
mov dword [0x18000c300], edi
cmp eax, 1
je 0x1800022a5
mov dword [0x18000c304], edi
cmp eax, 2
je 0x1800022b0
mov dword [0x18000c308], edi
cmp eax, 3
je 0x1800022bb
mov dword [0x18000c30c], edi
cmp eax, 4
je 0x1800022c6
mov dword [0x18000c310], edi
cmp eax, 5
je 0x1800022d1
mov dword [0x18000c314], edi
cmp eax, 6
je 0x1800022dc
mov dword [0x18000c318], edi
cmp eax, 7
je 0x1800022e7
mov dword [0x18000c31c], edi
cmp eax, 8
je 0x1800022f2
mov dword [0x18000c320], edi
cmp eax, 9
je 0x1800022fd
mov dword [0x18000c324], edi
cmp eax, 0xa
je 0x180002308
mov dword [0x18000c328], edi
cmp eax, 0xb
je 0x180002313
mov dword [0x18000c32c], edi
cmp eax, 0xc
je 0x18000231e
mov dword [0x18000c330], edi
cmp eax, 0xd
je 0x180002329
mov dword [0x18000c334], edi
cmp eax, 0xe
je 0x180002334
mov dword [0x18000c338], edi
cmp eax, 0xf
je 0x18000233f
mov dword [0x18000c33c], edi
cmp eax, 0x10
je 0x18000234a
mov dword [0x18000c340], edi
cmp eax, 0x11
je 0x180002355
mov dword [0x18000c344], edi
cmp eax, 0x12
je 0x180002360
mov dword [0x18000c348], edi
cmp eax, 0x13
je 0x18000236b
mov dword [0x18000c34c], edi
movabs rax, qword [0x141e4f8e0]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
addss xmm9, dword [0x18000a130]
addss xmm10, dword [0x18000a170]
movss xmm3, dword [0x18000a134]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0xc0], 0xffffffff
mov ecx, dword [rsp + 0xc0]
movaps xmm2, xmm9
movaps xmm1, xmm10
movd r8d, xmm2
movd edx, xmm1
mov byte [rsp + 0x28], 0xc
mov dword [rsp + 0x20], ecx
mov rcx, qword [rax + 0x530]
movd r9d, xmm3
call fcn.180001ca0
mov eax, dword [0x18000c368]
inc eax
cmp dword [0x18000c364], eax
mov dword [0x18000c368], eax
jge 0x1800023fd
mov dword [0x18000c364], eax
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop rdi
ret