Function at 0x1400784cc
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov r12d, r9d
mov r13d, r8d
mov rbx, rdx
xor edi, edi
mov dword [rbp + 0x38], edi
mov dword [rbp - 0x10], edi
lea rsi, [rdx + 0x7b8]
lea ecx, [rdi + 0x10]
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x140078526
lea edx, [rdi + 0x40]
mov rcx, qword [rsi]
call fcn.140033530
test eax, eax
lea r14d, [rdi + 1]
jne 0x140078529
mov r14d, edi
mov rcx, qword [rsi]
lea r15, [rcx + 0xa8]
mov edx, 3
call fcn.14003356c
test eax, eax
je 0x1400788ff
mov edx, 2
mov rcx, qword [rsi]
call fcn.14003356c
test eax, eax
je 0x140078742
xor r9d, r9d
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.140040744
test eax, eax
je 0x140078742
mov esi, 0x18
cmp qword [rbx + 0x8a0], rdi
je 0x14007858c
test r14d, r14d
jne 0x14007861c
mov rax, qword [rbx]
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 1]
mov rcx, rbx
call qword [rax + 0x4c0]
test eax, eax
je 0x140078ad8
mov rax, qword [rbx]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [rax + CDockingPanesRow::~CDockingPanesRow]
mov rax, qword [rbx]
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 1]
mov rcx, rbx
call qword [rax + 0x4c8]
mov rcx, rsi
call sub.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl
mov qword [rbp - 8], rax
test rax, rax
je 0x1400785f5
mov rcx, rax
call fcn.14003d6b8
jmp 0x1400785f8
mov rax, rdi
mov rdx, rax
mov rcx, r15
call fcn.1400fd805
mov qword [rbx + AfxFieldText], rax
mov eax, dword [rbp + 0x38]
mov dword [rbx + 0x8c8], eax
mov eax, dword [rbp - 0x10]
mov dword [rbx + 0x8cc], eax
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x8a0]
test rdx, rdx
je 0x140078b16
mov r9d, 1
xor r8d, r8d
mov rdx, qword [rdx + 0x10]
mov rcx, rbx
call qword [rax + 0x4c0]
test eax, eax
je 0x140078ad8
mov rax, qword [rbx]
mov r9d, 1
mov r8d, r12d
mov edx, r13d
mov rcx, rbx
call qword [rax + 0x688]
xor r9d, r9d
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.140040744
mov rdx, qword [rbx + 0x8a0]
test rdx, rdx
jne 0x1400786b7
mov rcx, rsi
call sub.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl
mov qword [rbp - 8], rax
test rax, rax
je 0x14007869f
mov rcx, rax
call fcn.14003d6b8
jmp 0x1400786a2
mov rax, rdi
mov rdx, rax
mov rcx, r15
call fcn.1400fd805
mov rdx, rax
mov qword [rbx + AfxFieldText], rax
mov rax, qword [rbx]
mov r10, qword [rax + 0x460]
mov eax, dword [rbp + 0x38]
test r14d, r14d
je 0x1400786d2
mov r8d, dword [rbx + 0x8c8]
jmp 0x1400786d5
mov r8d, eax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov rcx, rbx
call r10
mov eax, dword [rbp + 0x38]
mov dword [rbx + 0x8c0], eax
mov eax, dword [rbp - 0x10]
mov dword [rbx + 0x8c4], eax
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x8a0]
test rdx, rdx
je 0x14007870d
mov rdx, qword [rdx + 0x10]
jmp 0x140078710
mov rdx, rdi
mov esi, 1
mov r9d, esi
xor r8d, r8d
mov rcx, rbx
call qword [rax + 0x4c8]
test r14d, r14d
jne 0x14007873b
mov ecx, dword [rbp + 0x38]
mov dword [rbx + 0x8c8], ecx
mov ecx, dword [rbp - 0x10]
mov dword [rbx + 0x8cc], ecx
mov eax, esi
jmp 0x140078af8
mov r14d, 1
mov edx, r14d
mov rcx, qword [rsi]
call fcn.14003356c
test eax, eax
je 0x140078ad8
xor r9d, r9d
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.140040744
test eax, eax
je 0x140078ad8
lea esi, [r14 + 0x17]
cmp qword [rbx + 0x8a0], rdi
jne 0x1400787fe
mov rax, qword [rbx]
xor r9d, r9d
mov r8d, r14d
xor edx, edx
mov rcx, rbx
call qword [rax + 0x4c0]
test eax, eax
je 0x140078ad8
mov rax, qword [rbx]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [rax + CDockingPanesRow::~CDockingPanesRow]
mov ecx, esi
call sub.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl
mov qword [rbp - 8], rax
test rax, rax
je 0x1400787d5
mov rcx, rax
call fcn.14003d6b8
jmp 0x1400787d8
mov rax, rdi
mov rdx, rax
mov rcx, r15
call fcn.1400fd805
mov qword [rbx + AfxFieldText], rax
mov rax, qword [rbx]
xor r9d, r9d
mov r8d, r14d
xor edx, edx
mov rcx, rbx
call qword [rax + 0x4c8]
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x8a0]
test rdx, rdx
je 0x140078b16
mov r9d, r14d
xor r8d, r8d
mov rdx, qword [rdx + 0x10]
mov rcx, rbx
call qword [rax + 0x4c0]
test eax, eax
je 0x140078ad8
mov rax, qword [rbx]
mov r9d, r14d
mov r8d, r12d
mov edx, r13d
mov rcx, rbx
call qword [rax + 0x688]
xor r9d, r9d
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.140040744
cmp qword [rbx + 0x8a0], rdi
jne 0x14007888d
mov rcx, rsi
call sub.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl
mov qword [rbp - 8], rax
test rax, rax
je 0x140078878
mov rcx, rax
call fcn.14003d6b8
jmp 0x14007887b
mov rax, rdi
mov rdx, rax
mov rcx, r15
call fcn.1400fd805
mov qword [rbx + AfxFieldText], rax
mov rax, qword [rbx]
mov dword [rsp + 0x28], edi
mov r8d, dword [rbp + 0x38]
mov dword [rsp + 0x20], r8d
xor r9d, r9d
mov rdx, qword [rbx + 0x8a0]
mov rcx, rbx
call qword [rax + CDockingPanesRow::~CDockingPanesRow]
mov ecx, dword [rbp + 0x38]
mov dword [rbx + 0x8c0], ecx
mov eax, dword [rbp - 0x10]
mov dword [rbx + 0x8c8], ecx
mov dword [rbx + 0x8cc], eax
mov dword [rbx + 0x8c4], eax
mov rax, qword [rbx]
mov r10, qword [rax + 0x4c8]
mov rax, qword [rbx + 0x8a0]
test rax, rax
je 0x1400788e8
mov rdi, qword [rax + 0x10]
mov r9d, r14d
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call r10
mov eax, r14d
jmp 0x140078af8
mov rcx, rbx
test r14d, r14d
je 0x140078adc
xor r9d, r9d
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x38]
call fcn.140040744
test eax, eax
je 0x140078ad8
mov esi, 0x18
cmp qword [rbx + 0x8a0], rdi
jne 0x1400789f6
mov rax, qword [rbx]
mov r10, qword [rax + 0x4d0]
mov qword [rbp - 8], rdi
mov rax, rdi
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, dword [rbp - 0x10]
mov edx, dword [rbp + 0x38]
mov rcx, rbx
call r10
test eax, eax
je 0x140078ad8
mov rax, qword [rbx]
xor r9d, r9d
lea r14d, [rsi - 0x17]
mov r8d, r14d
xor edx, edx
mov rcx, rbx
call qword [rax + 0x4c0]
test eax, eax
je 0x140078ad8
mov rax, qword [rbx]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [rax + CDockingPanesRow::~CDockingPanesRow]
mov rax, qword [rbx]
xor r9d, r9d
mov r8d, r14d
xor edx, edx
mov rcx, rbx
call qword [rax + 0x4c8]
mov ecx, esi
call sub.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl
mov qword [rbp - 8], rax
test rax, rax
je 0x1400789cd
mov rcx, rax
call fcn.14003d6b8
jmp 0x1400789d0
mov rax, rdi
mov rdx, rax
mov rcx, r15
call fcn.1400fd805
mov qword [rbx + AfxFieldText], rax
mov eax, dword [rbp + 0x38]
mov dword [rbx + 0x8c8], eax
mov eax, dword [rbp - 0x10]
mov dword [rbx + 0x8cc], eax
jmp 0x1400789fc
mov r14d, 1
mov rax, qword [rbx]
mov r10, qword [rax + 0x4c0]
mov rdx, qword [rbx + 0x8a0]
test rdx, rdx
je 0x140078b16
mov r9d, r14d
xor r8d, r8d
mov rdx, qword [rdx + 0x10]
mov rcx, rbx
call r10
test eax, eax
je 0x140078ad8
mov rax, qword [rbx]
xor r9d, r9d
mov r8d, r12d
mov edx, r13d
mov rcx, rbx
call qword [rax + 0x688]
test eax, eax
je 0x140078ad8
xor r9d, r9d
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.140040744
cmp qword [rbx + 0x8a0], rdi
jne 0x140078a97
mov rcx, rsi
call sub.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl
mov qword [rbp - 8], rax
test rax, rax
je 0x140078a82
mov rcx, rax
call fcn.14003d6b8
jmp 0x140078a85
mov rax, rdi
mov rdx, rax
mov rcx, r15
call fcn.1400fd805
mov qword [rbx + AfxFieldText], rax
mov r10, qword [rbx]
mov eax, dword [rbp - 0x10]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x38]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbx + 0x8cc]
mov r8d, dword [rbx + 0x8c8]
mov rdx, qword [rbx + 0x8a0]
mov rcx, rbx
call qword [r10 + CDockingPanesRow::~CDockingPanesRow]
mov eax, dword [rbp + 0x38]
mov dword [rbx + 0x8c0], eax
mov eax, dword [rbp - 0x10]
jmp 0x1400788c8
xor eax, eax
jmp 0x140078af8
mov rax, qword [rbx]
mov r9d, 1
mov r8d, r12d
mov edx, r13d
call qword [rax + 0x688]
mov qword [rbx + AfxFieldText], rdi
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call sub.mfc140u.dll_AfxRegDeleteKey
int3