Function at 0x1800c8e50
Capabilities:
Log keystrokes via polling

Disassembly:
test cl, cl
je 0x1800c92d2
mov r11, rsp
push rbp
push rbx
push rdi
lea rbp, [r11 - 0x78]
sub rsp, 0x160
movaps xmmword [r11 - 0x48], xmm8
mov rax, qword [0x180187118]
xor rax, rsp
mov qword [rbp + 8], rax
mov rcx, qword [0x1801a4200]
movzx ebx, r9b
mov qword [r11 + 8], rsi
movaps xmm8, xmm2
mov qword [r11 + 0x10], r14
mov edi, edx
mov qword [r11 + 0x18], r15
movaps xmmword [r11 - 0x28], xmm6
movaps xmmword [r11 - 0x38], xmm7
movaps xmmword [r11 - 0x58], xmm14
movaps xmmword [r11 - 0x68], xmm15
call fcn.180014080
mov rcx, qword [0x1801a4200]
movabs rdx, 0x4f8644af03d0e0d6
call fcn.180014100
mov rcx, qword [0x1801a4200]
mov rax, qword [rcx]
mov esi, dword [rax]
call fcn.180014080
mov rcx, qword [0x1801a4200]
movabs rdx, 0xd80958fc74e988a6
call fcn.180014100
mov rax, qword [0x1801a4200]
movss xmm6, dword [0x180158414]
movss xmm7, dword [0x180158368]
movaps xmm3, xmm6
mov r14d, dword [rbp + 0xa0]
mov edx, r14d
mov rcx, qword [rax]
movss xmm2, dword [0x180158630]
movss dword [rsp + 0x20], xmm7
mov r15d, dword [rcx]
lea rcx, [rbp - 0x58]
mov dword [rbp - 0x10], 0
mov dword [rbp - 8], 0
mov dword [rbp], 0
mov dword [rbp - 0x28], 0
mov dword [rbp - 0x20], 0
mov dword [rbp - 0x18], 0
call fcn.180065290
movss xmm3, dword [rbp - 0x20]
lea rcx, [rbp - 0x70]
movss xmm2, dword [rbp - 0x28]
addss xmm3, xmm6
addss xmm2, dword [0x18015837c]
mov edx, r14d
movss dword [rsp + 0x20], xmm7
call fcn.180065290
movss xmm3, dword [rbp - 0x20]
lea rcx, [rbp - 0x40]
movss xmm2, dword [rbp - 0x28]
mov edx, r14d
addss xmm3, dword [0x18015858c]
xorps xmm2, xmmword [0x180158c50]
movss dword [rsp + 0x20], xmm7
call fcn.180065290
movss xmm3, dword [rbp - 0x20]
lea rcx, [rsp + 0x78]
addss xmm3, dword [0x18015858c]
movss xmm2, dword [rbp - 0x28]
mov edx, r14d
movss dword [rsp + 0x20], xmm7
call fcn.180065290
movss xmm7, dword [rbp - 0x48]
movss xmm14, dword [rbp - 0x30]
movss xmm15, dword [rbp - 0x38]
test bl, bl
je 0x1800c908a
mov rax, qword [0x1801a42a8]
movaps xmm2, xmm7
movss xmm3, dword [rbp - 0x40]
movss xmm1, dword [rbp - 0x50]
movss xmm0, dword [rbp - 0x58]
mov ecx, dword [rax + 0x161]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rax + 0x15d]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rax + 0x159]
mov dword [rsp + 0x30], ecx
movss dword [rsp + 0x28], xmm14
movss dword [rsp + 0x20], xmm15
call fcn.1800cd410
mov rax, qword [0x1801a42a8]
movss xmm0, dword [rbp - 0x78]
movss xmm1, dword [rbp - 0x80]
movss xmm3, dword [rsp + 0x78]
mov ecx, dword [rax + 0x161]
movss xmm2, dword [rbp - 0x60]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rax + 0x15d]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rax + 0x159]
mov dword [rsp + 0x30], ecx
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [rbp - 0x70]
movss dword [rsp + 0x20], xmm1
movss xmm1, dword [rbp - 0x68]
call fcn.1800cd410
mov rbx, qword [0x1801a42e8]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [rbx + 0x18]
jne 0x1800c9279
mov ecx, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x1800c9279
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x18020dc18]
add edx, dword [0x1801a2f30]
cmp edx, eax
jae 0x1800c9279
mov rcx, qword [0x1801a4200]
call fcn.180014080
mov r8, qword [0x1801a4200]
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x70], esi
mov rax, qword [rsp + 0x70]
mov edx, dword [r8 + 8]
mov qword [r8 + rdx*8 + 0x130], rax
movabs rdx, 0x49c32d60007afa47
inc dword [r8 + 8]
mov rcx, qword [0x1801a4200]
call fcn.180014100
mov rax, qword [0x1801a4200]
mov rdx, qword [rax]
cmp dword [rdx], 0
je 0x1800c9279
mov ecx, r14d
call fcn.1800645d0
mov rcx, qword [0x1801a4200]
mov ebx, eax
call fcn.180014080
mov rdx, qword [0x1801a4200]
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x70], ebx
mov rax, qword [rsp + 0x70]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
lea rdx, [rbp - 0x10]
mov rcx, qword [0x1801a4200]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rdx
lea rdx, [rbp - 0x28]
inc dword [rcx + 8]
mov rcx, qword [0x1801a4200]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rdx
movabs rdx, 0x3e8d3d5f549087a
inc dword [rcx + 8]
mov rcx, qword [0x1801a4200]
call fcn.180014100
mov ecx, edi
call fcn.1800cd3a0
movss xmm0, dword [rbp - 0x40]
movaps xmm3, xmm7
movss xmm6, dword [0x18015864c]
movss xmm2, dword [rbp - 0x50]
movss xmm1, dword [rbp - 0x58]
movss dword [rsp + 0x68], xmm6
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x58], 1
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x48], edi
mov byte [rsp + 0x40], 1
cvttss2si ebx, xmm8
mov dword [rsp + 0x38], ebx
movss dword [rsp + 0x30], xmm14
movss dword [rsp + 0x28], xmm15
movss dword [rsp + 0x20], xmm0
call fcn.1800653b0
movss xmm0, dword [rbp - 0x78]
movss xmm3, dword [rbp - 0x60]
movss xmm2, dword [rbp - 0x68]
movss xmm1, dword [rbp - 0x70]
movss dword [rsp + 0x68], xmm6
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x58], 1
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x48], edi
mov byte [rsp + 0x40], 1
mov dword [rsp + 0x38], ebx
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [rbp - 0x80]
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [rsp + 0x78]
movss dword [rsp + 0x20], xmm0
call fcn.1800653b0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x18020dc18], eax
movaps xmm14, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x140]
movaps xmm6, xmmword [rsp + 0x150]
mov r15, qword [rsp + 0x190]
mov r14, qword [rsp + 0x188]
mov rsi, qword [rsp + 0x180]
movaps xmm15, xmmword [rsp + 0x110]
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.18011b980
movaps xmm8, xmmword [rsp + 0x130]
add rsp, 0x160
pop rdi
pop rbx
pop rbp
ret