Function at 0x1401ebbb0
Capabilities:
Get graphical window text

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x3d0]
sub rsp, 0x4d0
mov rax, qword [0x1406836b8]
xor rax, rsp
mov qword [rbp + 0x3c0], rax
mov r13, qword [rcx]
mov r14, rcx
mov rcx, r13
mov r15d, r9d
mov rbx, r8
mov rdi, rdx
call qword [sym.imp.USER32.dll_IsWindowEnabled]
xor esi, esi
mov ecx, esi
test eax, eax
sete cl
mov dword [rsp + 0x70], ecx
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SaveDC]
movups xmm0, xmmword [rbx]
mov eax, dword [rbx + 0xc]
mov rcx, rdi
mov r9d, dword [rbx + 8]
mov r8d, dword [rbx + 4]
mov edx, dword [rbx]
movups xmmword [rbp - 0x78], xmm0
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_IntersectClipRect]
cmp qword [r14 + 0x18], rsi
je 0x1401ebcd7
cmp qword [r14 + 0x20], rsi
je 0x1401ebcd7
lea rax, [rsp + 0x70]
mov rcx, r14
lea r9, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x7c]
lea rdx, [rsp + 0x78]
call fcn.1401eb990
cmp qword [r14 + 0x28], rsi
je 0x1401ebc72
mov rcx, qword [r14 + 0x18]
xor r8d, r8d
mov rdx, rdi
call sub.MSVFW32.dll_DrawDibRealize
mov r9, qword [r14 + 0x20]
mov dword [rsp + 0x60], 0x1000
movsxd rdx, dword [r9 + 0x20]
mov eax, dword [r9 + 8]
movsxd rcx, dword [r9]
mov dword [rsp + 0x58], eax
add rcx, r9
mov eax, dword [r9 + 4]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x70]
lea r8, [rcx + rdx*4]
mov dword [rsp + 0x48], esi
mov rcx, qword [r14 + 0x18]
mov rdx, rdi
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x38], r8
mov r8d, dword [rsp + 0x78]
mov qword [rsp + 0x30], r9
mov r9d, dword [rbp - 0x7c]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x80]
mov dword [rsp + 0x20], eax
call sub.MSVFW32.dll_DrawDibDraw
jmp 0x1401ec107
mov qword [rsp + 0x528], r12
cmp qword [r14 + 8], rsi
je 0x1401ebe74
mov rcx, rdi
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdx, qword [r14 + 8]
mov rcx, rax
mov r13, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [r14 + 8]
lea r8, [rbp - 0x68]
mov edx, 0x20
mov qword [rsp + 0x78], rax
call qword [sym.imp.GDI32.dll_GetObjectW]
cmp word [rbp - 0x58], 1
jne 0x1401ebd2e
cmp word [rbp - 0x56], 1
mov r12d, 1
je 0x1401ebd34
mov r12d, 3
bt r15d, 0xd
jb 0x1401ebd63
mov ecx, 0xf
bt r15d, 0xb
jae 0x1401ebd4e
call sym.ErrorReportClient.exe_SfGetSysColor
jmp 0x1401ebd54
call qword [sym.imp.USER32.dll_GetSysColor]
mov r8d, eax
lea rdx, [rbp - 0x68]
mov rcx, r13
call sym.ErrorReportClient.exe_SfBitmapColorTranslate
mov ebx, dword [rbp - 0x70]
mov eax, r15d
mov esi, dword [rbp - 0x6c]
mov r9d, dword [rbp - 0x78]
sub ebx, r9d
mov r10d, dword [rbp - 0x74]
sub esi, r10d
mov ecx, dword [rbp - 0x60]
mov r8d, dword [rbp - 0x64]
shr eax, 0xf
and eax, 1
jne 0x1401ebd99
bt r15d, 0xe
jae 0x1401ebd99
cmp r8d, ebx
jg 0x1401ebdd1
cmp ecx, esi
jg 0x1401ebdd1
test eax, eax
jne 0x1401ebdd1
sub ebx, r8d
sub esi, ecx
mov eax, ebx
mov ebx, r8d
cdq
sub eax, edx
sar eax, 1
add r9d, eax
mov eax, esi
cdq
mov dword [rbp - 0x78], r9d
sub eax, edx
mov esi, ecx
sar eax, 1
add r10d, eax
lea eax, [r9 + r8]
mov dword [rbp - 0x70], eax
mov dword [rbp - 0x74], r10d
lea eax, [r10 + rcx]
mov dword [rbp - 0x6c], eax
mov edx, r12d
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SetStretchBltMode]
mov r14d, dword [rsp + 0x70]
test r14d, r14d
je 0x1401ebe10
mov edx, 0xffffff
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SetBkColor]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SetTextColor]
mov rdx, qword [0x140698eb8]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov r8d, dword [rbp - 0x74]
mov eax, 0xcc0020
mov edx, dword [rbp - 0x78]
mov ecx, 0xa803a9
test r14d, r14d
mov r9d, ebx
cmovne eax, ecx
mov rcx, rdi
mov dword [rsp + 0x50], eax
mov eax, dword [rbp - 0x60]
mov dword [rsp + 0x48], eax
mov eax, dword [rbp - 0x64]
mov dword [rsp + 0x40], eax
xor eax, eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], esi
call qword [sym.imp.GDI32.dll_StretchBlt]
mov rdx, qword [rsp + 0x78]
mov rcx, r13
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r13
call qword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x1401ec0ff
mov rdx, qword [r14 + 0x10]
test rdx, rdx
je 0x1401ebe86
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
cmp dword [r14 + 0x3c], esi
je 0x1401ebe92
mov edx, dword [r14 + 0x40]
jmp 0x1401ebe9d
test r15b, 0x20
je 0x1401ebea6
mov edx, 0xff0000
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SetTextColor]
mov r8d, 0x200
lea rdx, [rbp - 0x40]
mov rcx, r13
call qword [sym.imp.USER32.dll_GetWindowTextW]
lea rax, [rbp - 0x40]
mov rsi, 0xffffffffffffffff
inc rsi
cmp word [rax + rsi*2], 0
jne 0x1401ebec4
mov ecx, dword [rbp - 0x78]
mov r9d, dword [rbp - 0x70]
add ecx, 2
add r9d, 0xfffffffe
mov dword [rbp - 0x78], ecx
mov dword [rbp - 0x70], r9d
bt r15d, 0xd
jae 0x1401ebf1a
sub r9d, ecx
lea rdx, [rbp - 0x40]
mov rcx, rdi
mov r8d, 0x200
call sym.ErrorReportClient.exe_SfCalcStringEllipsis
test eax, eax
je 0x1401ebf1a
lea rax, [rbp - 0x40]
mov rsi, 0xffffffffffffffff
nop
inc rsi
cmp word [rax + rsi*2], 0
jne 0x1401ebf10
mov r12d, 1
lea r9, [rsp + 0x78]
mov r8d, r12d
lea rdx, [0x140451774]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_GetTextExtentPointW]
mov r8d, dword [rsp + 0x7c]
mov eax, dword [rbp - 0x6c]
mov edx, eax
mov r9d, dword [rbp - 0x74]
sub edx, r9d
lea ecx, [r8 + r8]
cmp ecx, edx
jle 0x1401ebf65
sub eax, r8d
sub eax, r9d
cdq
sub eax, edx
sar eax, 1
mov dword [rbp - 0x74], eax
add eax, r8d
mov dword [rbp - 0x6c], eax
test r15b, 0x20
je 0x1401ebfd4
lea r9, [rsp + 0x78]
mov r8d, esi
lea rdx, [rbp - 0x40]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_GetTextExtentPointW]
mov ecx, dword [rbp - 0x78]
mov edx, dword [rbp - 0x74]
mov dword [r14 + 0x44], ecx
add ecx, dword [rsp + 0x78]
mov dword [r14 + 0x4c], ecx
mov ecx, dword [rsp + 0x7c]
add ecx, edx
mov dword [r14 + 0x48], edx
mov dword [r14 + 0x50], ecx
call qword [sym.imp.USER32.dll_GetFocus]
cmp rax, r13
jne 0x1401ebfd4
movups xmm0, xmmword [r14 + 0x44]
lea rdx, [rbp - 0x68]
mov rcx, rdi
movups xmmword [rbp - 0x68], xmm0
psrldq xmm0, 8
movq rax, xmm0
shr rax, 0x20
inc eax
mov dword [rbp - 0x5c], eax
call qword [sym.imp.USER32.dll_DrawFocusRect]
cmp dword [rsp + 0x70], 0
je 0x1401ec06e
mov ecx, 0x11
bt r15d, 0xb
jae 0x1401ebff2
call sym.ErrorReportClient.exe_SfGetSysColor
jmp 0x1401ebff8
call qword [sym.imp.USER32.dll_GetSysColor]
test eax, eax
jne 0x1401ec039
lea ecx, [rax + 4]
call qword [sym.imp.GDI32.dll_GetStockObject]
lea r9, [rbp - 0x40]
xor r8d, r8d
mov rdx, rax
mov rcx, rdi
xor eax, eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x74]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x78]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
call qword [sym.imp.USER32.dll_GrayStringW]
jmp 0x1401ec0ff
mov edx, eax
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SetTextColor]
mov r8d, dword [rbp - 0x74]
lea r9, [rbp - 0x40]
mov edx, dword [rbp - 0x78]
mov rcx, rdi
mov ebx, eax
mov dword [rsp + 0x20], esi
call qword [sym.imp.GDI32.dll_TextOutW]
mov edx, ebx
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SetTextColor]
jmp 0x1401ec0ff
mov eax, r15d
and eax, 0x1f
sub eax, r12d
je 0x1401ec0a1
sub eax, r12d
je 0x1401ec09a
sub eax, 0xa
je 0x1401ec096
cmp eax, 0x13
je 0x1401ec08f
mov ecx, 0x10
jmp 0x1401ec0a6
mov ecx, 0x20
jmp 0x1401ec0a6
xor ecx, ecx
jmp 0x1401ec0a6
mov ecx, 2
jmp 0x1401ec0a6
mov ecx, 0x11
mov ebx, ecx
bts ebx, 0xb
and r15b, 0x80
cmove ebx, ecx
cmp dword [r14 + 0x34], 0
je 0x1401ec0c6
mov edx, r12d
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SetBkMode]
lea rcx, [rbp - 0x40]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x1401ec0d1
or ebx, 0x40
mov qword [rsp + 0x28], 0
lea r9, [rbp - 0x78]
mov dword [rsp + 0x20], ebx
mov r8d, eax
lea rdx, [rbp - 0x40]
mov rcx, rdi
call qword [sym.imp.USER32.dll_DrawTextExW]
mov r12, qword [rsp + 0x528]
mov edx, 0xffffffff
mov rcx, rdi
call qword [sym.imp.GDI32.dll_RestoreDC]
mov rcx, qword [rbp + 0x3c0]
xor rcx, rsp
call fcn.14039bbb0
add rsp, 0x4d0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret