Function at 0x1400a55dc
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
call fcn.14009d2c4
mov dword [0x14028fa18], eax
test eax, eax
jne 0x1400a300c
movdqa xmm0, xmmword [0x140265d40]
lea rcx, [rbp - 0x20]
movdqu xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x10], 0x5020646e
mov dword [rbp - 0xc], 0x65636f72
mov dword [rbp - 8], 0xa7373
call fcn.14009ce78
call fcn.14009d2c4
mov dword [0x14028fa18], eax
add rsp, 0x40
pop rbp
ret
mov edx, eax
mov dword [rbp - 0x20], 0x205d2a5b
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x1c], 0x3a444950
mov dword [rbp - 0x18], 0x2e582520
mov word [rbp - 0x14], 0xa
call fcn.14009ce78
call fcn.1400a4f14
call fcn.1400a50a4
add rsp, 0x40
pop rbp
jmp 0x1400a55dc
mov rax, rsp
mov qword [rax + 8], rbx
push rdi
sub rsp, 0x90
movaps xmmword [rax - 0x18], xmm6
mov rax, qword [0x140282140]
xor rax, rsp
mov qword [rsp + 0x78], rax
movss xmm6, dword [0x140265840]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xor edi, edi
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
mov rcx, qword [0x14028fce8]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rcx, qword [0x14028fce8]
mov edx, 5
call qword [sym.imp.USER32.dll_ShowWindow]
mov rdx, qword [0x14028fce8]
lea rcx, [rsp + 0x48]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x1400a5673
lea rcx, [rsp + 0x48]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x48]
call qword [sym.imp.USER32.dll_DispatchMessageA]
call fcn.140046fa8
mov rcx, qword [0x14028fce8]
mov rbx, rax
mov qword [rax + 0x100], rcx
lea rcx, [rsp + 0x40]
mov dword [rax + 0x10], 0x3c888889
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm0, dword [rsp + 0x40]
mov ecx, 1
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x110], xmm0
movd xmm0, dword [rsp + 0x44]
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x114], xmm0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400a56e9
mov byte [rbx + 0x118], 1
mov eax, dword [rbx + 0x114]
mov dword [rbx + 0x3d4], eax
mov byte [rbx + 0x428], 1
jmp 0x1400a56f0
mov byte [rbx + 0x118], dil
mov ecx, 0x24
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400a5706
xor byte [reloc.WS2_32.dll_accept], 1
cmp qword [0x14028fc08], rdi
jne 0x1400a5714
call fcn.140080d54
call fcn.140081110
call fcn.1400479a4
cmp byte [reloc.WS2_32.dll_accept], dil
je 0x1400a572c
call fcn.1400a3754
call fcn.1400a22f0
call fcn.140048ec0
mov rcx, qword [0x14028fe68]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 7]
call qword [rax + 0x1c8]
mov rcx, qword [0x14028fe68]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 0x1b]
call qword [rax + 0x1c8]
mov rcx, qword [0x14028fe68]
xor r8d, r8d
mov edx, 0xae
mov rax, qword [rcx]
call qword [rax + 0x1c8]
mov rcx, qword [0x14028fe68]
mov r9d, 1
mov dword [rsp + 0x30], edi
xor r8d, r8d
movss dword [rsp + 0x28], xmm6
xor edx, edx
mov dword [rsp + 0x20], edi
mov rax, qword [rcx]
call qword [rax + 0x158]
mov rcx, qword [0x14028fe68]
mov rax, qword [rcx]
call qword [rax + 0x148]
test eax, eax
js 0x1400a57eb
call fcn.140049364
mov rdx, qword [0x14028fa08]
add rdx, 0x1c70
mov al, byte [rdx]
neg al
sbb rcx, rcx
and rcx, rdx
call fcn.140080330
mov rcx, qword [0x14028fe68]
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [0x14028fe68]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rdi
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x88]
cmp dword [rsp + 0x50], 0x12
jne 0x1400a561a
call fcn.140080d78
mov qword [0x14028fc18], rdi
mov qword [0x14028fc28], rdi
call fcn.140046f74
mov rcx, qword [0x14028fce8]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140225770
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop rdi
ret