Function at 0x1800e51f0
Capabilities:
Log keystrokes via polling

Disassembly:
test cl, cl
je 0x1800e56ac
mov r11, rsp
push rbp
push rbx
push rdi
lea rbp, [r11 - 0x78]
sub rsp, 0x160
movaps xmmword [r11 - 0x48], xmm8
mov rax, qword [0x1801d1038]
xor rax, rsp
mov qword [rbp + 8], rax
mov rcx, qword [0x1801ef8e0]
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.180006370
mov rcx, qword [0x1801ef8e0]
movabs rdx, 0x4f8644af03d0e0d6
call fcn.1800063f0
mov rcx, qword [0x1801ef8e0]
mov rax, qword [rcx]
mov esi, dword [rax]
call fcn.180006370
mov rcx, qword [0x1801ef8e0]
movabs rdx, 0xd80958fc74e988a6
call fcn.1800063f0
mov rax, qword [0x1801ef8e0]
movss xmm6, dword [0x18019a00c]
movss xmm7, dword [0x180199f0c]
movaps xmm3, xmm6
mov r14d, dword [rbp + 0xa0]
mov edx, r14d
mov rcx, qword [rax]
movss xmm2, dword [0x18019a250]
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.18006ef90
movss xmm3, dword [rbp - 0x20]
lea rcx, [rbp - 0x70]
movss xmm2, dword [rbp - 0x28]
addss xmm3, xmm6
addss xmm2, dword [0x180199f2c]
mov edx, r14d
movss dword [rsp + 0x20], xmm7
call fcn.18006ef90
movss xmm3, dword [rbp - 0x20]
lea rcx, [rbp - 0x40]
movss xmm2, dword [rbp - 0x28]
mov edx, r14d
addss xmm3, dword [0x18019a1a8]
xorps xmm2, xmmword [0x18019a490]
movss dword [rsp + 0x20], xmm7
call fcn.18006ef90
movss xmm3, dword [rbp - 0x20]
lea rcx, [rsp + 0x78]
addss xmm3, dword [0x18019a1a8]
movss xmm2, dword [rbp - 0x28]
mov edx, r14d
movss dword [rsp + 0x20], xmm7
call fcn.18006ef90
movss xmm7, dword [rbp - 0x48]
movss xmm14, dword [rbp - 0x30]
movss xmm15, dword [rbp - 0x38]
test bl, bl
je 0x1800e542a
mov rax, qword [0x1801ef8d0]
movaps xmm2, xmm7
movss xmm3, dword [rbp - 0x40]
movss xmm1, dword [rbp - 0x50]
movss xmm0, dword [rbp - 0x58]
mov ecx, dword [rax + 0x184]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rax + 0x180]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rax + 0x17c]
mov dword [rsp + 0x30], ecx
movss dword [rsp + 0x28], xmm14
movss dword [rsp + 0x20], xmm15
call fcn.1800e9860
mov rax, qword [0x1801ef8d0]
movss xmm0, dword [rbp - 0x78]
movss xmm1, dword [rbp - 0x80]
movss xmm3, dword [rsp + 0x78]
mov ecx, dword [rax + 0x184]
movss xmm2, dword [rbp - 0x60]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rax + 0x180]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rax + 0x17c]
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.1800e9860
mov rbx, qword [0x1801ef8e8]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [rbx + 0x18]
jne 0x1800e5653
mov ecx, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1800e5653
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x1802638b4]
add edx, dword [0x1801ecf64]
cmp edx, eax
jae 0x1800e5653
mov rcx, qword [0x1801ef8e0]
call fcn.180006370
mov rdx, qword [0x1801ef8e0]
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 [0x1801ef8e0]
call fcn.1800063f0
mov rcx, qword [0x1801ef8e0]
mov rax, qword [rcx]
cmp dword [rax], 0
je 0x1800e5653
call fcn.180006370
mov rdx, qword [0x1801ef8e0]
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 [0x1801ef8e0]
call fcn.1800063f0
mov rcx, qword [0x1801ef8e0]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.180006370
mov rdx, qword [0x1801ef8e0]
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 [0x1801ef8e0]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rdx
lea rdx, [rbp - 0x28]
inc dword [rcx + 8]
mov rcx, qword [0x1801ef8e0]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rdx
movabs rdx, 0x3e8d3d5f549087a
inc dword [rcx + 8]
mov rcx, qword [0x1801ef8e0]
call fcn.1800063f0
mov ecx, edi
call fcn.1800e97f0
movss xmm0, dword [rbp - 0x40]
movaps xmm3, xmm7
movss xmm6, dword [0x18019a26c]
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.18006f230
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.18006f230
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1802638b4], 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.1800f6320
movaps xmm8, xmmword [rsp + 0x130]
add rsp, 0x160
pop rdi
pop rbx
pop rbp
ret