Function at 0x140091b00
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
cmp byte [0x14021bb6f], 0
je 0x140091e7e
mov ecx, dword [0x14021bdd4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
lea r12, [0x14021bfd0]
xor esi, esi
movabs r13, 0x38e38e38e38e38e
test ax, ax
jns 0x140091cdc
mov dword [0x14021bac8], esi
cmp dword [0x14021bac4], 0x3c
jge 0x140091cdc
nop word [rax + rax]
mov r14, qword [0x14021bf40]
mov r15, qword [0x14021bf48]
cmp r14, r15
je 0x140091cb4
nop word [rax + rax]
mov r8, r14
lea rdx, [rbp - 0x20]
mov rcx, r12
call fcn.140073540
mov rbx, qword [rbp - 0x10]
cmp byte [rbx + 0x19], 0
jne 0x140091bbc
lea r8, [rbx + 0x20]
mov rdx, r14
mov rcx, r12
call fcn.14006f330
test al, al
je 0x140091c2a
cmp qword [0x14021bfd8], r13
je 0x140091ea7
mov rdi, qword [0x14021bfd0]
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], rsi
mov ecx, 0x48
call fcn.14015be90
mov rsi, rax
mov qword [rbp - 0x28], rax
mov rdx, r14
lea rcx, [rax + 0x20]
call fcn.14006c7f0
xor eax, eax
mov word [rsi + 0x40], ax
mov qword [rsi], rdi
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rdi
mov word [rsi + 0x18], ax
mov qword [rbp - 0x28], rax
movups xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp - 0x20], xmm0
mov r8, rsi
lea rdx, [rbp - 0x20]
mov rcx, r12
call fcn.14008dc80
mov rbx, rax
xor esi, esi
movzx ebx, word [rbx + 0x40]
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x140091e9c
cmp dword [0x1402175cc], 0x7fffffff
je 0x140091ead
xor r8d, r8d
movzx edx, bx
lea rcx, [0x14021c120]
call fcn.14008a9b0
mov qword [rbp + 0x30], 0xa
lea rcx, [rbp + 0x30]
call fcn.14007d6c0
mov r8d, 1
movzx edx, bx
lea rcx, [0x14021c120]
call fcn.14008a9b0
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
mov qword [rbp + 0x30], 1
lea rcx, [rbp + 0x30]
call fcn.14007d6c0
add r14, 0x20
cmp r14, r15
jne 0x140091b90
mov qword [rbp + 0x30], 1
lea rcx, [rbp + 0x30]
call fcn.14007d6c0
mov eax, dword [0x14021bac4]
inc eax
mov dword [0x14021bac4], eax
cmp eax, 0x3c
jl 0x140091b70
mov ecx, dword [0x14021bdd4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x140091e7e
mov dword [0x14021bac4], esi
cmp dword [0x14021bac8], 0x3c
jge 0x140091e7e
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [0x14021bef8]
mov r15, qword [0x14021bf00]
cmp rbx, r15
je 0x140091e56
nop word [rax + rax]
mov r8, rbx
lea rdx, [rbp - 0x20]
mov rcx, r12
call fcn.140073540
mov rdi, qword [rbp - 0x10]
cmp byte [rdi + 0x19], 0
jne 0x140091d5c
lea r8, [rdi + 0x20]
mov rdx, rbx
mov rcx, r12
call fcn.14006f330
test al, al
je 0x140091dcc
cmp qword [0x14021bfd8], r13
je 0x140091ea7
mov rsi, qword [0x14021bfd0]
mov qword [rbp - 0x30], r12
xor eax, eax
mov qword [rbp - 0x28], rax
mov ecx, 0x48
call fcn.14015be90
mov r14, rax
mov qword [rbp - 0x28], rax
mov rdx, rbx
lea rcx, [rax + 0x20]
call fcn.14006c7f0
xor eax, eax
mov word [r14 + 0x40], ax
mov qword [r14], rsi
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rsi
mov word [r14 + 0x18], ax
mov qword [rbp - 0x28], rax
movups xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp - 0x20], xmm0
mov r8, r14
lea rdx, [rbp - 0x20]
mov rcx, r12
call fcn.14008dc80
mov rdi, rax
movzx edi, word [rdi + 0x40]
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x140091e9c
cmp dword [0x1402175cc], 0x7fffffff
je 0x140091ead
xor r8d, r8d
movzx edx, di
lea rcx, [0x14021c120]
call fcn.14008a9b0
mov qword [rbp + 0x30], 0xa
lea rcx, [rbp + 0x30]
call fcn.14007d6c0
mov r8d, 1
movzx edx, di
lea rcx, [0x14021c120]
call fcn.14008a9b0
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
mov qword [rbp + 0x30], 1
lea rcx, [rbp + 0x30]
call fcn.14007d6c0
add rbx, 0x20
cmp rbx, r15
jne 0x140091d30
mov qword [rbp + 0x30], 1
lea rcx, [rbp + 0x30]
call fcn.14007d6c0
mov eax, dword [0x14021bac8]
inc eax
mov dword [0x14021bac8], eax
cmp eax, 0x3c
jl 0x140091d10
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 5
call fcn.14015ddb0
int3
call fcn.14008ec10
int3
mov dword [0x1402175cc], 0x7ffffffe
mov ecx, 6
call fcn.14015ddb0
int3