Function at 0x1400332f0
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 [0x14007f080]
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 0x1400336db
cmp bx, 0x43
jne 0x1400336db
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1400336d4
mov qword [rsp + 0x3f0], rbp
mov ecx, 0x4000
mov qword [rsp + 0x400], rsi
call fcn.14003ef40
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 0x140033370
mov rsi, 0xffffffffffffffff
mov rax, rsi
nop word [rax + rax]
cmp word [rbx + rax*2 + 2], r14w
lea rax, [rax + 1]
jne 0x140033390
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 0x1400333b3
mov eax, dword [0x14006f46c]
mov dword [rcx], eax
movzx eax, word [0x14006f470]
mov word [rcx + 4], ax
lea rcx, [rbx - 2]
cmp word [rcx + 2], r14w
lea rcx, [rcx + 2]
jne 0x1400333d5
movups xmm0, xmmword [str.____________________________r_n]
mov edx, 0x3e9
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x140071e08]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x140071e18]
movups xmmword [rcx + 0x20], xmm0
movsd xmm0, qword [0x140071e28]
movsd qword [rcx + 0x30], xmm0
mov eax, dword [0x140071e30]
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 0x1400334c6
mov rax, rsi
nop dword [rax + rax]
cmp word [rbx + rax*2 + 2], r14w
lea rax, [rax + 1]
jne 0x140033440
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 0x140033463
mov eax, dword [0x14006f46c]
lea rdx, [rbx - 2]
mov dword [rcx], eax
movzx eax, word [0x14006f470]
mov word [rcx + 4], ax
cmp word [rdx + 2], r14w
lea rdx, [rdx + 2]
jne 0x140033485
movups xmm0, xmmword [str.____________________________r_n]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [0x140071e08]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [0x140071e18]
movups xmmword [rdx + 0x20], xmm0
movsd xmm0, qword [0x140071e28]
movsd qword [rdx + 0x30], xmm0
mov eax, dword [0x140071e30]
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 0x1400335c4
nop dword [rax + rax]
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1400335aa
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.14004bd8c
test eax, eax
jne 0x1400335aa
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 0x140033550
movzx ecx, word [rsp + 0x20]
lea rdx, [rsp + 0x20]
test cx, cx
je 0x14003358a
nop dword [rax]
cmp cx, 0x26
je 0x14003357d
mov word [rbx + rax*2], cx
inc rax
movzx ecx, word [rdx + 2]
add rdx, 2
test cx, cx
jne 0x140033570
mov word [rbx + rax*2], r14w
lea rax, [rbx - 2]
cmp word [rax + 2], r14w
lea rax, [rax + 2]
jne 0x140033593
movsd xmm0, qword [0x140071e60]
movsd qword [rax], xmm0
mov edx, 2
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindow]
mov rdi, rax
test rax, rax
jne 0x1400334f0
lea rcx, [rbx - 2]
nop dword [rax + rax]
cmp word [rcx + 2], r14w
lea rcx, [rcx + 2]
jne 0x1400335d0
mov eax, dword [0x14006f46c]
mov dword [rcx], eax
movzx eax, word [0x14006f470]
mov word [rcx + 4], ax
lea rcx, [rbx - 2]
cmp word [rcx + 2], r14w
lea rcx, [rcx + 2]
jne 0x1400335f2
movups xmm0, xmmword [str.____________________________r_n]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x140071e08]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x140071e18]
movups xmmword [rcx + 0x20], xmm0
movsd xmm0, qword [0x140071e28]
movsd qword [rcx + 0x30], xmm0
mov eax, dword [0x140071e30]
mov dword [rcx + 0x38], eax
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1400336bd
call qword [sym.imp.USER32.dll_EmptyClipboard]
nop word [rax + rax]
cmp word [rbx + rsi*2 + 2], r14w
lea rsi, [rsi + 1]
jne 0x140033650
lea rdx, [rsi*2 + 2]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rdi, rax
test rax, rax
je 0x1400336b7
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov rdx, rax
test rax, rax
je 0x1400336b7
mov rcx, rbx
sub rdx, rbx
nop
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x140033690
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.14003eed0
mov rsi, qword [rsp + 0x400]
mov eax, 1
jmp 0x1400336de
mov eax, 1
jmp 0x1400336de
mov eax, r14d
mov rcx, qword [rsp + 0x3c0]
xor rcx, rsp
call fcn.14003f1d0
add rsp, 0x3d0
pop r14
pop rdi
pop rbx
ret