Function at 0x1402f4000
Capabilities:
Log keystrokes via input method manager

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x14049e048]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, rcx
test rcx, rcx
je 0x1402f40c9
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax]
mov edx, dword [rcx + rax]
cmp dword [0x1404c2c30], edx
jle 0x1402f407d
lea rcx, [0x1404c2c30]
call fcn.14008907c
cmp dword [0x1404c2c30], 0xffffffff
jne 0x1402f407d
mov eax, 0xfffffffe
lea rcx, [0x1404c2c30]
mov dword [0x1404c2c38], eax
mov dword [0x1404c2c3c], eax
call fcn.14008901c
call fcn.140041314
mov rdi, rax
test rax, rax
je 0x1402f40c9
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call qword [sym.imp.mfc140u.dll_CMFCRibbonComboBox::FindItem]
mov rsi, rax
test rax, rax
je 0x1402f40c9
cmp rax, rdi
je 0x1402f40c9
mov edx, dword [rbx + 8]
mov eax, CMapStringToOb::HashKey
sub edx, eax
je 0x1402f4267
sub edx, eax
je 0x1402f40f0
sub edx, 1
je 0x1402f4108
sub edx, 3
je 0x1402f4108
cmp edx, 3
je 0x1402f4108
mov eax, 2
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140088c50
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
mov rax, qword [rbx + 0x24]
cmp dword [0x1404c2c38], eax
jne 0x1402f4108
shr rax, 0x20
cmp dword [0x1404c2c3c], eax
je 0x1402f40c9
mov rax, qword [rbx + 0x24]
lea rdx, [rsp + 0x20]
xorps xmm0, xmm0
mov qword [0x1404c2c38], rax
movups xmmword [rsp + 0x20], xmm0
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rdx, qword [rbx + 0x24]
lea rcx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x1402f40c9
mov rcx, qword [rdi + 0x40]
xor bpl, bpl
cmp qword [rbx], rcx
jne 0x1402f41d0
cmp dword [rbx + 8], 0x200
jne 0x1402f41d0
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call qword [sym.imp.mfc140u.dll_CMFCRibbonComboBox::FindItem]
cmp rsi, rax
je 0x1402f4192
call qword [sym.imp.accore.dll_bool___cdecl_acedIsInPlaceServer_void_]
test al, al
je 0x1402f4186
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_IsChild]
test eax, eax
jne 0x1402f4192
mov cl, 1
call fcn.1400b8c90
test rax, rax
je 0x1402f4195
mov bpl, 1
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.IMM32.dll_ImmGetContext]
mov rsi, rax
test rax, rax
je 0x1402f41d0
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 8]
call qword [sym.imp.IMM32.dll_ImmGetCompositionStringW]
mov rcx, qword [rdi + 0x40]
mov rdx, rsi
test eax, eax
setne bl
call qword [sym.imp.IMM32.dll_ImmReleaseContext]
test bl, bl
jne 0x1402f4243
xor bl, bl
test bpl, bpl
jne 0x1402f424d
call fcn.140041390
test al, al
je 0x1402f40c9
mov bl, 1
call fcn.1400413f8
test al, al
je 0x1402f41f6
call fcn.1402f38f0
jmp 0x1402f4232
mov rax, qword [0x1404c07c0]
test rax, rax
jne 0x1402f4230
lea rcx, str.acmgd.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1402f423a
lea rdx, str.acmgdIsMouseWithinCmdLine
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1404c07c0], rax
test rax, rax
je 0x1402f423a
call rax
test al, al
jne 0x1402f40c9
call fcn.1402f2744
test al, al
je 0x1402f424d
mov eax, 0x145
jmp 0x1402f40ce
call fcn.1402f2640
test al, al
je 0x1402f42b2
neg bl
sbb eax, eax
and eax, reloc.mfc140u.dll_AFX_MAINTAIN_STATE::AFX_MAINTAIN_STATE
add eax, 2
jmp 0x1402f40ce
mov rax, qword [rbx + 0x10]
sub rax, 0x5b
je 0x1402f427b
cmp rax, 1
jne 0x1402f40c9
call qword [sym.imp.accore.dll_public:_static_class_AcApCommandLineManager____ptr64___cdecl_AcApCommandLineManager::current_void_]
test rax, rax
je 0x1402f42a5
mov rcx, rax
call qword [sym.imp.accore.dll_public:_class_IAcApAutoCompleteUI____ptr64___cdecl_AcApCommandLineManager::autoCompleteDynamicInputUI_void_const___ptr64]
test rax, rax
je 0x1402f42a5
mov rdx, qword [rax]
mov rcx, rax
mov rbx, qword [rsi + 0x40]
call qword [rdx]
cmp rax, rbx
je 0x1402f42b2
call fcn.1400413ac
test al, al
je 0x1402f40c9
mov rcx, rdi
call qword [sym.imp.mfc140u.dll_CMFCRibbonSlider::SetACCData]
xor eax, eax
jmp 0x1402f40ce