Function at 0x1401d0898
Capabilities:
Get graphical window text
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x3c0
xor r14d, r14d
mov rbx, r8
mov rdi, rdx
mov ebp, r14d
lea ecx, [r14 + 0x11]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1401d0b95
cmp bx, 0x43
jne 0x1401d0b95
mov rcx, rdi
lea ebp, [r14 + 1]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1401d0b95
mov ecx, 0x4000
call fcn.140134664
mov rbx, rax
lea r15d, [r14 + 2]
mov rdx, rbx
lea rax, str.____________________________r_n
sub rdx, rax
movzx ecx, word [rax]
mov word [rdx + rax], cx
add rax, r15
test cx, cx
jne 0x1401d0914
or r12, 0xffffffffffffffff
mov rax, r12
inc rax
cmp word [rbx + rax*2], r14w
jne 0x1401d092a
lea rdx, [rbx + rax*2]
mov r8d, 0x3e8
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rcx, rbx
sub rcx, r15
add rcx, r15
cmp word [rcx], r14w
jne 0x1401d094d
mov eax, dword [0x1406b6fd8]
mov dword [rcx], eax
movzx eax, word [0x1406b6fdc]
mov word [rcx + 4], ax
mov rcx, rbx
sub rcx, r15
add rcx, r15
cmp word [rcx], r14w
jne 0x1401d096f
movups xmm0, xmmword [str.____________________________r_n]
mov edx, 0x3e9
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x1406b6ff0]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x1406b7000]
movups xmmword [rcx + 0x20], xmm0
movsd xmm1, qword [0x1406b7010]
movsd qword [rcx + 0x30], xmm1
mov eax, dword [reloc.WS2_32.dll_ioctlsocket]
mov dword [rcx + 0x38], eax
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov rsi, rax
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1401d0a57
mov rcx, r12
inc rcx
cmp word [rbx + rcx*2], r14w
jne 0x1401d09d3
lea rdx, [rbx + rcx*2]
mov r8d, 0xfa0
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rcx, rbx
sub rcx, r15
add rcx, r15
cmp word [rcx], r14w
jne 0x1401d09f6
mov eax, dword [0x1406b701c]
mov dword [rcx], eax
movzx eax, word [0x1406b7020]
mov word [rcx + 4], ax
mov rcx, rbx
sub rcx, r15
add rcx, r15
cmp word [rcx], r14w
jne 0x1401d0a18
movups xmm0, xmmword [str.____________________________r_n]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x1406b6ff0]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x1406b7000]
movups xmmword [rcx + 0x20], xmm0
movsd xmm1, qword [0x1406b7010]
movsd qword [rcx + 0x30], xmm1
mov eax, dword [reloc.WS2_32.dll_ioctlsocket]
mov dword [rcx + 0x38], eax
mov edx, 5
jmp 0x1401d0b09
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1401d0b06
mov r8d, reloc.OLEAUT32.dll_VarUI2FromI4
lea rdx, [rsp + 0x1b0]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rdx, str.Button
lea rcx, [rsp + 0x1b0]
call fcn.1401776c4
test eax, eax
jne 0x1401d0b06
mov r8d, SetErrorInfo
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rax, r12
inc rax
cmp word [rbx + rax*2], r14w
jne 0x1401d0ab8
movzx ecx, word [rsp + 0x20]
lea rdx, [rsp + 0x20]
jmp 0x1401d0ae1
cmp cx, 0x26
je 0x1401d0adb
mov word [rbx + rax*2], cx
add rax, rbp
add rdx, r15
movzx ecx, word [rdx]
test cx, cx
jne 0x1401d0ace
mov word [rbx + rax*2], r14w
mov rax, rbx
sub rax, r15
add rax, r15
cmp word [rax], r14w
jne 0x1401d0af1
movsd xmm0, qword [0x1406b7038]
movsd qword [rax], xmm0
mov edx, r15d
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindow]
mov rdi, rax
test rax, rax
jne 0x1401d0a61
mov rcx, rbx
sub rcx, r15
add rcx, r15
cmp word [rcx], r14w
jne 0x1401d0b24
mov eax, dword [0x1406b7040]
mov rdx, rbx
mov dword [rcx], eax
sub rdx, r15
movzx eax, word [0x1406b7044]
mov word [rcx + 4], ax
add rdx, r15
cmp word [rdx], r14w
jne 0x1401d0b46
movups xmm0, xmmword [str.____________________________r_n]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [0x1406b6ff0]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [0x1406b7000]
movups xmmword [rdx + 0x20], xmm0
movsd xmm1, qword [0x1406b7010]
movsd qword [rdx + 0x30], xmm1
mov ecx, dword [reloc.WS2_32.dll_ioctlsocket]
mov dword [rdx + 0x38], ecx
mov rdx, rbx
call fcn.1401d0c68
mov rcx, rbx
call fcn.14013466c
lea r11, [rsp + 0x3c0]
mov eax, ebp
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret