Function at 0x1400300fc
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov r12d, edx
mov rdi, rcx
mov rax, qword [rcx]
mov rdx, r8
call qword [rax + 0x6d8]
mov esi, eax
or r14d, 0xffffffff
xor r13d, r13d
mov rcx, qword [0x140254f30]
cmp rcx, rdi
je 0x140030170
cmp dword [0x140254ef8], r13d
je 0x140030179
mov qword [0x140254f30], rdi
cmp rcx, r13
je 0x140030170
mov edx, dword [rcx + 0x103c]
mov dword [rcx + 0x103c], r14d
call fcn.14002ce10
cmp dword [0x140254ef8], r13d
jne 0x1400301b9
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001917c
mov rdx, rax
lea rcx, str.CPane
call fcn.1400577f4
cmp rax, r13
je 0x1400301b9
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001917c
mov rcx, rax
call fcn.14000fb24
cmp esi, r13d
jge 0x140030244
mov dword [rdi + 0x1034], r14d
cmp dword [0x140254ef8], r13d
je 0x14003020e
cmp dword [rdi + 0xfb8], r13d
jne 0x14003020e
mov edx, dword [rdi + 0x103c]
mov dword [rdi + 0x103c], r14d
cmp edx, r14d
je 0x1400301ff
mov rcx, rdi
call fcn.14002ce10
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rax, qword [rdi]
mov edx, r14d
mov rcx, rdi
call qword [rax + 0x718]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x348]
cmp eax, r13d
je 0x14003022c
mov rcx, qword [0x1402566c0]
call qword [sym.imp.USER32.dll_SetCursor]
mov r8, qword [rsp + 0xf0]
mov edx, r12d
mov rcx, rdi
call fcn.1400ce07c
jmp 0x14003085e
mov edx, esi
mov rcx, rdi
call fcn.14002aa40
mov rbx, rax
cmp rax, r13
je 0x14003085e
mov r8, qword [rdi]
mov edx, esi
mov rcx, rdi
call qword [r8 + 0x468]
mov dword [0x140254efc], r13d
mov r15d, 1
cmp dword [0x140254f1c], r13d
je 0x1400302c8
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x7f0]
cmp eax, r13d
je 0x1400302c8
cmp dword [0x140254ef8], r13d
jne 0x1400302de
lea ecx, [r15 + 0x11]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
test cx, ax
je 0x1400302c8
mov dword [0x140254efc], r15d
mov dword [rdi + 0x103c], esi
mov dword [rdi + 0x1038], r14d
mov qword [0x140254f30], rdi
cmp dword [0x140254ef8], r13d
jne 0x1400302de
cmp dword [0x140254efc], r13d
je 0x14003074e
cmp dword [rdi + 0xfb8], r13d
jne 0x14003074e
cmp dword [rdi + 0xff8], r13d
jne 0x14003074e
mov ebp, dword [rdi + 0x103c]
mov dword [rdi + 0x103c], esi
mov rax, qword [rdi]
lea r8, [rsp + 0x28]
mov edx, esi
mov rcx, rdi
call qword [rax + 0x690]
cmp ebp, r14d
je 0x140030326
mov edx, ebp
mov rcx, rdi
call fcn.14002ce10
mov edx, dword [rdi + 0x103c]
mov rcx, rdi
call fcn.14002aa40
mov r11, rax
mov qword [rdi + 0x11e8], rax
mov ecx, r13d
cmp rax, r13
setne cl
cmp ecx, r13d
jne 0x140030352
call fcn.1400124d4
int3
and r12d, 8
mov dword [rdi + 0xfe0], r12d
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0xc0]
cmp eax, r13d
jne 0x140030394
mov dword [rdi + 0x103c], r14d
mov qword [rdi + 0x11e8], r13
cmp ebp, r14d
je 0x14003085e
mov edx, ebp
mov rcx, rdi
call fcn.14002ce10
jmp 0x14003085e
mov edx, esi
mov rcx, rdi
call fcn.14002ce10
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rcx, qword [rdi + 0x11e8]
mov rax, qword [rcx]
call qword [rax + 0x78]
cmp eax, r13d
je 0x140030442
mov ecx, dword [rsp + 0xf0]
sub ecx, dword [rsp + 0x30]
call fcn.140184bc0
cmp eax, 6
jg 0x140030442
cmp dword [0x140254efc], r13d
jne 0x140030442
mov dword [rdi + 0xfe4], r15d
mov rcx, qword [rdi + 0x11e8]
movdqu xmm0, xmmword [rcx + 0x60]
movdqu xmmword [rdi + 0x11a8], xmm0
mov rax, qword [rcx]
call qword [rax + 0x70]
cmp rax, r13
je 0x140030417
mov edx, 2
mov r8d, edx
lea rcx, [rdi + 0x11a8]
call qword [sym.imp.USER32.dll_InflateRect]
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_SetCapture]
mov rcx, rax
call fcn.14001917c
mov qword [rdi + 0x11d8], rax
mov rcx, qword [0x1402566a8]
call qword [sym.imp.USER32.dll_SetCursor]
jmp 0x14003082b
mov rcx, qword [rdi + 0x11e8]
mov rax, qword [rcx]
call qword [rax + 0xa0]
cmp eax, r13d
je 0x140030742
mov rcx, qword [rdi + 0x11e8]
mov rax, qword [rcx]
call qword [rax + 0xe8]
cmp eax, r13d
je 0x140030742
lea rcx, [rsp + 0x40]
call fcn.1400a292c
nop
mov rcx, qword [rdi + 0x11e8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax + 0x18]
mov r11, qword [rdi]
mov edx, dword [rbx + 0x24]
mov rcx, rdi
call qword [r11 + 0x7e0]
mov dword [0x140255020], r13d
mov rax, qword [rsp + 0xf0]
mov qword [rdi + 0x11c8], rax
mov rbx, qword [rdi + 0x40]
mov eax, dword [0x140254ef8]
cmp dword [0x140254efc], r13d
cmovne eax, r15d
mov dword [0x140254ef8], eax
lea r9, [0x140254fb0]
lea r8, [rsp + 0x28]
mov edx, 3
lea rcx, [rsp + 0x40]
call fcn.140101184
mov ebp, eax
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsWindow]
cmp eax, r13d
jne 0x14003052a
cmp dword [0x140254efc], r13d
je 0x14003051b
mov dword [0x140254ef8], r13d
mov dword [0x140254efc], r13d
mov qword [0x140254f30], r13
lea rcx, [rsp + 0x40]
call fcn.1400a296c
jmp 0x14003085e
lea rcx, [rsp + 0xe0]
call qword [sym.imp.USER32.dll_GetCursorPos]
lea rdx, [rsp + 0xe0]
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [0x140255020], r13d
je 0x1400306f9
mov rdx, qword [rsp + 0xe0]
lea rcx, [rsp + 0x28]
call qword [sym.imp.USER32.dll_PtInRect]
cmp eax, r13d
jne 0x1400306f9
cmp ebp, r15d
je 0x1400306da
mov rdx, qword [rdi + 0x11e8]
cmp rdx, r13
je 0x1400306da
cmp dword [0x14025501c], r13d
jne 0x1400306da
mov rax, qword [rdi]
mov r8d, ebp
mov rcx, rdi
call qword [rax + 0x6b0]
cmp eax, r13d
je 0x1400306da
mov rbx, qword [rdi]
mov rdx, qword [rdi + 0x11e8]
mov rcx, rdi
call fcn.14002a880
mov edx, eax
mov rcx, rdi
call qword [rbx + 0x650]
mov r11, qword [rdi]
mov rcx, rdi
call qword [r11 + 0x778]
mov r9d, 0x505
xor r8d, r8d
xor edx, edx
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_RedrawWindow]
mov r11, qword [rdi]
mov edx, r15d
mov rcx, rdi
call qword [r11 + 0x560]
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001917c
cmp rax, r13
je 0x140030644
cmp qword [rax + 0x40], r13
je 0x140030644
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001917c
mov r9d, 0x505
xor r8d, r8d
xor edx, edx
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_RedrawWindow]
cmp dword [0x140254efc], r13d
jne 0x14003066e
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x3c8]
mov r9d, 0x505
xor r8d, r8d
xor edx, edx
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_RedrawWindow]
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001917c
lea rdx, str.CMFCTabCtrl
mov rcx, rax
call fcn.1400577c0
cmp eax, r13d
je 0x14003070d
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001917c
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001917c
mov rdx, rax
lea rcx, str.CMFCToolBar
call fcn.1400577f4
cmp rax, r13
je 0x14003070d
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x3d0]
jmp 0x14003070d
mov rdx, qword [rdi + 0x11e8]
cmp rdx, r13
je 0x14003070d
add rdx, 0x60
mov r8d, r15d
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x14003070d
mov dword [rdi + 0x1038], esi
mov rax, qword [rdi]
mov edx, esi
mov rcx, rdi
call qword [rax + 0x718]
mov qword [rdi + 0x11e8], r13
mov dword [rsp + 0xf8], r14d
mov dword [rsp + 0xfc], r14d
mov rax, qword [rsp + 0xf8]
mov qword [rdi + 0x11c8], rax
lea rcx, [rsp + 0x40]
call fcn.1400a296c
jmp 0x14003082b
mov qword [rdi + 0x11e8], r13
jmp 0x14003082b
mov dword [rdi + 0x1034], esi
mov edx, esi
mov rcx, rdi
call fcn.14002abfc
bt dword [rbx + 0x28], 0x12
jae 0x140030785
lea rdx, str.CMFCDropDownToolbarButton
mov rcx, rbx
call fcn.1400577c0
cmp eax, r13d
jne 0x140030785
mov dword [rdi + 0x1034], r14d
jmp 0x14003085e
bts dword [rbx + 0x28], 0x11
mov edx, esi
mov rcx, rdi
call fcn.14002ce10
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov r11, qword [rdi]
mov edx, dword [rbx + 0x24]
mov rcx, rdi
call qword [r11 + 0x7e0]
mov r11, qword [rbx]
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call qword [r11 + 0x40]
cmp eax, r13d
je 0x140030812
lea rcx, [rdi + 0x1080]
xor r8d, r8d
mov rdx, rbx
call fcn.1400bb4f8
cmp rax, r13
je 0x1400307df
btr dword [rbx + 0x28], 0x11
mov dword [rdi + 0x1034], r14d
mov dword [rdi + 0x1038], r14d
mov rax, qword [rdi]
mov edx, r14d
mov rcx, rdi
call qword [rax + 0x718]
mov edx, esi
mov rcx, rdi
call fcn.14002ce10
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x14003082b
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_SetCapture]
mov rcx, rax
call fcn.14001917c
mov qword [rdi + 0x11d8], rax
cmp dword [0x140254efc], r13d
je 0x14003085e
mov dword [0x140254efc], r13d
mov qword [0x140254f30], r13
xor ecx, ecx
call fcn.14002d768
mov r9d, 0x505
xor r8d, r8d
xor edx, edx
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_RedrawWindow]
mov rbx, qword [rsp + 0xe8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret