Function at 0x1401b2b58
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 0x1401b2e57
cmp bx, 0x43
jne 0x1401b2e57
mov rcx, rdi
lea ebp, [r14 + 1]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1401b2e57
mov ecx, 0x4000
call fcn.1400ec130
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 0x1401b2bd4
or r12, 0xffffffffffffffff
mov rax, r12
inc rax
cmp word [rbx + rax*2], r14w
jne 0x1401b2bea
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 0x1401b2c0d
mov eax, dword [0x1406979cc]
mov dword [rcx], eax
movzx eax, word [0x1406979d0]
mov word [rcx + 4], ax
mov rcx, rbx
sub rcx, r15
add rcx, r15
cmp word [rcx], r14w
jne 0x1401b2c2f
movups xmm0, xmmword [str.____________________________r_n]
mov edx, 0x3e9
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x1406979a0]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x1406979b0]
movups xmmword [rcx + 0x20], xmm0
movsd xmm1, qword [0x1406979c0]
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 0x1401b2d17
mov rcx, r12
inc rcx
cmp word [rbx + rcx*2], r14w
jne 0x1401b2c93
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 0x1401b2cb6
mov eax, dword [0x1406979d4]
mov dword [rcx], eax
movzx eax, word [0x1406979d8]
mov word [rcx + 4], ax
mov rcx, rbx
sub rcx, r15
add rcx, r15
cmp word [rcx], r14w
jne 0x1401b2cd8
movups xmm0, xmmword [str.____________________________r_n]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x1406979a0]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x1406979b0]
movups xmmword [rcx + 0x20], xmm0
movsd xmm1, qword [0x1406979c0]
movsd qword [rcx + 0x30], xmm1
mov eax, dword [reloc.WS2_32.dll_ioctlsocket]
mov dword [rcx + 0x38], eax
mov edx, 5
jmp 0x1401b2dcb
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1401b2dc8
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.140159ed0
test eax, eax
jne 0x1401b2dc8
mov r8d, Ordinal_200
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 0x1401b2d78
lea rcx, [rsp + 0x20]
cmp word [rsp + 0x20], r14w
je 0x1401b2da8
movzx edx, word [rcx]
cmp dx, 0x26
je 0x1401b2d9f
mov word [rbx + rax*2], dx
add rax, rbp
add rcx, r15
cmp word [rcx], r14w
jne 0x1401b2d8f
mov word [rbx + rax*2], r14w
mov rax, rbx
sub rax, r15
add rax, r15
cmp word [rax], r14w
jne 0x1401b2db3
movsd xmm0, qword [0x1406979f0]
movsd qword [rax], xmm0
mov edx, r15d
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindow]
mov rdi, rax
test rax, rax
jne 0x1401b2d21
mov rcx, rbx
sub rcx, r15
add rcx, r15
cmp word [rcx], r14w
jne 0x1401b2de6
mov eax, dword [0x1406979f8]
mov rdx, rbx
mov dword [rcx], eax
sub rdx, r15
movzx eax, word [0x1406979fc]
mov word [rcx + 4], ax
add rdx, r15
cmp word [rdx], r14w
jne 0x1401b2e08
movups xmm0, xmmword [str.____________________________r_n]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [0x1406979a0]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [0x1406979b0]
movups xmmword [rdx + 0x20], xmm0
movsd xmm1, qword [0x1406979c0]
movsd qword [rdx + 0x30], xmm1
mov ecx, dword [reloc.WS2_32.dll_ioctlsocket]
mov dword [rdx + 0x38], ecx
mov rdx, rbx
call fcn.1401b2f2c
mov rcx, rbx
call fcn.1400ec138
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