Function at 0x140107a34
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
xor esi, esi
cmp dword [rdx + 8], 0x20a
mov rdi, rdx
mov rbx, rcx
jne 0x140107aad
mov rax, qword [rcx + 0xa8]
mov rcx, qword [rax + 0xc8]
cmp rcx, rsi
je 0x140107aad
mov rcx, qword [rcx + 0x40]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x157
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, esi
je 0x140107aad
mov rax, qword [rbx + 0xa8]
mov rcx, qword [rax + 0xc8]
mov r9, qword [rdi + 0x18]
mov r8, qword [rdi + 0x10]
mov rcx, qword [rcx + 0x40]
mov edx, dword [rdi + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x140107dbf
cmp dword [rdi + 8], 0x100
jne 0x140107db4
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
cmp ax, si
jl 0x140107c16
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
cmp ax, si
jl 0x140107c16
mov rax, qword [rbx + 0xa8]
mov rcx, qword [rax + 0xc8]
cmp rcx, rsi
je 0x140107c16
mov rax, qword [rdi + 0x10]
cmp rax, 0xd
je 0x140107b40
cmp rax, 0x20
jbe 0x140107c16
cmp rax, 0x24
jbe 0x140107b23
cmp rax, 0x26
je 0x140107b23
cmp rax, 0x28
jne 0x140107c16
mov rcx, qword [rcx + 0x40]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x157
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, esi
je 0x140107c16
mov rcx, rbx
call fcn.14001259c
mov r11, qword [rbx + 0xa8]
xor r9d, r9d
mov rcx, qword [r11 + 0xc8]
xor r8d, r8d
mov edx, 0x157
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, esi
mov rax, qword [rbx + 0xa8]
jne 0x140107a87
mov rdx, qword [rax + 0xc8]
mov rcx, qword [rdx + 0x70]
cmp rcx, rsi
jne 0x140107b97
mov rcx, qword [rdx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001bcf8
cmp rax, rsi
je 0x140107aa3
mov rdx, qword [rbx + 0xa8]
mov rcx, rbx
add rdx, 0xd0
call fcn.14001da60
mov r11, qword [rbx + 0xa8]
mov rdi, rsi
mov rcx, qword [r11 + 0xc8]
cmp rcx, rsi
je 0x140107bd5
mov rdi, qword [rcx + 0x40]
mov rax, qword [rcx + 0x70]
cmp rax, rsi
jne 0x140107be8
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001bcf8
mov r9, rdi
mov edx, 0x111
mov rcx, rax
mov rax, qword [rbx + 0xa8]
movzx r8d, word [rax + 0x24]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140107aa3
mov rax, qword [rdi + 0x10]
cmp rax, 9
je 0x140107d65
cmp rax, 0x1b
je 0x140107d26
cmp rax, 0x26
je 0x140107c3e
cmp rax, 0x28
jne 0x140107db4
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
cmp ax, si
jl 0x140107db4
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
cmp ax, si
jl 0x140107db4
mov rax, qword [rbx + 0xa8]
mov rcx, qword [rax + 0xc8]
cmp rcx, rsi
je 0x140107db4
mov rcx, qword [rcx + 0x40]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x157
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, esi
jne 0x140107aa3
mov rax, qword [rbx + 0xa8]
xor r9d, r9d
mov edx, 0x14f
mov rcx, qword [rax + 0xc8]
lea r8d, [r9 + 1]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r11, qword [rbx + 0xa8]
mov rcx, qword [r11 + 0xc8]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001bcf8
cmp rax, rsi
je 0x140107aa3
mov rcx, qword [rbx + 0xa8]
lea rbx, [rcx + 0xa0]
mov rcx, qword [rcx + 0xc8]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001bcf8
mov r8d, 1
mov rdx, rbx
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x140107aa3
mov rax, qword [rbx + 0xa8]
mov rcx, qword [rax + 0xc8]
cmp rcx, rsi
je 0x140107d4e
mov rcx, qword [rcx + 0x40]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x14f
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rbx
call fcn.14001d3c8
cmp rax, rsi
je 0x140107db4
mov rcx, rbx
call fcn.14001d3c8
jmp 0x140107da7
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001bcf8
cmp rax, rsi
je 0x140107db4
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001bcf8
mov rdx, qword [rbx + 0x40]
xor r8d, r8d
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_GetNextDlgTabItem]
mov rcx, rax
call fcn.14001bcf8
mov rcx, rax
call fcn.14001259c
jmp 0x140107aa3
mov rdx, rdi
mov rcx, rbx
call fcn.140018fac
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret