Function at 0x1400e4c50
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x10], edx
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x2f]
sub rsp, 0xb0
mov qword [rbp + 0xf], 0xfffffffffffffffe
mov r14, r8
mov rdi, rcx
xor esi, esi
mov rbx, qword [rbp + 0x7f]
mov dword [rbx], esi
mov dword [rbp + 0x67], esi
lea r9, [rbp + 0x67]
xor r8d, r8d
mov edx, 0x805
mov rcx, qword [rcx + 0xb8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [rdi + 0x88]
cmp dword [rbp + 0x67], ecx
je case.0x1400e4d2d.14
test ecx, ecx
je case.0x1400e4d2d.14
mov r8, qword [0x140492be8]
mov rdx, r8
mov rax, qword [r8 + 8]
cmp byte [rax + 0x19], sil
jne case.0x1400e4d2d.14
nop dword [rax]
cmp dword [rax + 0x20], ecx
jae 0x1400e4cdb
mov rax, qword [rax + 0x10]
jmp 0x1400e4ce1
mov rdx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], sil
je 0x1400e4cd0
cmp rdx, r8
je case.0x1400e4d2d.14
cmp ecx, dword [rdx + 0x20]
jb case.0x1400e4d2d.14
cmp byte [rdi + 0x98], sil
je case.0x1400e4d2d.14
lea rax, [r14 - 0xd]
cmp rax, 0x64
ja case.0x1400e4d2d.14
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0xe5078]
mov ecx, dword [rdx + rax*4 + 0xe5060]
add rcx, rdx
jmp rcx
mov ecx, reloc.COMCTL32.dll_InitCommonControls
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
jne case.0x1400e4d2d.14
mov edx, r14d
mov rcx, rdi
call fcn.1400e50e0
test al, al
setne sil
mov dword [rbx], esi
xor eax, eax
add rsp, 0xb0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rdx, [rdi + 0x988]
cmp qword [rdx + 8], rsi
je case.0x1400e4d2d.14
mov dword [rbx], 1
lea rcx, [rbp - 0x31]
call fcn.1400ddd30
nop
mov r9, qword [rbp - 0x31]
mov rax, qword [r9]
mov qword [rbp + 0x77], rax
cmp rax, r9
je 0x1400e4dec
nop dword [rax]
mov rcx, qword [rdi]
mov r8, qword [rcx + 0x28]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x41], xmm0
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x1400e4dbc
lock inc dword [rcx + 8]
mov rcx, qword [rax + 0x28]
mov qword [rbp - 0x41], rcx
mov rcx, qword [rax + 0x30]
mov qword [rbp - 0x39], rcx
lea rdx, [rbp - 0x41]
mov rcx, rdi
call r8
lea rcx, [rbp + 0x77]
call fcn.1400ba500
mov rax, qword [rbp + 0x77]
mov r9, qword [rbp - 0x31]
cmp rax, r9
jne 0x1400e4da0
mov r8, qword [r9]
lea rdx, [rbp + 0x17]
lea rcx, [rbp - 0x31]
call fcn.1400dcab0
mov edx, gethostname
mov rcx, qword [rbp - 0x31]
call fcn.1401aed44
xor eax, eax
add rsp, 0xb0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp qword [rdi + 0x990], rsi
je case.0x1400e4d2d.14
mov dword [rbx], 1
lea rcx, [rdi + 0x910]
cmp qword [rcx], rsi
jne 0x1400e4e47
mov rax, qword [rdi + 0x988]
mov rcx, qword [rax]
add rcx, 0x28
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x21], xmm0
mov rax, qword [rcx + 8]
test rax, rax
je 0x1400e4e5c
lock inc dword [rax + 8]
mov rax, qword [rcx]
mov qword [rbp - 0x21], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x19], rax
xor r8d, r8d
lea rdx, [rbp - 0x21]
mov rcx, rdi
call fcn.1400e94d0
xor eax, eax
add rsp, 0xb0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp dword [rdi + 0x25c], esi
jne case.0x1400e4d2d.14
mov ecx, reloc.COMCTL32.dll_InitCommonControls
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0xff00
test cx, ax
je case.0x1400e4d2d.14
mov dword [rbx], 1
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x61], xmm0
call fcn.1400800c0
mov rbx, rax
mov qword [rbp - 0x61], rax
lea r14, [rdi + 0x8f0]
lea rax, [rbp - 0x61]
cmp rax, r14
je 0x1400e4f16
mov rdx, qword [rbx + 8]
lea rcx, [rbp - 0x61]
call fcn.1400800f0
mov rax, qword [rbp - 0x61]
mov qword [rax + 8], rbx
mov rax, qword [rbp - 0x61]
mov qword [rax], rbx
mov rax, qword [rbp - 0x61]
mov qword [rax + 0x10], rbx
mov qword [rbp - 0x59], rsi
movzx r8d, byte [rbp + 0x67]
mov rdx, r14
lea rcx, [rbp - 0x61]
call fcn.1400de9b0
mov rbx, qword [rbp - 0x61]
mov rax, qword [rbx]
mov qword [rbp + 0x7f], rax
cmp rax, rbx
je 0x1400e4f7d
nop dword [rax]
nop word [rax + rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x11], xmm0
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x1400e4f49
lock inc dword [rdx + 8]
mov rdx, qword [rax + 0x30]
mov rcx, qword [rax + 0x28]
mov qword [rbp - 0x11], rcx
mov qword [rbp - 9], rdx
xor r9d, r9d
mov r8b, 1
lea rdx, [rbp - 0x11]
mov rcx, rdi
call fcn.1400e85f0
lea rcx, [rbp + 0x7f]
call fcn.1400ba500
mov rax, qword [rbp + 0x7f]
cmp rax, rbx
jne 0x1400e4f30
mov rbx, qword [rbp - 0x61]
mov r8, qword [rbx]
mov r9, rbx
lea rdx, [rbp + 0x1f]
lea rcx, [rbp - 0x61]
call fcn.1400dcab0
mov edx, gethostname
mov rcx, qword [rbp - 0x61]
call fcn.1401aed44
xor eax, eax
add rsp, 0xb0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp qword [rdi + 0x990], rsi
je case.0x1400e4d2d.14
mov dword [rbx], 1
xor eax, eax
mov qword [rbp - 0x51], rax
mov qword [rbp - 0x49], rax
mov rax, qword [rdi + 0x988]
mov rax, qword [rax]
mov qword [rbp + 0x27], rax
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x1400e4fea
lock inc dword [rdx + 8]
mov rdx, qword [rax + 0x30]
mov rcx, qword [rax + 0x28]
mov qword [rbp - 1], rcx
mov qword [rbp + 7], rdx
lea r8, [rbp - 0x51]
lea rdx, [rbp - 1]
mov rcx, rdi
call fcn.1400e7500
mov eax, dword [rbp - 0x49]
add eax, dword [rbp - 0x51]
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
mov dword [rbp + 0x77], r8d
mov eax, dword [rbp - 0x45]
add eax, dword [rbp - 0x4d]
cdq
sub eax, edx
sar eax, 1
mov dword [rbp + 0x7b], eax
mov rcx, qword [rbp + 0x77]
shr rcx, 0x20
movzx r9d, cx
shl r9d, 0x10
movzx eax, r8w
or r9, rax
xor r8d, r8d
mov edx, 0x205
mov rcx, rdi
call fcn.14012b090
xor eax, eax
add rsp, 0xb0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret