Function at 0x140014d20
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x50
lea rax, [rsp + 0x30]
mov rdi, rax
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
mov edx, 0x7f00
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403dee5c], eax
mov edx, 0x7f8a
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403dee44], eax
mov edx, 0x7f03
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403dee4c], eax
mov edx, 0x7f89
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403deed0], eax
mov edx, 0x7f8b
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403dee38], eax
mov edx, 0x7f01
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403dee50], eax
mov edx, 0x7f88
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403dee58], eax
mov edx, 0x7f86
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403dee60], eax
mov edx, 0x7f83
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403dee48], eax
mov edx, 0x7f85
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403dee40], eax
mov edx, 0x7f82
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403deed4], eax
mov edx, 0x7f84
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403dee3c], eax
mov edx, 0x7f04
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403dee54], eax
mov edx, 0x7f02
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.140014300
mov dword [0x1403dee64], eax
mov dword [rsp + 0x30], 0x18
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_GetCursorInfo]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x38]
call fcn.140014300
mov ecx, eax
call fcn.140014190
mov dword [reloc.WS2_32.dll_connect], eax
mov ecx, 0x1d
call fcn.14027bb94
xor r9d, r9d
xor r8d, r8d
mov edx, 5
mov rcx, rax
call fcn.140113960
mov qword [rsp + 0x28], rax
mov cx, 0x58
call qword [sym.imp.WS2_32.dll_htons]
mov ecx, 2
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x28]
mov word [rdx + rcx], ax
mov cx, 5
call qword [sym.imp.WS2_32.dll_htons]
mov ecx, 2
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x28]
mov word [rdx + rcx], ax
mov eax, 1
imul rax, rax, 4
mov rcx, qword [rsp + 0x28]
movzx edx, byte [reloc.WS2_32.dll_connect]
mov byte [rcx + rax], dl
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x60]
call fcn.14011b710
mov ecx, 0x1d
call fcn.14027bb94
xor r9d, r9d
xor r8d, r8d
mov edx, 5
mov rcx, rax
call fcn.140113960
mov qword [rsp + 0x28], rax
mov cx, reloc.WS2_32.dll_select
call qword [sym.imp.WS2_32.dll_htons]
mov ecx, 2
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x28]
mov word [rdx + rcx], ax
mov cx, 5
call qword [sym.imp.WS2_32.dll_htons]
mov ecx, 2
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x28]
mov word [rdx + rcx], ax
mov ecx, 0x90
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 1
mov dword [rsp + 0x20], eax
mov ecx, 0x91
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 1
shl eax, 1
mov ecx, dword [rsp + 0x20]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x24], eax
mov ecx, reloc.WS2_32.dll_sendto
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 1
shl eax, 2
mov ecx, dword [rsp + 0x24]
or ecx, eax
mov eax, ecx
mov ecx, 1
imul rcx, rcx, 4
mov rdx, qword [rsp + 0x28]
mov byte [rdx + rcx], al
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x60]
call fcn.14011b710
call fcn.140014cc0
add rsp, 0x50
pop rdi
ret