Function at 0x1800dce60
Capabilities:
Log keystrokes via polling

Disassembly:
test cl, cl
je 0x1800dd31e
mov r11, rsp
push rbp
push rbx
push rdi
lea rbp, [r11 - 0x78]
sub rsp, 0x160
movaps xmmword [r11 - 0x48], xmm8
mov rax, qword [0x1801ac118]
xor rax, rsp
mov qword [rbp + 8], rax
mov rcx, qword [0x1801c9230]
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.1800141b0
mov rcx, qword [0x1801c9230]
movabs rdx, 0x4f8644af03d0e0d6
call fcn.180014230
mov rcx, qword [0x1801c9230]
mov rax, qword [rcx]
mov esi, dword [rax]
call fcn.1800141b0
mov rcx, qword [0x1801c9230]
movabs rdx, 0xd80958fc74e988a6
call fcn.180014230
mov rax, qword [0x1801c9230]
movss xmm6, dword [0x1801771bc]
movss xmm7, dword [0x180177110]
movaps xmm3, xmm6
mov r14d, dword [rbp + 0xa0]
mov edx, r14d
mov rcx, qword [rax]
movss xmm2, dword [0x1801773f0]
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.18006af10
movss xmm3, dword [rbp - 0x20]
lea rcx, [rbp - 0x70]
movss xmm2, dword [rbp - 0x28]
addss xmm3, xmm6
addss xmm2, dword [0x180177130]
mov edx, r14d
movss dword [rsp + 0x20], xmm7
call fcn.18006af10
movss xmm3, dword [rbp - 0x20]
lea rcx, [rbp - 0x40]
movss xmm2, dword [rbp - 0x28]
mov edx, r14d
addss xmm3, dword [0x180177344]
xorps xmm2, xmmword [0x180177910]
movss dword [rsp + 0x20], xmm7
call fcn.18006af10
movss xmm3, dword [rbp - 0x20]
lea rcx, [rsp + 0x78]
addss xmm3, dword [0x180177344]
movss xmm2, dword [rbp - 0x28]
mov edx, r14d
movss dword [rsp + 0x20], xmm7
call fcn.18006af10
movss xmm7, dword [rbp - 0x48]
movss xmm14, dword [rbp - 0x30]
movss xmm15, dword [rbp - 0x38]
test bl, bl
je 0x1800dd09a
mov rax, qword [0x1801c92d8]
movaps xmm2, xmm7
movss xmm3, dword [rbp - 0x40]
movss xmm1, dword [rbp - 0x50]
movss xmm0, dword [rbp - 0x58]
mov ecx, dword [rax + 0x162]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rax + 0x15e]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rax + 0x15a]
mov dword [rsp + 0x30], ecx
movss dword [rsp + 0x28], xmm14
movss dword [rsp + 0x20], xmm15
call fcn.18006a840
mov rax, qword [0x1801c92d8]
movss xmm0, dword [rbp - 0x78]
movss xmm1, dword [rbp - 0x80]
movss xmm3, dword [rsp + 0x78]
mov ecx, dword [rax + 0x162]
movss xmm2, dword [rbp - 0x60]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rax + 0x15e]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rax + 0x15a]
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.18006a840
mov rbx, qword [0x1801c9318]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [rbx + 0x18]
jne 0x1800dd2c5
mov ecx, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x1800dd2c5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x18023aca8]
add edx, dword [0x1801c7f90]
cmp edx, eax
jae 0x1800dd2c5
mov rcx, qword [0x1801c9230]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x70], esi
mov rax, qword [rsp + 0x70]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0x49c32d60007afa47
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rcx, qword [0x1801c9230]
mov rax, qword [rcx]
cmp dword [rax], 0
je 0x1800dd2c5
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x70], r14d
mov rax, qword [rsp + 0x70]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
movabs rdx, 0x9f47b058362c84b5
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov rcx, qword [0x1801c9230]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.1800141b0
mov rdx, qword [0x1801c9230]
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 [0x1801c9230]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rdx
lea rdx, [rbp - 0x28]
inc dword [rcx + 8]
mov rcx, qword [0x1801c9230]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rdx
movabs rdx, 0x3e8d3d5f549087a
inc dword [rcx + 8]
mov rcx, qword [0x1801c9230]
call fcn.180014230
mov ecx, edi
call fcn.1800e1370
movss xmm0, dword [rbp - 0x40]
movaps xmm3, xmm7
movss xmm6, dword [0x18017740c]
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.18006b030
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.18006b030
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x18023aca8], 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.18012d340
movaps xmm8, xmmword [rsp + 0x130]
add rsp, 0x160
pop rdi
pop rbx
pop rbp
ret