Function at 0x1400c48b0
Capabilities:
Get graphical window text
Log keystrokes via polling
Open clipboard
Write clipboard data

Disassembly:
push rbx
push rdi
push r14
sub rsp, 0x3d0
mov rax, qword [0x140173040]
xor rax, rsp
mov qword [rsp + 0x3c0], rax
xor r14d, r14d
mov rbx, r8
mov rdi, rdx
lea ecx, [r14 + 0x11]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400c4c9b
cmp bx, 0x43
jne 0x1400c4c9b
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1400c4c94
mov qword [rsp + 0x3f0], rbp
mov ecx, 0x4000
mov qword [rsp + 0x400], rsi
call fcn.1400ff0c4
lea rcx, str.____________________________r_n
mov rdx, rax
sub rdx, rcx
mov rbx, rax
nop
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400c4930
mov rsi, 0xffffffffffffffff
mov rax, rsi
nop word [rax + rax]
cmp word [rbx + rax*2 + 2], r14w
lea rax, [rax + 1]
jne 0x1400c4950
lea rdx, [rbx + rax*2]
mov r8d, 0x3e8
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea rcx, [rbx - 2]
cmp word [rcx + 2], r14w
lea rcx, [rcx + 2]
jne 0x1400c4973
mov eax, dword [0x140148cac]
mov dword [rcx], eax
movzx eax, word [0x140148cb0]
mov word [rcx + 4], ax
lea rcx, [rbx - 2]
cmp word [rcx + 2], r14w
lea rcx, [rcx + 2]
jne 0x1400c4995
movaps xmm0, xmmword [str.____________________________r_n]
mov edx, 0x3e9
movups xmmword [rcx], xmm0
movaps xmm1, xmmword [0x14014f110]
movups xmmword [rcx + 0x10], xmm1
movaps xmm0, xmmword [0x14014f120]
movups xmmword [rcx + 0x20], xmm0
movsd xmm0, qword [0x14014f130]
movsd qword [rcx + 0x30], xmm0
mov eax, dword [0x14014f138]
mov dword [rcx + 0x38], eax
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov rbp, rax
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1400c4a86
mov rax, rsi
nop dword [rax + rax]
cmp word [rbx + rax*2 + 2], r14w
lea rax, [rax + 1]
jne 0x1400c4a00
lea rdx, [rbx + rax*2]
mov r8d, 0xfa0
mov rcx, rbp
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea rcx, [rbx - 2]
cmp word [rcx + 2], r14w
lea rcx, [rcx + 2]
jne 0x1400c4a23
mov eax, dword [0x140148cac]
lea rdx, [rbx - 2]
mov dword [rcx], eax
movzx eax, word [0x140148cb0]
mov word [rcx + 4], ax
cmp word [rdx + 2], r14w
lea rdx, [rdx + 2]
jne 0x1400c4a45
movaps xmm0, xmmword [str.____________________________r_n]
movups xmmword [rdx], xmm0
movaps xmm1, xmmword [0x14014f110]
movups xmmword [rdx + 0x10], xmm1
movaps xmm0, xmmword [0x14014f120]
movups xmmword [rdx + 0x20], xmm0
movsd xmm0, qword [0x14014f130]
movsd qword [rdx + 0x30], xmm0
mov eax, dword [0x14014f138]
mov dword [rdx + 0x38], eax
mov edx, 5
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindow]
mov rbp, qword [rsp + 0x3f0]
mov rdi, rax
test rax, rax
je 0x1400c4b84
nop dword [rax + rax]
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1400c4b6a
mov r8d, 0x102
lea rdx, [rsp + 0x1b0]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rdx, str.Button
lea rcx, [rsp + 0x1b0]
call fcn.1401103e4
test eax, eax
jne 0x1400c4b6a
mov r8d, 0xc7
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rax, rsi
nop word [rax + rax]
inc rax
cmp word [rbx + rax*2], r14w
jne 0x1400c4b10
movzx ecx, word [rsp + 0x20]
lea rdx, [rsp + 0x20]
test cx, cx
je 0x1400c4b4a
nop dword [rax]
cmp cx, 0x26
je 0x1400c4b3d
mov word [rbx + rax*2], cx
inc rax
movzx ecx, word [rdx + 2]
add rdx, 2
test cx, cx
jne 0x1400c4b30
mov word [rbx + rax*2], r14w
lea rax, [rbx - 2]
cmp word [rax + 2], r14w
lea rax, [rax + 2]
jne 0x1400c4b53
movsd xmm0, qword [0x14014f0c8]
movsd qword [rax], xmm0
mov edx, 2
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindow]
mov rdi, rax
test rax, rax
jne 0x1400c4ab0
lea rcx, [rbx - 2]
nop dword [rax + rax]
cmp word [rcx + 2], r14w
lea rcx, [rcx + 2]
jne 0x1400c4b90
mov eax, dword [0x140148cac]
mov dword [rcx], eax
movzx eax, word [0x140148cb0]
mov word [rcx + 4], ax
lea rcx, [rbx - 2]
cmp word [rcx + 2], r14w
lea rcx, [rcx + 2]
jne 0x1400c4bb2
movaps xmm0, xmmword [str.____________________________r_n]
movups xmmword [rcx], xmm0
movaps xmm1, xmmword [0x14014f110]
movups xmmword [rcx + 0x10], xmm1
movaps xmm0, xmmword [0x14014f120]
movups xmmword [rcx + 0x20], xmm0
movsd xmm0, qword [0x14014f130]
movsd qword [rcx + 0x30], xmm0
mov eax, dword [0x14014f138]
mov dword [rcx + 0x38], eax
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1400c4c7d
call qword [sym.imp.USER32.dll_EmptyClipboard]
nop word [rax + rax]
cmp word [rbx + rsi*2 + 2], r14w
lea rsi, [rsi + 1]
jne 0x1400c4c10
lea rdx, [rsi*2 + 2]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rdi, rax
test rax, rax
je 0x1400c4c77
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rdx, rax
test rax, rax
je 0x1400c4c77
mov rcx, rbx
sub rdx, rbx
nop
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400c4c50
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov rdx, rdi
mov ecx, InitCommonControls
call qword [sym.imp.USER32.dll_SetClipboardData]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov rcx, rbx
call fcn.1400ff054
mov rsi, qword [rsp + 0x400]
mov eax, 1
jmp 0x1400c4c9e
mov eax, 1
jmp 0x1400c4c9e
mov eax, r14d
mov rcx, qword [rsp + 0x3c0]
xor rcx, rsp
call fcn.1400ff350
add rsp, 0x3d0
pop r14
pop rdi
pop rbx
ret