Function at 0x1400c46d0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
movsxd rax, dword [rcx + 0x1038]
and dword [rsp + 0x80], 0
mov esi, edx
mov rbx, rcx
test eax, eax
jns 0x1400c4700
xor ebp, ebp
jmp 0x1400c4717
mov rdx, rax
add rcx, 0x1080
call fcn.1400c5a80
mov rbp, rax
test rax, rax
jne 0x1400c471b
xor eax, eax
jmp 0x1400c471f
mov rax, qword [rax + 0x10]
mov r13d, dword [rbx + 0x1038]
xor r15d, r15d
mov qword [rsp + 0x98], rax
mov r12, rax
lea r14d, [r15 + 0x28]
cmp esi, 9
jne 0x1400c4755
lea ecx, [rsi + 7]
call qword [sym.imp.USER32.dll_GetKeyState]
and al, 0x80
neg al
mov rax, r12
sbb esi, esi
and esi, 0xfffffffe
add esi, r14d
mov rcx, rbp
cmp esi, 0xd
je 0x1400c4b42
cmp esi, 0x20
jbe 0x1400c4793
cmp esi, 0x22
jbe 0x1400c49ae
cmp esi, 0x23
je 0x1400c48e1
cmp esi, 0x24
je 0x1400c480f
mov eax, 0x26
cmp esi, eax
je 0x1400c48e3
cmp esi, r14d
je 0x1400c4811
cmp dword [0x140257f98], r15d
jne 0x1400c4c9a
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
test cx, ax
jne 0x1400c4c9a
mov ecx, esi
call fcn.14009a5dc
test eax, eax
je 0x1400c4aeb
mov ecx, esi
call fcn.14009a698
lea rcx, [rbx + 0x1210]
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x90]
mov esi, eax
mov dword [rsp + 0x90], eax
call fcn.140034d34
test eax, eax
je 0x1400c4aeb
mov r12, qword [rsp + 0x20]
mov rax, qword [rbx + 0x1088]
xor ecx, ecx
lea edi, [rcx + 1]
jmp 0x1400c4a42
xor ebp, ebp
cmp dword [rbx + 0x1290], r15d
je 0x1400c4832
cmp rcx, qword [rbx + 0x1090]
jne 0x1400c4832
cmp esi, 0x24
je 0x1400c4832
mov eax, 1
jmp 0x1400c4ca1
mov edi, 1
mov dword [rsp + 0x80], edi
cmp qword [rbx + 0x1098], r15
je 0x1400c4c9a
test rbp, rbp
je 0x1400c485e
mov rsi, qword [rbp]
test rsi, rsi
je 0x1400c485e
add r13d, edi
jmp 0x1400c4868
mov rsi, qword [rbx + 0x1088]
xor r13d, r13d
cmp rsi, rbp
je 0x1400c4c9a
mov r14, rsi
mov r12, rsi
test rsi, rsi
je 0x1400c48db
mov r12, qword [r12 + 0x10]
mov rsi, qword [rsi]
test byte [r12 + 0x28], dil
jne 0x1400c48a2
lea rcx, [r12 + 0x60]
call qword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x1400c48a2
cmp dword [r12 + 0x24], 0xfffffffe
jne 0x1400c48c6
add r13d, edi
test rsi, rsi
jne 0x1400c48c1
cmp dword [rbx + 0x1290], r15d
jne 0x1400c4a22
mov rsi, qword [rbx + 0x1088]
xor r13d, r13d
cmp rsi, rbp
jne 0x1400c4871
test r14, r14
je 0x1400c4c9a
mov r12, qword [r14 + 0x10]
mov r15d, edi
jmp 0x1400c4bd3
call fcn.14001505c
int3
xor ebp, ebp
cmp dword [rbx + 0x1290], r15d
je 0x1400c48fe
cmp rcx, qword [rbx + 0x1088]
jne 0x1400c48fe
cmp esi, 0x23
jne 0x1400c4828
mov rax, qword [rbx + 0x1098]
mov edi, 1
mov dword [rsp + 0x80], edi
test rax, rax
je 0x1400c4c9a
test rbp, rbp
je 0x1400c492d
mov rsi, qword [rbp + 8]
test rsi, rsi
je 0x1400c492d
sub r13d, edi
jmp 0x1400c4938
mov rsi, qword [rbx + 0x1090]
lea r13d, [rax - 1]
cmp rsi, rbp
je 0x1400c4c9a
mov r14, rsi
mov r12, rsi
test rsi, rsi
je 0x1400c49a8
mov r12, qword [r12 + 0x10]
mov rsi, qword [rsi + 8]
test byte [r12 + 0x28], dil
jne 0x1400c4977
lea rcx, [r12 + 0x60]
call qword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x1400c4977
cmp dword [r12 + 0x24], 0xfffffffe
jne 0x1400c48c6
sub r13d, edi
test rsi, rsi
jne 0x1400c499d
cmp dword [rbx + 0x1290], r15d
jne 0x1400c4a22
mov r13d, dword [rbx + 0x1098]
mov rsi, qword [rbx + 0x1090]
sub r13d, edi
cmp rsi, rbp
je 0x1400c48c6
jmp 0x1400c4941
call fcn.14001505c
int3
cmp dword [rbx + 0x1290], r15d
je 0x1400c4c9a
mov eax, dword [rbx + 0x1294]
test eax, eax
jle 0x1400c4c9a
mov r12d, dword [rbx + 0x1038]
mov edi, 1
xor ebp, ebp
mov dword [rbx + 0x1298], edi
test eax, eax
jle 0x1400c4a04
lea eax, [rdi + 0x25]
cmp esi, 0x21
cmove r14d, eax
mov rax, qword [rbx]
mov edx, r14d
mov rcx, rbx
call qword [rax + 0x7b0]
add ebp, edi
cmp ebp, dword [rbx + 0x1294]
jl 0x1400c49eb
mov edx, dword [rbx + 0x1038]
and dword [rbx + 0x1298], r15d
cmp r12d, edx
je 0x1400c4a22
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x468]
mov eax, edi
jmp 0x1400c4ca1
mov rdx, rax
test rax, rax
je 0x1400c4aaa
mov rax, qword [rax]
cmp qword [rdx + 0x10], r15
je 0x1400c4aa4
cmp qword [rdx + 0x10], r12
je 0x1400c4a9f
add ecx, edi
test rax, rax
jne 0x1400c4a29
lea rcx, [0x14024f7a0]
mov rdx, r12
call fcn.14005a7e4
mov rsi, rax
test rax, rax
je 0x1400c4bd3
mov rax, qword [rax]
xor edx, edx
mov rcx, rsi
call qword [rax + 0x190]
test eax, eax
je 0x1400c4ab0
mov rcx, qword [rsi + 0xb8]
test rcx, rcx
je 0x1400c4bd3
mov rcx, qword [rcx + 0x40]
xor r9d, r9d
mov edx, pe_nt_image_headers64
lea r8d, [r9 + 0x24]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400c4bd3
mov r13d, ecx
jmp 0x1400c4a47
call fcn.14001505c
int3
call fcn.14001505c
int3
bt dword [r12 + 0x28], 0x12
mov rcx, rbx
jae 0x1400c4acb
mov r8, r12
xor edx, edx
call fcn.1400c37b4
jmp 0x1400c4a22
mov rax, qword [rbx]
mov rdx, rsi
call qword [rax + 0x780]
mov dword [rsp + 0x80], eax
test eax, eax
je 0x1400c4bd3
jmp 0x1400c4a22
cmp dword [0x14024d588], r15d
je 0x1400c4c9a
cmp dword [rbx + 0x1278], r15d
jne 0x1400c4c9a
and dword [rsp + 0x90], r15d
lea rcx, [rbx + 0x12e0]
lea r8, [rsp + 0x90]
mov edx, esi
call fcn.140034d04
test eax, eax
je 0x1400c4c9a
mov edx, dword [rsp + 0x90]
xor r8d, r8d
mov rcx, rbx
call fcn.1400c37b4
jmp 0x1400c4828
lea rcx, [0x14024f7a0]
mov edi, 1
mov rdx, rax
mov dword [rsp + 0x80], edi
call fcn.14005a7e4
mov rsi, rax
test rax, rax
je 0x1400c4c9a
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x1d8]
test eax, eax
jne 0x1400c4b90
mov r8, qword [rsi]
xor edx, edx
mov rcx, rsi
call qword [r8 + 0x190]
test eax, eax
jne 0x1400c4c9a
mov rcx, qword [rbx + 0x70]
test rcx, rcx
jne 0x1400c4ba6
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001bcf4
xor r9d, r9d
mov edx, 0x362
mov rcx, qword [rax + 0x40]
mov r8d, 0xe001
call qword [sym.imp.USER32.dll_SendMessageW]
mov r11, qword [rbx]
mov rdx, rsi
mov rcx, rbx
call qword [r11 + 0x780]
mov rsi, qword [rsp + 0x98]
cmp r12, rsi
je 0x1400c4c9a
test r15d, r15d
je 0x1400c4c01
cmp dword [rbx + 0x1298], 0
jne 0x1400c4c01
mov rax, qword [rbx]
mov edx, r13d
mov rcx, rbx
call qword [rax + 0x468]
cmp dword [0x140257f98], 0
je 0x1400c4c11
mov dword [rbx + 0x103c], r13d
mov rcx, qword [rbx + 0x40]
lea rdx, [rsp + 0x30]
mov dword [rbx + 0x1038], r13d
call qword [sym.imp.USER32.dll_GetClientRect]
movdqu xmm5, xmmword [r12 + 0x60]
movdqu xmmword [rsp + 0x20], xmm5
mov rax, qword [rsp + 0x20]
shr rax, 0x20
cmp eax, dword [rsp + 0x34]
jl 0x1400c4c84
mov rax, qword [rsp + 0x28]
shr rax, 0x20
cmp eax, dword [rsp + 0x3c]
jg 0x1400c4c84
test rsi, rsi
je 0x1400c4c68
mov rcx, qword [rbx + 0x40]
lea rdx, [rsi + 0x60]
mov r8d, edi
call qword [sym.imp.USER32.dll_InvalidateRect]
mov rcx, qword [rbx + 0x40]
lea rdx, [rsp + 0x20]
mov r8d, edi
call qword [sym.imp.USER32.dll_InvalidateRect]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov edx, dword [r12 + 0x24]
cmp edx, 0xffffffff
je 0x1400c4c9a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x7e0]
mov eax, dword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret