Function at 0x1401cf540
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x280
mov rax, qword [0x140324030]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov r12, rcx
mov qword [rsp + 0x2b8], r13
lea r13, [rcx + 8]
mov rcx, r13
call qword [sym.imp.mfc110u.dll_Ordinal_3744]
call qword [sym.imp.USER32.dll_CreatePopupMenu]
mov rcx, r13
mov rdx, rax
call qword [sym.imp.mfc110u.dll_Ordinal_2425]
mov r14, qword [r12 + 0x400]
mov rbx, qword [r14]
cmp rbx, r14
je 0x1401cf6e7
nop dword [rax]
mov rsi, qword [rbx + 0x28]
mov rax, qword [rbx + 0x20]
lea rdx, [rsp + 0x58]
mov rcx, rsi
mov qword [rsp + 0x40], rax
call fcn.1401ce3f0
mov rax, qword [rsp + 0x58]
cmp dword [rax - 0x10], 0
jne 0x1401cf680
cmp byte [rsi + 0xea], 0
je 0x1401cf680
mov rdi, qword [rsi + 0xf0]
mov rsi, qword [rsi + 0xf8]
cmp rdi, rsi
je 0x1401cf680
nop dword [rax]
mov rbp, qword [rdi]
mov rax, qword [rdi + 0x10]
mov r15, qword [rdi + 8]
lea rdx, [rsp + 0x70]
mov rcx, rbp
mov r8d, 0xff
mov qword [rsp + 0x50], rax
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea rcx, [rsp + 0x70]
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x1401cf630
test rax, rax
je 0x1401cf677
mov rcx, rbp
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
mov rcx, qword [r12 + 0x10]
lea r9, [rsp + 0x70]
movsxd rbp, eax
xor edx, edx
mov r8, rbp
call qword [sym.imp.USER32.dll_AppendMenuW]
mov rcx, qword [r12 + 0x10]
neg r15b
sbb r8d, r8d
mov edx, ebp
and r8d, 8
call qword [sym.imp.USER32.dll_CheckMenuItem]
add rdi, 0x18
cmp rdi, rsi
jne 0x1401cf600
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
cmp byte [rbx + 0x19], 0
jne 0x1401cf6de
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1401cf6be
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1401cf6de
nop word [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1401cf6b0
jmp 0x1401cf6de
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1401cf6db
cmp rbx, qword [rax + 0x10]
jne 0x1401cf6db
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1401cf6c8
mov rbx, rax
cmp rbx, r14
jne 0x1401cf5b0
mov rcx, qword [r12 + 0x3f0]
mov edx, 0x2712
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
call qword [sym.imp.mfc110u.dll_Ordinal_5116]
lea rdx, [rsp + 0x60]
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rax, qword [r12 + 0x3f0]
test rax, rax
je 0x1401cf72c
mov rax, qword [rax + 0x40]
test r13, r13
jne 0x1401cf735
xor ecx, ecx
jmp 0x1401cf739
mov rcx, qword [r13 + 8]
mov r9d, dword [rsp + 0x6c]
mov r8d, dword [rsp + 0x60]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov edx, 0x100
mov dword [rsp + 0x20], 0
call qword [sym.imp.USER32.dll_TrackPopupMenu]
mov r14, qword [r12 + 0x400]
mov r13, qword [rsp + 0x2b8]
mov rbx, qword [r14]
mov r15d, eax
cmp rbx, r14
je 0x1401cf817
mov rsi, qword [rbx + 0x28]
cmp byte [rsi + 0xea], 0
je 0x1401cf7c2
mov rdi, qword [rsi + 0xf0]
mov rsi, qword [rsi + 0xf8]
xor ebp, ebp
cmp rdi, rsi
je 0x1401cf7c2
mov rcx, qword [rdi]
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
cmp eax, r15d
je 0x1401cf845
add rdi, 0x18
inc ebp
cmp rdi, rsi
jne 0x1401cf7a5
cmp byte [rbx + 0x19], 0
jne 0x1401cf80e
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x1401cf7ee
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1401cf80e
nop
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1401cf7e0
jmp 0x1401cf80e
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1401cf80b
cmp rbx, qword [rax + 0x10]
jne 0x1401cf80b
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1401cf7f8
mov rbx, rax
cmp rbx, r14
jne 0x1401cf783
xor eax, eax
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.1401e3980
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
cmp byte [rdi + 8], 0
mov rdx, qword [rdi]
mov rcx, r12
sete r8b
mov byte [rdi + 8], r8b
mov r9, qword [r12]
call qword [r9 + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbx + 0x28]
call fcn.1401d0940
mov eax, ebp
jmp 0x1401cf819