Function at 0x1400ba370
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov r13, r8
mov r14, rdx
mov r15, rcx
lea r12, [rcx + 0x1e8]
mov eax, dword [rdx + 0x68]
shr eax, 1
test al, 1
je 0x1400ba3af
xor r9d, r9d
lea r8d, [r9 - 1]
mov rcx, r12
call fcn.1400b06d0
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov ecx, 0x11
test al, 1
je 0x1400ba3e5
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
movzx r8d, al
mov rdx, r14
mov rcx, r12
call fcn.1400b1c20
jmp 0x1400ba5ec
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
xor ebx, ebx
lea rsi, vtable.JRPointerArray_class_JRReportCtrlItem_.0
test al, 1
je 0x1400ba4e5
cmp byte [r15 + 0x683], bl
jne 0x1400ba4ce
mov eax, dword [r14 + 0x68]
shr eax, 1
test al, 1
je 0x1400ba4ce
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
mov dword [rbp - 0x14], ebx
mov dword [rbp - 0x10], 0xffffffff
mov edi, ebx
mov qword [rbp - 8], rbx
mov qword [rbp - 0x20], rsi
mov esi, ebx
mov dword [rbp - 0x18], ebx
mov rcx, qword [r12 + 0x18]
test rcx, rcx
je 0x1400ba453
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x30]
mov rbx, rax
test rbx, rbx
je 0x1400ba4a6
nop dword [rax + rax]
mov eax, dword [rbx + 0x68]
shr eax, 1
test al, 1
je 0x1400ba475
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.140013670
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax + 0x30]
test rax, rax
jne 0x1400ba497
test rbx, rbx
je 0x1400ba497
mov rax, qword [rbx + 0x10]
mov rbx, qword [rbx + 8]
test rax, rax
je 0x1400ba485
mov rbx, rax
test rax, rax
jne 0x1400ba460
mov rdi, qword [rbp - 8]
mov esi, dword [rbp - 0x18]
test rdi, rdi
je 0x1400ba4b9
mov rcx, rdi
call fcn.140017d60
xor ebx, ebx
mov edi, ebx
jmp 0x1400ba4bb
xor ebx, ebx
test rdi, rdi
je 0x1400ba4c9
mov rcx, rdi
call fcn.140017d60
nop
cmp esi, 1
je 0x1400ba4de
mov rdx, r14
mov rcx, r12
call fcn.1400b1b60
jmp 0x1400ba5ec
lea rsi, vtable.JRPointerArray_class_JRReportCtrlItem_.0
mov rax, qword [r15]
mov rdx, r14
mov rcx, r15
call qword [rax + 0x830]
test al, al
je 0x1400ba52f
mov eax, dword [r13]
mov dword [rbp + 0x48], eax
mov eax, dword [r13 + 4]
mov dword [rbp + 0x4c], eax
mov rax, qword [r15]
lea rdx, [rbp + 0x48]
mov rcx, r15
call qword [rax + 0x4c0]
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x58], rax
lea rdx, [rbp + 0x58]
mov rcx, r15
call fcn.1400ba0a0
jmp 0x1400ba5ec
test dword [r14 + 0x68], 0x500
jne 0x1400ba5ec
lea rcx, [r14 + 0x78]
test rcx, rcx
je 0x1400ba5ec
mov eax, dword [rcx]
cmp dword [rcx + 8], eax
jle 0x1400ba5ec
mov eax, dword [rcx + 4]
cmp dword [rcx + 0xc], eax
jle 0x1400ba5ec
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp - 0x18], 0
mov dword [rbp - 0x10], 0xffffffff
mov qword [rbp - 8], rbx
mov qword [rbp - 0x20], rsi
mov rdx, r14
lea rcx, [rbp - 0x20]
call fcn.140013670
mov rax, qword [r12]
mov dword [rsp + 0x28], ebx
mov byte [rsp + 0x20], 1
mov r9d, 1
xor r8d, r8d
lea rdx, [rbp - 0x20]
mov rcx, r12
call qword [rax + 0x38]
nop
lea rax, vtable.JRNumberArray_class_JRReportCtrlItem____ptr64_.0
mov qword [rbp - 0x20], rax
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400ba5d3
call fcn.140017d60
mov rcx, rbx
mov qword [rbp - 8], rbx
mov dword [rbp - 0x14], ebx
mov dword [rbp - 0x18], ebx
lea rax, vtable.JRCoreArray_class_JRReportCtrlItem____ptr64__class_JRReportCtrlItem____ptr64__1_.0
mov qword [rbp - 0x20], rax
test rcx, rcx
je 0x1400ba5ec
call fcn.140017d60
nop
mov al, 1
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret