Function at 0x14002b218
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov r12, r8
mov rsi, rdx
xor ebx, ebx
cmp rdx, rbx
jne 0x14002b24e
mov qword [rsp + 0x40], rbx
jmp 0x14002b257
mov rax, qword [rdx + 0x40]
mov qword [rsp + 0x40], rax
mov r13d, dword [r8 + 8]
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x50], rax
mov rcx, rax
call fcn.140014444
mov r14, rax
mov qword [rsp + 0x48], rax
mov r15d, 0x100
cmp r13d, r15d
jb 0x14002b28a
cmp r13d, 0x109
jbe 0x14002b29a
lea eax, [r13 - 0x200]
cmp eax, 9
ja 0x14002b399
cmp r14, rbx
je 0x14002b399
mov rdi, r14
cmp qword [rdi + 0xa0], rbx
jne 0x14002b2e0
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.140014444
cmp rax, rsi
je 0x14002b2e0
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.140014444
mov rdi, rax
cmp rax, rbx
jne 0x14002b2a6
cmp rdi, rbx
je 0x14002b318
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x14002b318
cmp qword [rax + 0x90], rbx
je 0x14002b318
mov rcx, qword [rax + 0x90]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 0x28]
cmp eax, ebx
jne 0x14002b318
mov eax, 1
jmp 0x14002b833
cmp r13d, 0x101
je 0x14002b32f
cmp r13d, r15d
je 0x14002b32f
cmp r13d, 0x102
jne 0x14002b38a
cmp rdi, rbx
je 0x14002b38a
mov rax, qword [rdi + 0xa0]
cmp rax, rbx
je 0x14002b38a
mov ecx, SafeArrayGetDim
cmp word [r12 + 0x10], cx
jne 0x14002b35b
lea edi, [rcx - 0xc]
test byte [rax + 0xcc], dil
jne 0x14002b37b
jmp 0x14002b360
mov edi, 1
mov r15d, 0x1b
cmp word [r12 + 0x10], r15w
jne 0x14002b382
lea r12d, [r15 - 0x19]
test byte [rax + 0xcc], r12b
je 0x14002b3a6
xor eax, eax
jmp 0x14002b833
mov r12d, 2
jmp 0x14002b3a6
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
jmp 0x14002b3a6
mov edi, 1
lea r15d, [rdi + 0x1a]
lea r12d, [rdi + 1]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax]
call fcn.140014444
mov qword [rsp + 0x38], rax
mov ecx, r13d
sub ecx, 0x100
je 0x14002b48b
sub ecx, r12d
je 0x14002b40b
cmp ecx, 4
jne 0x14002b753
cmp r14, rbx
jne 0x14002b3f6
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
cmp ax, bx
jge 0x14002b78f
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xc0]
cmp word [rdx + 0x10], 0x20
je 0x14002b785
jmp 0x14002b413
mov rdx, qword [rsp + 0xc0]
mov rcx, rax
call fcn.14002a7a8
cmp r13d, 0x102
jne 0x14002b42c
test al, 0x84
jne 0x14002b77b
mov r13, qword [rsp + 0xc0]
mov edx, 9
cmp word [r13 + 0x10], dx
jne 0x14002b449
test r12b, al
jne 0x14002b797
cmp word [r13 + 0x10], 0x20
jne 0x14002b458
xor eax, eax
jmp 0x14002b833
mov r8, r13
mov rdx, qword [rsp + 0x38]
mov rcx, rsi
call fcn.14002b0d4
cmp rax, rbx
je 0x14002b797
mov rcx, qword [rax + 8]
cmp rcx, rbx
je 0x14002b797
mov rdx, r13
call fcn.140022480
jmp 0x14002b7de
mov r13, qword [rsp + 0xc0]
mov rdx, r13
mov rcx, rax
call fcn.14002a7a8
movzx ecx, word [r13 + 0x10]
cmp ecx, 3
je 0x14002b6da
mov edx, 9
cmp ecx, edx
je 0x14002b61f
cmp ecx, 0xd
je 0x14002b5df
cmp ecx, r15d
je 0x14002b6da
cmp ecx, 0x24
jle 0x14002b797
cmp ecx, 0x26
jle 0x14002b4ec
cmp ecx, 0x28
jle 0x14002b4f1
cmp ecx, 0x2b
je 0x14002b5df
jmp 0x14002b797
mov r15d, edi
jmp 0x14002b4f4
mov r15d, ebx
mov rdx, r13
mov rcx, r14
call fcn.14002a7a8
test dil, al
jne 0x14002b797
cmp r15d, ebx
je 0x14002b51c
xor edx, edx
mov rcx, rsi
call fcn.1400191e8
mov r12, rax
jmp 0x14002b529
xor edx, edx
mov rcx, rsi
call fcn.14001924c
mov r12, rax
cmp r12, rbx
je 0x14002b797
cmp dword [r12 + 0x10], ebx
je 0x14002b544
mov rdx, r12
mov rcx, rsi
call fcn.140018c6c
cmp qword [r12 + 8], rbx
je 0x14002b561
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x14002b7de
cmp qword [r12], rbx
je 0x14002b575
mov rcx, qword [r12]
call fcn.140014444
mov r13, rax
jmp 0x14002b59b
cmp r14, rbx
jne 0x14002b57f
mov rdx, rbx
jmp 0x14002b583
mov rdx, qword [r14 + 0x40]
mov r8d, r15d
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetNextDlgGroupItem]
mov rcx, rax
call fcn.140014444
mov r13, rax
cmp r13, rbx
je 0x14002b771
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r13
call fcn.14002a890
cmp dword [r12 + 0x10], ebx
je 0x14002b7de
xor r9d, r9d
mov r8, rdi
mov edx, 0xf1
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x14002b7de
test al, 4
jne 0x14002b797
mov rcx, r14
call fcn.14002a850
test al, 0x10
je 0x14002b60f
mov r13, r14
mov rcx, r14
call fcn.140018758
mov r12d, eax
cmp r14, rbx
jne 0x14002b6ed
jmp 0x14002b6da
mov rcx, rsi
call fcn.14002ad4c
mov r12d, eax
jmp 0x14002b6da
test r12b, al
jne 0x14002b797
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [sym.imp.USER32.dll_GetKeyState]
mov r12d, ebx
cmp ax, bx
setl r12b
mov r8d, r12d
xor edx, edx
mov rcx, rsi
call fcn.140018ac8
cmp rax, rbx
je 0x14002b797
cmp qword [rax + 8], rbx
je 0x14002b66e
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + 0x158]
jmp 0x14002b7de
cmp qword [rax], rbx
je 0x14002b680
mov rcx, qword [rax]
call fcn.140014444
mov r12, rax
jmp 0x14002b6ab
mov rdx, qword [rsp + 0x38]
cmp rdx, rbx
jne 0x14002b68f
mov rdx, rbx
jmp 0x14002b693
mov rdx, qword [rdx + 0x40]
mov r8d, r12d
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetNextDlgTabItem]
mov rcx, rax
call fcn.140014444
mov r12, rax
cmp r12, rbx
je 0x14002b7de
mov rax, qword [rsi + 0x98]
mov qword [rax + 0xd8], rbx
mov rcx, r12
call fcn.14002a890
mov rdx, r12
mov rcx, r14
call fcn.14002ab00
jmp 0x14002b7de
mov edx, r12d
mov rcx, rsi
call fcn.14002abc0
mov r13, rax
cmp rax, rbx
je 0x14002b767
mov rcx, r13
call fcn.140018800
cmp eax, ebx
jne 0x14002b70e
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
mov r13, qword [rsp + 0xc0]
jmp 0x14002b797
cmp qword [r13 + 0xa0], rbx
je 0x14002b75d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
movzx r9d, bx
movzx r8d, di
mov edx, 0xfffffdd9
mov rcx, r13
call fcn.140018898
nop
jmp 0x14002b7de
mov r13, qword [rsp + 0xc0]
jmp 0x14002b797
mov r13, qword [rsp + 0xc0]
jmp 0x14002b797
mov r13, qword [rsp + 0xc0]
jmp 0x14002b797
mov r13, qword [rsp + 0xc0]
jmp 0x14002b797
mov r13, qword [rsp + 0xc0]
jmp 0x14002b797
mov r13, qword [rsp + 0xc0]
jmp 0x14002b797
mov r13, qword [rsp + 0xc0]
bt dword [rsi + 0x78], 0xc
jb 0x14002b7dc
mov rdx, r13
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_IsDialogMessageA]
mov edi, eax
cmp eax, ebx
je 0x14002b7de
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140014444
cmp rax, r14
je 0x14002b7de
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140014444
mov rcx, rax
call fcn.14002aa60
jmp 0x14002b7de
mov edi, ebx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x14002b831
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140014444
mov rdx, rax
mov rcx, r14
call fcn.14002ab00
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x14002b831
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140014444
mov r8, rax
mov rdx, r14
mov rcx, rsi
call fcn.14002ad88
mov eax, edi
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret