Function at 0x100172f34
Capabilities:
Get graphical window text

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x330
mov qword [rsp + 0xd0], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov rax, qword [0x100190170]
xor rax, rsp
mov qword [rsp + 0x320], rax
mov rbx, rcx
lea rax, [0x100028218]
mov qword [r11 - 0x280], rax
xor r15d, r15d
mov qword [r11 - 0x2a0], r15
lea rax, [r11 - 0x2a0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9d, 0x26200a
xor r8d, r8d
mov edx, dword [rcx + 0x34]
mov ecx, dword [rcx + 0x30]
call sub.gdiplus.dll_GdipCreateBitmapFromScan0
mov dword [rsp + 0xe8], eax
mov r13, qword [rsp + 0xb8]
mov qword [rsp + 0x88], r13
mov qword [rsp + 0xe0], r13
mov qword [rsp + 0xb0], r15
lea rdx, [rsp + 0xb0]
mov rcx, r13
call sub.gdiplus.dll_GdipGetImageGraphicsContext
mov edi, eax
mov r12, qword [rsp + 0xb0]
mov qword [rsp + 0x108], r12
lea ebp, [r15 + 2]
cmp qword [0x10019f448], r15
je 0x10017310a
mov ecx, dword [rbx + 0x28]
mov dword [rsp + 0x78], ecx
mov ecx, dword [rbx + 0x2c]
mov dword [rsp + 0x7c], ecx
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetParent]
mov rdx, rax
lea r9d, [r15 + 1]
lea r8, [rsp + 0x78]
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_MapWindowPoints]
cmp byte [0x10019aa83], r15b
jne 0x100173092
mov ecx, dword [rbx + 0x34]
mov r8d, dword [rbx + 0x30]
mov rax, qword [0x10019f448]
cmp rax, r15
je 0x10017305b
mov rdx, qword [rax + 8]
jmp 0x10017305e
mov rdx, r15
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], r8d
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
call sub.gdiplus.dll_GdipDrawImagePointRectI
cmp eax, r15d
je 0x10017310a
mov edi, eax
jmp 0x10017310a
mov rsi, qword [0x10019f448]
mov dword [rsp + 0x70], r15d
lea rdx, [rsp + 0x70]
mov rcx, qword [rsi + 8]
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, r15d
je 0x1001730b4
mov dword [rsi + 0x10], eax
mov r9d, dword [rbx + 0x34]
mov r8d, dword [rbx + 0x30]
mov ecx, dword [rsp + 0x70]
sub ecx, r8d
sub ecx, dword [rsp + 0x78]
mov rax, qword [0x10019f448]
cmp rax, r15
je 0x1001730d9
mov rdx, qword [rax + 8]
jmp 0x1001730dc
mov rdx, r15
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x38], r9d
mov dword [rsp + 0x30], r8d
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
call sub.gdiplus.dll_GdipDrawImagePointRectI
cmp eax, r15d
cmovne edi, eax
mov rbp, qword [0x10019f958]
cmp rbp, r15
je 0x1001734d7
cmp qword [0x10019f950], r15
je 0x1001734d7
cmp qword [0x10019f948], r15
je 0x1001734d7
cmp qword [0x10019f938], r15
je 0x1001734d7
cmp qword [0x10019f930], r15
je 0x1001734d7
mov rsi, qword [0x10019f940]
cmp rsi, r15
je 0x1001734d7
test byte [rbx + 0x10], 0x40
jne 0x10017322d
mov rax, qword [rbx + 0x18]
cmp qword [0x10019f430], rax
je 0x10017322d
mov dword [rsp + 0x74], r15d
lea rdx, [rsp + 0x74]
mov rcx, qword [rsi + 8]
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, r15d
je 0x100173194
mov dword [rsi + 0x10], eax
mov r15d, dword [rsp + 0x74]
mov rsi, qword [0x10019f938]
xor ebp, ebp
mov dword [rsp + 0x70], ebp
lea rdx, [rsp + 0x70]
mov rcx, qword [rsi + 8]
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, ebp
je 0x1001731bb
mov dword [rsi + 0x10], eax
mov r14d, dword [rsp + 0x70]
mov rsi, qword [0x10019f930]
mov dword [rsp + 0x74], ebp
lea rdx, [rsp + 0x74]
mov rcx, qword [rsi + 8]
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, ebp
je 0x1001731e0
mov dword [rsi + 0x10], eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0xa8], eax
mov rsi, qword [0x10019f930]
mov dword [rsp + 0x70], ebp
lea rdx, [rsp + 0x70]
mov rcx, qword [rsi + 8]
call sub.gdiplus.dll_GdipGetImageHeight
cmp eax, ebp
je 0x10017320b
mov dword [rsi + 0x10], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x74], eax
mov rsi, qword [0x10019f940]
mov r13, qword [0x10019f938]
mov rbp, qword [0x10019f930]
jmp 0x1001732dc
mov dword [rsp + 0x74], r15d
lea rdx, [rsp + 0x74]
mov rcx, qword [rbp + 8]
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, r15d
je 0x100173248
mov dword [rbp + 0x10], eax
mov r15d, dword [rsp + 0x74]
mov rsi, qword [0x10019f950]
xor ebp, ebp
mov dword [rsp + 0x70], ebp
lea rdx, [rsp + 0x70]
mov rcx, qword [rsi + 8]
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, ebp
je 0x10017326f
mov dword [rsi + 0x10], eax
mov r14d, dword [rsp + 0x70]
mov rsi, qword [0x10019f948]
mov dword [rsp + 0x74], ebp
lea rdx, [rsp + 0x74]
mov rcx, qword [rsi + 8]
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, ebp
je 0x100173294
mov dword [rsi + 0x10], eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0xa8], eax
mov rsi, qword [0x10019f948]
mov dword [rsp + 0x70], ebp
lea rdx, [rsp + 0x70]
mov rcx, qword [rsi + 8]
call sub.gdiplus.dll_GdipGetImageHeight
cmp eax, ebp
je 0x1001732bf
mov dword [rsi + 0x10], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x74], eax
mov rsi, qword [0x10019f958]
mov r13, qword [0x10019f950]
mov rbp, qword [0x10019f948]
and qword [rsp + 0x98], 0
lea rcx, [rsp + 0x98]
call sub.gdiplus.dll_GdipCreateImageAttributes
mov dword [rsp + 0xa0], eax
xor r9d, r9d
lea edx, [r9 + 3]
mov r8d, 0xff000000
mov rcx, qword [rsp + 0x98]
call sub.gdiplus.dll_GdipSetImageAttributesWrapMode
mov ecx, dword [rsp + 0xa0]
test eax, eax
cmovne ecx, eax
mov dword [rsp + 0xa0], ecx
mov r8d, dword [rbx + 0x28]
lea eax, [r8 + r15]
mov dword [rsp + 0x78], eax
mov ecx, dword [rbx + 0x2c]
mov dword [rsp + 0xb8], ecx
mov eax, dword [rbx + 0x30]
sub eax, r14d
sub eax, r15d
mov dword [rsp + 0xb0], eax
mov eax, dword [rbx + 0x34]
mov dword [rsp + 0xc8], eax
test rsi, rsi
je 0x100173361
mov rdx, qword [rsi + 8]
jmp 0x100173363
xor edx, edx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r15d
mov r9d, ecx
mov rcx, r12
call sub.gdiplus.dll_GdipDrawImageRectI
xor r15d, r15d
cmp eax, r15d
cmovne edi, eax
cmp rbp, r15
je 0x10017338b
mov rdx, qword [rbp + 8]
jmp 0x10017338e
mov rdx, r15
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x60], r15
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], 2
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0xb8]
mov r8d, dword [rsp + 0x78]
mov rcx, r12
call sub.gdiplus.dll_GdipDrawImageRectRectI
cmp eax, r15d
cmovne edi, eax
mov eax, dword [rbx + 0x34]
mov r8d, dword [rbx + 0x30]
sub r8d, r14d
cmp r13, r15
je 0x100173410
mov rdx, qword [r13 + 8]
jmp 0x100173413
mov rdx, r15
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
mov r9d, dword [rbx + 0x2c]
mov rcx, r12
call sub.gdiplus.dll_GdipDrawImageRectI
cmp eax, r15d
cmovne edi, eax
test byte [rbx + 0x10], 0x11
je 0x1001734c2
mov qword [rsp + 0x78], r15
lea r9, [rsp + 0x78]
xor r8d, r8d
movss xmm1, dword [0x100038464]
mov ecx, 0xc0ffffff
call sub.gdiplus.dll_GdipCreatePen1
mov dword [rsp + 0x80], eax
mov edx, 1
mov rcx, qword [rsp + 0x78]
call sub.gdiplus.dll_GdipSetPenDashStyle
mov ecx, dword [rsp + 0x80]
cmp eax, r15d
cmovne ecx, eax
mov dword [rsp + 0x80], ecx
mov ecx, dword [rbx + 0x34]
sub ecx, 0xa
mov eax, dword [rbx + 0x30]
sub eax, 0xa
mov r9d, dword [rbx + 0x2c]
add r9d, 5
mov r8d, dword [rbx + 0x28]
add r8d, 5
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov rdx, qword [rsp + 0x78]
mov rcx, r12
call sub.gdiplus.dll_GdipDrawRectangleI
cmp eax, r15d
cmovne edi, eax
mov rcx, qword [rsp + 0x78]
call sub.gdiplus.dll_GdipDeletePen
mov rcx, qword [rsp + 0x98]
call sub.gdiplus.dll_GdipDisposeImageAttributes
mov r13, qword [rsp + 0x88]
mov word [rsp + 0x120], r15w
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rsp + 0x122]
call sub.msvcrt.dll_memset
mov r8d, 0x100
lea rdx, [rsp + 0x120]
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetWindowTextW]
cmp eax, r15d
je 0x100173714
mov edx, 3
mov rcx, r12
call sub.gdiplus.dll_GdipSetTextRenderingHint
cmp eax, r15d
cmovne edi, eax
mov dword [rsp + 0x110], edi
lea rax, [0x100028228]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x78], r15
lea rdx, [rsp + 0x78]
or ecx, 0xffffffff
call sub.gdiplus.dll_GdipCreateSolidFill
mov dword [rsp + 0x100], eax
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0xf8], rsi
mov r8, qword [0x10019f438]
mov rdx, qword [rbx + 0x20]
lea rcx, [rsp + 0xb8]
call fcn.10017106c
movd xmm5, dword [rbx + 0x34]
cvtdq2ps xmm5, xmm5
movd xmm2, dword [rbx + 0x30]
cvtdq2ps xmm2, xmm2
movd xmm1, dword [rbx + 0x2c]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [rbx + 0x28]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x98], xmm0
movss dword [rsp + 0x9c], xmm1
movss dword [rsp + 0xa0], xmm2
movss dword [rsp + 0xa4], xmm5
mov qword [rsp + 0x88], r15
xor edx, edx
lea r8, [rsp + 0x88]
xor ecx, ecx
call sub.gdiplus.dll_GdipCreateStringFormat
mov dword [rsp + 0x90], eax
mov edx, 1
mov rcx, qword [rsp + 0x88]
call sub.gdiplus.dll_GdipSetStringFormatLineAlign
mov ecx, dword [rsp + 0x90]
cmp eax, r15d
cmovne ecx, eax
mov dword [rsp + 0x90], ecx
mov edx, 1
mov rcx, qword [rsp + 0x88]
call sub.gdiplus.dll_GdipSetStringFormatHotkeyPrefix
mov ecx, dword [rsp + 0x90]
cmp eax, r15d
cmovne ecx, eax
mov dword [rsp + 0x90], ecx
mov edx, 1
mov rcx, qword [rsp + 0x88]
call sub.gdiplus.dll_GdipSetStringFormatAlign
mov ecx, dword [rsp + 0x90]
cmp eax, r15d
cmovne ecx, eax
mov dword [rsp + 0x90], ecx
cmp byte [0x10019aa83], r15b
je 0x10017367c
mov edx, 0x1001
mov rcx, qword [rsp + 0x88]
call sub.gdiplus.dll_GdipSetStringFormatFlags
cmp eax, r15d
je 0x1001736a2
mov dword [rsp + 0x90], eax
jmp 0x1001736a2
mov edx, 0x1000
mov rcx, qword [rsp + 0x88]
call sub.gdiplus.dll_GdipSetStringFormatFlags
mov ecx, dword [rsp + 0x90]
cmp eax, r15d
cmovne ecx, eax
mov dword [rsp + 0x90], ecx
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x120]
repne scasw ax, word [rdi]
not rcx
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0xb8]
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x120]
mov rcx, r12
call sub.gdiplus.dll_GdipDrawString
mov rcx, qword [rsp + 0x88]
call sub.gdiplus.dll_GdipDeleteStringFormat
mov rcx, qword [rsp + 0xb8]
call sub.gdiplus.dll_GdipDeleteFont
nop
mov rcx, rsi
call sub.gdiplus.dll_GdipDeleteBrush
mov qword [rsp + 0x78], r15
lea rdx, [rsp + 0x78]
mov rcx, qword [rbx + 0x20]
call sub.gdiplus.dll_GdipCreateFromHDC
mov rdi, qword [rsp + 0x78]
mov eax, dword [rbx + 0x34]
mov edx, dword [rbx + 0x30]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edx
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rdi
call sub.gdiplus.dll_GdipDrawImageRectI
mov rcx, rdi
call sub.gdiplus.dll_GdipDeleteGraphics
nop
mov rcx, r12
call sub.gdiplus.dll_GdipDeleteGraphics
nop
mov rcx, r13
call sub.gdiplus.dll_GdipDisposeImage
mov rcx, qword [rsp + 0x320]
xor rcx, rsp
call fcn.10017a260
lea r11, [rsp + 0x330]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret