Function at 0x14008ae30
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xc0
mov rax, qword [0x1400c5048]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov rdi, rcx
mov rax, qword [0x1400ce0a8]
sub rax, qword [rcx]
cmp rax, 0x1f4
jb 0x14008b0ea
mov ecx, reloc.WS2_32.dll_WSACleanup
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14008af09
mov rax, qword [0x1400ce0a8]
mov qword [rdi], rax
mov rbx, qword [rdi + 8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x39], xmm1
mov r8d, ntohs
lea rdx, str.Banning_all
lea rcx, [rbp - 0x49]
call fcn.140001e10
nop
lea rdx, [rbp - 0x49]
mov rcx, rbx
call fcn.1400800e0
nop
lea rcx, [rbp - 0x49]
call fcn.1400040d0
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x39], xmm1
mov r8d, 7
lea rdx, str._banall
lea rcx, [rbp - 0x49]
call fcn.140001e10
nop
lea rdx, [rbp - 0x49]
mov rcx, qword [rdi + 8]
call fcn.14004dda0
nop
lea rcx, [rbp - 0x49]
jmp 0x14008b0e5
mov ecx, 0x75
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14008afb7
mov rax, qword [0x1400ce0a8]
mov qword [rdi], rax
mov rbx, qword [rdi + 8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x39], xmm1
mov r8d, 6
lea rdx, str.Exting
lea rcx, [rbp - 0x49]
call fcn.140001e10
nop
lea rdx, [rbp - 0x49]
mov rcx, rbx
call fcn.1400800e0
nop
lea rcx, [rbp - 0x49]
call fcn.1400040d0
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x2d8]
mov rbx, qword [rcx + 0x10]
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x39], xmm1
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.actionquit_to_exit
lea rcx, [rbp - 0x49]
call fcn.140001e10
nop
lea r8, [rbp - 0x49]
mov edx, 3
mov rcx, rbx
call fcn.140089ce0
nop
lea rcx, [rbp - 0x49]
jmp 0x14008b0e5
mov ecx, 0x76
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14008b0ea
mov rax, qword [0x1400ce0a8]
mov qword [rdi], rax
mov rbx, qword [rdi + 8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x39], xmm1
mov r8d, reloc.WS2_32.dll_ntohl
lea rdx, str.Joining_random
lea rcx, [rbp - 0x49]
call fcn.140001e10
nop
lea rdx, [rbp - 0x49]
mov rcx, rbx
call fcn.1400800e0
nop
lea rcx, [rbp - 0x49]
call fcn.1400040d0
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x1400ce3c4], eax
jle 0x14008b05f
lea rcx, [0x1400ce3c4]
call fcn.1400922d8
cmp dword [0x1400ce3c4], 0xffffffff
jne 0x14008b05f
lea rcx, [0x1400ce3c8]
call fcn.140001a60
nop
lea rcx, [0x1400ce3c4]
call fcn.14009226c
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov r8d, 0x24
lea rdx, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
lea rcx, [rbp - 0x19]
call fcn.140001e10
nop
lea rdx, [0x1400ce3c8]
lea rcx, [rbp - 0x49]
call fcn.140036d70
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x29], xmm0
lea r9, [rbp - 0x19]
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp - 0x29]
lea rcx, [rbp + 0x27]
call fcn.14003aaa0
nop
lea rcx, [rbp - 0x19]
call fcn.1400040d0
mov rax, qword [rdi + 8]
mov rbx, qword [rax + 0x2d8]
lea rdx, [rbp + 0x27]
lea rcx, [rbp + 7]
call fcn.140003a80
mov rdx, rax
mov rcx, rbx
call fcn.140002270
nop
lea rcx, [rbp + 0x27]
call fcn.1400040d0
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.140092210
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret