Function at 0x1400b8090
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov edi, edx
mov rbx, rcx
cmp byte [rcx + 0x752], 0
jne 0x1400b80bc
xor al, al
jmp 0x1400b83fb
mov rax, qword [rcx + 0x740]
mov qword [rbp + 0x40], rax
lea r12, [rcx + 0x1e8]
lea rdx, [rbp + 0x40]
mov rcx, r12
call fcn.1400afca0
mov rax, qword [r12]
mov rdx, qword [rbp + 0x40]
mov rcx, r12
call qword [rax + 0x68]
mov esi, eax
lea eax, [rdi - 9]
cmp eax, 0x1f
ja case.0x1400b8111.10
cdqe
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0xb8434]
mov ecx, dword [rdx + rax*4 + 0xb8414]
add rcx, rdx
jmp rcx
test esi, esi
jle case.0x1400b8111.10
lea edx, [rsi - 1]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x60]
mov rdx, rax
mov r8d, dword [rbx + 0x748]
jmp 0x1400b83f1
lea edx, [rsi + 1]
jmp 0x1400b811e
xor edx, edx
jmp 0x1400b811e
mov edx, dword [rbx + 0x1f0]
sub edx, dword [rbx + 0x1f4]
dec edx
jmp 0x1400b811e
mov edi, dword [rbx + 0x1f0]
sub edi, dword [rbx + 0x1f4]
xor r14d, r14d
mov dword [rbp + 0x58], r14d
mov dword [rbp + 0x50], r14d
mov dword [rbp + 0x40], r14d
mov rax, qword [r12]
lea r9, [rbp + 0x40]
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x58]
mov rcx, r12
call qword [rax + 0x48]
mov eax, dword [rbp + 0x40]
sub eax, dword [rbp + 0x50]
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
lea edx, [rax + rsi]
mov esi, dword [rbx + 0x748]
mov rax, qword [r12]
mov r8, qword [rax + 0x60]
mov rcx, r12
cmp edi, edx
jg 0x1400b81ac
lea edx, [rdi - 1]
call r8
mov rdx, rax
mov r8d, esi
jmp 0x1400b83f1
xor r14d, r14d
mov dword [rbp + 0x58], r14d
mov dword [rbp + 0x50], r14d
mov dword [rbp + 0x40], r14d
mov rax, qword [r12]
lea r9, [rbp + 0x40]
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x58]
mov rcx, r12
call qword [rax + 0x48]
mov eax, dword [rbp + 0x40]
sub eax, dword [rbp + 0x50]
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
sub esi, eax
mov edi, dword [rbx + 0x748]
mov rax, qword [r12]
mov r8, qword [rax + 0x60]
mov rcx, r12
test esi, esi
jle 0x1400b8216
mov edx, esi
call r8
mov rdx, rax
mov r8d, edi
jmp 0x1400b83f1
xor edx, edx
call r8
mov rdx, rax
mov r8d, edi
jmp 0x1400b83f1
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
not eax
and eax, 1
lea eax, [rax*2 - 1]
cmp edi, 0x25
jne 0x1400b824c
mov edi, 0xffffffff
jmp 0x1400b8259
mov ecx, 1
cmp edi, 0x27
mov edi, eax
cmove edi, ecx
mov dword [rbp + 0x40], edi
mov rax, qword [rbx]
mov edx, dword [rbx + 0x748]
mov rcx, rbx
call qword [rax + 0x880]
mov r15d, eax
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x890]
mov r13d, eax
mov edx, r15d
mov dword [rbp + 0x58], edx
mov ecx, esi
mov dword [rbp + 0x50], ecx
xor r14d, r14d
lea r9, vtable.JRPointerArray_class_JRReportCtrlItem_.0
add r15d, edi
jns 0x1400b82b3
sub esi, 1
jns 0x1400b82ad
mov esi, dword [rbx + 0x1f0]
sub esi, dword [rbx + 0x1f4]
dec esi
lea r15d, [r13 - 1]
jmp 0x1400b82d6
cmp r15d, r13d
jl 0x1400b82d6
inc esi
mov ecx, dword [rbx + 0x1f0]
sub ecx, dword [rbx + 0x1f4]
mov r15d, r14d
mov eax, r14d
cmp esi, ecx
cmovl eax, esi
mov esi, eax
mov ecx, dword [rbp + 0x50]
cmp edx, r15d
jne 0x1400b82e3
cmp ecx, esi
je 0x1400b83db
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp - 0x18], r14
mov dword [rbp - 0x10], 0xffffffff
mov qword [rbp - 8], r14
mov qword [rbp - 0x20], r9
mov rax, qword [r12]
mov edx, esi
mov rcx, r12
call qword [rax + 0x60]
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.140013670
mov rdi, qword [rbx]
mov edx, r15d
mov rcx, rbx
call qword [rdi + 0x888]
mov r8d, eax
lea rdx, [rbp - 0x20]
mov rcx, rbx
call qword [rdi + 0x898]
nop
test al, al
jne 0x1400b8389
lea rax, vtable.JRNumberArray_class_JRReportCtrlItem____ptr64_.0
mov qword [rbp - 0x20], rax
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400b8361
call fcn.140017d60
mov rcx, r14
mov qword [rbp - 8], rcx
mov dword [rbp - 0x14], r14d
mov dword [rbp - 0x18], r14d
lea rax, vtable.JRCoreArray_class_JRReportCtrlItem____ptr64__class_JRReportCtrlItem____ptr64__1_.0
mov qword [rbp - 0x20], rax
test rcx, rcx
je 0x1400b837b
call fcn.140017d60
nop
mov edi, dword [rbp + 0x40]
mov ecx, dword [rbp + 0x50]
mov edx, dword [rbp + 0x58]
jmp 0x1400b828e
lea rax, vtable.JRNumberArray_class_JRReportCtrlItem____ptr64_.0
mov qword [rbp - 0x20], rax
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400b83ad
call fcn.140017d60
mov rcx, r14
mov qword [rbp - 8], rcx
mov dword [rbp - 0x14], r14d
mov dword [rbp - 0x18], r14d
lea r8, vtable.JRCoreArray_class_JRReportCtrlItem____ptr64__class_JRReportCtrlItem____ptr64__1_.0
mov qword [rbp - 0x20], r8
test rcx, rcx
je 0x1400b83c7
call fcn.140017d60
nop
cmp esi, dword [rbp + 0x50]
je 0x1400b83db
mov rax, qword [r12]
mov edx, esi
mov rcx, r12
call qword [rax + 0x60]
mov r14, rax
mov r8, qword [rbx]
mov edx, r15d
mov rcx, rbx
call qword [r8 + 0x888]
mov r8d, eax
mov rdx, r14
mov rcx, rbx
call fcn.1400b7470
mov al, 1
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret