Function at 0x180100230
Capabilities:
Log keystrokes via polling

Disassembly:
test cl, cl
je 0x1801006b0
mov r11, rsp
push rbp
push rbx
push rdi
lea rbp, [r11 - 0x78]
sub rsp, 0x160
movaps xmmword [r11 - 0x48], xmm8
mov rax, qword [0x1801f7118]
xor rax, rsp
mov qword [rbp + 8], rax
mov rcx, qword [0x180217fa8]
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.18001a360
mov rcx, qword [0x180217fa8]
movabs rdx, 0x4f8644af03d0e0d6
call fcn.18001a3e0
mov rcx, qword [0x180217fa8]
mov rax, qword [rcx]
mov esi, dword [rax]
call fcn.18001a360
mov rcx, qword [0x180217fa8]
movabs rdx, 0xd80958fc74e988a6
call fcn.18001a3e0
mov rax, qword [0x180217fa8]
movss xmm6, dword [0x1801b73a8]
movss xmm7, dword [0x1801b72a0]
movaps xmm3, xmm6
mov r14d, dword [rbp + 0xa0]
mov edx, r14d
mov rcx, qword [rax]
movss xmm2, dword [0x1801b7690]
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.180071530
movss xmm3, dword [rbp - 0x20]
lea rcx, [rbp - 0x70]
movss xmm2, dword [rbp - 0x28]
addss xmm3, xmm6
addss xmm2, dword [0x1801b72d0]
mov edx, r14d
movss dword [rsp + 0x20], xmm7
call fcn.180071530
movss xmm3, dword [rbp - 0x20]
lea rcx, [rbp - 0x40]
movss xmm2, dword [rbp - 0x28]
mov edx, r14d
addss xmm3, dword [0x1801b75c0]
xorps xmm2, xmmword [0x1801b7920]
movss dword [rsp + 0x20], xmm7
call fcn.180071530
movss xmm3, dword [rbp - 0x20]
lea rcx, [rsp + 0x78]
addss xmm3, dword [0x1801b75c0]
movss xmm2, dword [rbp - 0x28]
mov edx, r14d
movss dword [rsp + 0x20], xmm7
call fcn.180071530
movss xmm7, dword [rbp - 0x48]
movss xmm14, dword [rbp - 0x30]
movss xmm15, dword [rbp - 0x38]
test bl, bl
je 0x18010046a
mov rax, qword [0x180218048]
movaps xmm2, xmm7
movss xmm3, dword [rbp - 0x40]
movss xmm1, dword [rbp - 0x50]
movss xmm0, dword [rbp - 0x58]
mov ecx, dword [rax + 0x171]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rax + 0x16d]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rax + 0x169]
mov dword [rsp + 0x30], ecx
movss dword [rsp + 0x28], xmm14
movss dword [rsp + 0x20], xmm15
call fcn.180107690
mov rax, qword [0x180218048]
movss xmm0, dword [rbp - 0x78]
movss xmm1, dword [rbp - 0x80]
movss xmm3, dword [rsp + 0x78]
mov ecx, dword [rax + 0x171]
movss xmm2, dword [rbp - 0x60]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rax + 0x16d]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rax + 0x169]
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.180107690
mov rbx, qword [0x180218068]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [rbx + 0x18]
jne 0x180100657
mov ecx, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180100657
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x18029c850]
add edx, dword [0x180213094]
cmp edx, eax
jae 0x180100657
mov rcx, qword [0x180217fa8]
call fcn.18001a360
mov r8, qword [0x180217fa8]
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 [0x180217fa8]
call fcn.18001a3e0
mov rax, qword [0x180217fa8]
mov rdx, qword [rax]
cmp dword [rdx], 0
je 0x180100657
mov ecx, r14d
call fcn.180070710
mov rcx, qword [0x180217fa8]
mov ebx, eax
call fcn.18001a360
mov rdx, qword [0x180217fa8]
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 [0x180217fa8]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rdx
lea rdx, [rbp - 0x28]
inc dword [rcx + 8]
mov rcx, qword [0x180217fa8]
mov eax, dword [rcx + 8]
mov qword [rcx + rax*8 + 0x130], rdx
movabs rdx, 0x3e8d3d5f549087a
inc dword [rcx + 8]
mov rcx, qword [0x180217fa8]
call fcn.18001a3e0
mov ecx, edi
call fcn.180107620
movss xmm0, dword [rbp - 0x40]
movaps xmm3, xmm7
movss xmm6, dword [0x1801b76c0]
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.180071820
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.180071820
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x18029c850], 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.18015c690
movaps xmm8, xmmword [rsp + 0x130]
add rsp, 0x160
pop rdi
pop rbx
pop rbp
ret