Function at 0x1400656a4
Capabilities:
Get graphical window text

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xe0
mov rax, qword [0x1400ced18]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rsi, rcx
mov rcx, qword [rcx + 8]
and qword [rbp - 0x31], 0
mov qword [rbp - 0x29], rcx
lea rdx, [rbp - 0x21]
call qword [sym.imp.USER32.dll_BeginPaint]
mov qword [rbp - 0x31], rax
lea rdx, [rbp - 0x49]
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetClientRect]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x173
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdi, rax
mov ecx, dword [rsi + 0x54]
test rax, rax
je 0x1400657d0
test ecx, ecx
je 0x140065760
mov edx, dword [rbp - 0x3d]
sub edx, dword [rbp - 0x45]
mov r9d, dword [rbp - 0x41]
sub r9d, dword [rbp - 0x49]
mov ecx, dword [rsi + 0x50]
mov dword [rsp + 0x40], ecx
and dword [rsp + 0x38], 0
and dword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp - 0x31]
call fcn.1400590d8
jmp 0x140065819
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rbx, rax
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdi, rax
mov ecx, dword [rbp - 0x3d]
sub ecx, dword [rbp - 0x45]
mov r9d, dword [rbp - 0x41]
sub r9d, dword [rbp - 0x49]
mov dword [rsp + 0x40], 0xcc0020
and dword [rsp + 0x38], 0
and dword [rsp + 0x30], 0
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], ecx
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.GDI32.dll_BitBlt]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SelectObject]
test rbx, rbx
je 0x140065819
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x140065819
test ecx, ecx
mov rcx, qword [rbp - 0x31]
je 0x1400657e5
mov edx, 1
call qword [sym.imp.GDI32.dll_SetBkMode]
jmp 0x140065819
mov edx, dword [rsi + 0x4c]
call qword [sym.imp.GDI32.dll_SetBkColor]
mov ecx, dword [rsi + 0x4c]
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rbx, rax
mov r8, rax
lea rdx, [rbp - 0x49]
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.USER32.dll_FillRect]
test rbx, rbx
je 0x140065819
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [rsi + 0x48]
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.GDI32.dll_SetTextColor]
xor edi, edi
and qword [rbp - 0x51], rdi
mov rdx, qword [rsi + 0x58]
test rdx, rdx
jne 0x140065864
xor r9d, r9d
xor r8d, r8d
lea ebx, [rdi + 0x31]
mov edx, ebx
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
test rax, rax
je 0x140065871
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rax
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdi, rax
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
test eax, eax
jle 0x14006597d
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
inc eax
movsxd rcx, eax
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400825b4
mov r15, rax
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea r8d, [rax + 1]
mov rdx, r15
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov edx, 0xfffffff0
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov r14, rax
bt eax, 9
jae 0x1400658ea
mov edx, 0x8024
jmp 0x14006590d
and al, 0xc
cmp al, 0xc
setne cl
mov al, r14b
and al, 0xb
cmp al, 0xb
setne al
and cl, al
neg cl
sbb edx, edx
and edx, 0xffff7ff0
add edx, 0x8020
mov al, r14b
and al, 0xc0
mov ecx, edx
bts ecx, 0xb
cmp al, 0xc0
cmovne ecx, edx
mov eax, r14d
mov ebx, ecx
or ebx, 1
and al, 1
cmove ebx, ecx
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov ecx, ebx
or ecx, 2
and r14b, 2
cmove ecx, ebx
and dword [rsp + 0x30], 0
and qword [rsp + 0x28], 0
mov dword [rsp + 0x20], ecx
lea r9, [rbp - 0x49]
mov r8d, eax
mov rdx, r15
mov rcx, qword [rbp - 0x31]
call fcn.14006e83c
mov rcx, r15
call fcn.1400825bc
test rdi, rdi
je 0x14006597d
mov rdx, rdi
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.GDI32.dll_SelectObject]
nop
lea rdx, [rbp - 0x21]
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140082550
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret