Function at 0x140058310
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rbx, rcx
xor r14d, r14d
mov dword [rbp - 0x40], r14d
mov qword [rcx], r14
mov qword [rcx + 8], r14
mov ecx, 0x28
call fcn.1401ae1f0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbx], rax
mov dword [rbp - 0x40], 1
mov ecx, select
call qword [sym.imp.USER32.dll_GetKeyState]
movzx esi, ax
shr si, 0xf
mov rdi, qword [rbx]
mov rcx, qword [rdi + 8]
mov qword [rbp - 0x20], rcx
mov dword [rbp - 0x18], r14d
mov rdx, rdi
cmp byte [rcx + 0x19], r14b
jne 0x1400583b7
nop dword [rax + rax]
mov qword [rbp - 0x20], rcx
cmp dword [rcx + 0x1c], 0x10
jge 0x1400583a4
mov dword [rbp - 0x18], r14d
mov rcx, qword [rcx + 0x10]
jmp 0x1400583b1
mov dword [rbp - 0x18], 1
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140058390
movabs r15, 0x666666666666666
cmp byte [rdx + 0x19], 0
jne 0x1400583cd
cmp dword [rdx + 0x1c], 0x10
jle 0x14005841d
cmp qword [rbx + 8], r15
je 0x14005881c
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], r14
mov ecx, 0x28
call fcn.1401ae1f0
nop
mov dword [rax + 0x1c], setsockopt
mov byte [rax + 0x20], sil
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp - 0x30], xmm0
mov r8, rax
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.140058830
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetKeyState]
movzx esi, ax
shr si, 0xf
mov rdi, qword [rbx]
mov rcx, qword [rdi + 8]
mov qword [rbp - 0x20], rcx
mov dword [rbp - 0x18], r14d
mov rdx, rdi
cmp byte [rcx + 0x19], 0
jne 0x14005847a
nop word [rax + rax]
mov qword [rbp - 0x20], rcx
cmp dword [rcx + 0x1c], 0xa0
jge 0x140058467
mov dword [rbp - 0x18], r14d
mov rcx, qword [rcx + 0x10]
jmp 0x140058474
mov dword [rbp - 0x18], 1
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140058450
cmp byte [rdx + 0x19], 0
jne 0x140058489
cmp dword [rdx + 0x1c], 0xa0
jle 0x1400584d9
cmp qword [rbx + 8], r15
je 0x14005881c
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], r14
mov ecx, 0x28
call fcn.1401ae1f0
nop
mov dword [rax + 0x1c], 0xa0
mov byte [rax + 0x20], sil
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp - 0x30], xmm0
mov r8, rax
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.140058830
mov ecx, 0xa1
call qword [sym.imp.USER32.dll_GetKeyState]
movzx esi, ax
shr si, 0xf
mov rdi, qword [rbx]
mov rcx, qword [rdi + 8]
mov qword [rbp - 0x20], rcx
mov dword [rbp - 0x18], r14d
mov rdx, rdi
cmp byte [rcx + 0x19], 0
jne 0x14005852d
mov qword [rbp - 0x20], rcx
cmp dword [rcx + 0x1c], 0xa1
jge 0x14005851a
mov dword [rbp - 0x18], r14d
mov rcx, qword [rcx + 0x10]
jmp 0x140058527
mov dword [rbp - 0x18], 1
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140058503
cmp byte [rdx + 0x19], 0
jne 0x14005853c
cmp dword [rdx + 0x1c], 0xa1
jle 0x14005858c
cmp qword [rbx + 8], r15
je 0x14005881c
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], r14
mov ecx, 0x28
call fcn.1401ae1f0
nop
mov dword [rax + 0x1c], 0xa1
mov byte [rax + 0x20], sil
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp - 0x30], xmm0
mov r8, rax
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.140058830
mov ecx, 4
call qword [sym.imp.USER32.dll_GetKeyState]
movzx esi, ax
shr si, 0xf
mov rdi, qword [rbx]
mov rcx, qword [rdi + 8]
mov qword [rbp - 0x20], rcx
mov dword [rbp - 0x18], r14d
mov rdx, rdi
cmp byte [rcx + 0x19], 0
jne 0x1400585dd
mov qword [rbp - 0x20], rcx
cmp dword [rcx + 0x1c], 0x10
jge 0x1400585ca
mov dword [rbp - 0x18], r14d
mov rcx, qword [rcx + 0x10]
jmp 0x1400585d7
mov dword [rbp - 0x18], 1
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1400585b6
cmp byte [rdx + 0x19], 0
jne 0x1400585e9
cmp dword [rdx + 0x1c], 0x10
jle 0x140058639
cmp qword [rbx + 8], r15
je 0x14005881c
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], r14
mov ecx, 0x28
call fcn.1401ae1f0
nop
mov dword [rax + 0x1c], setsockopt
mov byte [rax + 0x20], sil
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp - 0x30], xmm0
mov r8, rax
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.140058830
mov ecx, setsockopt
call qword [sym.imp.USER32.dll_GetKeyState]
movzx esi, ax
shr si, 0xf
mov rdi, qword [rbx]
mov rcx, qword [rdi + 8]
mov qword [rbp - 0x20], rcx
mov dword [rbp - 0x18], r14d
mov rdx, rdi
cmp byte [rcx + 0x19], 0
jne 0x14005868a
mov qword [rbp - 0x20], rcx
cmp dword [rcx + 0x1c], 0x14
jge 0x140058677
mov dword [rbp - 0x18], r14d
mov rcx, qword [rcx + 0x10]
jmp 0x140058684
mov dword [rbp - 0x18], 1
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140058663
cmp byte [rdx + 0x19], 0
jne 0x140058696
cmp dword [rdx + 0x1c], 0x14
jle 0x1400586e6
cmp qword [rbx + 8], r15
je 0x14005881c
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], r14
mov ecx, 0x28
call fcn.1401ae1f0
nop
mov dword [rax + 0x1c], setsockopt
mov byte [rax + 0x20], sil
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp - 0x30], xmm0
mov r8, rax
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.140058830
mov dword [rbp + 0x38], setsockopt
mov ecx, setsockopt
call qword [sym.imp.USER32.dll_GetKeyState]
shr ax, 0xf
mov byte [rbp + 0x3c], al
lea r8, [rbp + 0x38]
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.1400581e0
mov dword [rbp + 0x38], reloc.WS2_32.dll_select
mov ecx, reloc.WS2_32.dll_select
call qword [sym.imp.USER32.dll_GetKeyState]
shr ax, 0xf
mov byte [rbp + 0x3c], al
lea r8, [rbp + 0x38]
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.1400581e0
mov dword [rbp + 0x38], 0xa4
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetKeyState]
shr ax, 0xf
mov byte [rbp + 0x3c], al
lea r8, [rbp + 0x38]
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.1400581e0
mov dword [rbp + 0x38], 0xa5
mov ecx, 0xa5
call qword [sym.imp.USER32.dll_GetKeyState]
shr ax, 0xf
mov byte [rbp + 0x3c], al
lea r8, [rbp + 0x38]
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.1400581e0
mov dword [rbp + 0x38], 1
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
shr ax, 0xf
mov byte [rbp + 0x3c], al
lea r8, [rbp + 0x38]
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.1400581e0
mov dword [rbp + 0x38], 2
mov ecx, 2
call qword [sym.imp.USER32.dll_GetKeyState]
shr ax, 0xf
mov byte [rbp + 0x3c], al
lea r8, [rbp + 0x38]
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.1400581e0
mov dword [rbp + 0x38], 4
mov ecx, 4
call qword [sym.imp.USER32.dll_GetKeyState]
shr ax, 0xf
mov byte [rbp + 0x3c], al
lea r8, [rbp + 0x38]
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.1400581e0
mov rax, rbx
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.140058a90
int3