Function at 0x409260
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x425610
mov eax, dword fs:[0]
push eax
mov eax, 0x113c
call fcn.00411fc0
mov eax, dword [0x443624]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x10c8]
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
push eax
push esi
mov dword [ebp - 0x10f4], esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x10c8]
mov ecx, dword [ebp - 0x10c0]
cmp eax, ecx
jle 0x4092cb
mov dword [ebp - 0x10c8], ecx
mov dword [ebp - 0x10c0], eax
mov eax, dword [ebp - 0x10c4]
mov ecx, dword [ebp - 0x10bc]
cmp eax, ecx
jle 0x4092e7
mov dword [ebp - 0x10c4], ecx
mov dword [ebp - 0x10bc], eax
lea eax, [ebp - 0x10b8]
mov dword [ebp - method.std::_Func_impl_no_alloc_class__lambda_9aa7ff767761c1ccf1315a8579845e70___void__struct_HDC____.virtual_0], vtable.std::_Func_impl_no_alloc_class__lambda_9aa7ff767761c1ccf1315a8579845e70___void__struct_HDC____.0
mov dword [ebp - 0x1040], eax
lea eax, [ebp - 0x1048]
mov dword [ebp - 0x1024], eax
lea eax, [ebp - 0x10b8]
push eax
push esi
mov dword [ebp - 0x1044], esi
call dword [sym.imp.USER32.dll_BeginPaint]
mov ecx, dword [ebp - 0x1024]
mov dword [ebp - 0x10d8], eax
mov dword [ebp - 0x1054], 0
test ecx, ecx
je 0x40937f
lea edx, [ebp - 0x1048]
cmp ecx, edx
jne 0x4093b4
mov eax, dword [ecx]
lea edx, [ebp - 0x1078]
push edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x1024]
mov dword [ebp - 0x1054], eax
test ecx, ecx
je 0x409379
mov edx, dword [ecx]
lea eax, [ebp - 0x1048]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
xor ecx, ecx
mov dword [ebp - 0x1024], ecx
mov eax, dword [ebp - 0x10d8]
mov dword [ebp - 0x1050], eax
test ecx, ecx
je 0x4093a3
mov edx, dword [ecx]
lea eax, [ebp - 0x1048]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov eax, dword [ebp - 0x1050]
test eax, eax
jne 0x4093c4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x4099c1
mov dword [ebp - 0x1054], ecx
xor ecx, ecx
mov dword [ebp - 0x1024], ecx
jmp 0x40937f
push 0
push dword [ebx + 8]
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [ebp - 0x10c0]
sub eax, dword [ebp - 0x10c8]
mov ecx, dword [ebp - 0x10bc]
sub ecx, dword [ebp - 0x10c4]
push 0
push 0
push 0
mov dword [ebp - 0x1018], eax
lea eax, [ebp - 0x1020]
push eax
push 2
push 0
push 0
push dword [ebx + 8]
mov dword [ebp - 0x1020], 0
mov dword [ebp - 0x101c], 0
mov dword [ebp - 0x1014], ecx
call dword [sym.imp.GDI32.dll_ExtTextOutW]
lea eax, [ebp - 0x10e0]
mov dword [ebp - 0x1108], 0
push eax
push 0
push 0
mov dword [ebp - 0x110c], 0
mov dword [ebp - 0x1110], 0
mov dword [ebp - 0x1114], 0
mov dword [ebp - 0x10e0], 0
call sub.gdiplus.dll_GdipCreateStringFormat
mov dword [ebp - 0x10dc], eax
lea eax, [ebp - 0x1128]
push eax
push 0
push 0x426b60
mov dword [ebp - 0x1128], 0
call sub.gdiplus.dll_GdipCreateFontFamilyFromName
fld dword [0x426c28]
mov dword [ebp - 0x1124], eax
lea eax, [ebp - 0x1118]
push eax
push 3
push 0
push ecx
fstp dword [esp]
push dword [ebp - 0x1128]
mov dword [ebp - 0x1118], 0
call sub.gdiplus.dll_GdipCreateFont
mov eax, dword [ebp - 0x1118]
mov dword [ebp - 0x10d8], eax
lea eax, [ebp - 0x10f0]
push eax
push dword [ebx + 8]
mov dword [ebp - 0x10f0], 0
call sub.gdiplus.dll_GdipCreateFromHDC
mov eax, dword [ebp - 0x10f0]
push 0x1000
mov dword [ebp - 0x1100], eax
lea eax, [ebp - 0x1010]
push 0
push eax
call fcn.00413a20
add esp, 0xc
lea eax, [ebp - 0x1010]
push 0x800
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp eax, 0x800
jae 0x4097d6
cmp word [ebp - 0x1010], 0
je 0x4097d6
push 1
push dword [ebp - 0x10e0]
call sub.gdiplus.dll_GdipSetStringFormatAlign
mov ecx, dword [ebp - 0x10dc]
test eax, eax
push 1
push dword [ebp - 0x10e0]
cmovne ecx, eax
mov dword [ebp - 0x10dc], ecx
call sub.gdiplus.dll_GdipSetStringFormatLineAlign
mov ecx, dword [ebp - 0x10dc]
test eax, eax
mov dword [ebp - 0x10e8], 0
cmovne ecx, eax
lea eax, [ebp - 0x10e8]
push eax
push 0
mov dword [ebp - 0x10dc], ecx
call sub.gdiplus.dll_GdipCreatePath
mov esi, dword [ebp - 0x10d8]
mov dword [ebp - 0x10e4], eax
lea eax, [ebp - 0x10d4]
push eax
push esi
call sub.gdiplus.dll_GdipGetFontSize
fld dword [ebp - 0x10d4]
lea eax, [ebp - 0x10cc]
push eax
push esi
fstp dword [ebp - 0x10d0]
call sub.gdiplus.dll_GdipGetFontStyle
push dword [ebp - 0x10e0]
fld dword [ebp - 0x10d0]
lea eax, [ebp - 0x1148]
push eax
push ecx
fstp dword [esp]
push dword [ebp - 0x10cc]
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x1148], 0
push dword [ebp - 0x1128]
mov dword [ebp - 0x1144], 0
push 0xffffffffffffffff
push eax
push dword [ebp - 0x10e8]
mov dword [ebp - 0x1140], 0
mov dword [ebp - 0x113c], 0
call sub.gdiplus.dll_GdipAddPathStringI
mov ecx, dword [ebp - 0x10e4]
test eax, eax
push 0
cmovne ecx, eax
mov dword [ebp - 0x1014], 0
push 0
lea eax, [ebp - 0x1020]
mov dword [ebp - 0x10e4], ecx
push eax
push dword [ebp - 0x10e8]
mov dword [ebp - 0x1018], 0
mov dword [ebp - 0x101c], 0
mov dword [ebp - 0x1020], 0
call sub.gdiplus.dll_GdipGetPathWorldBoundsI
mov ecx, dword [ebp - 0x10e4]
test eax, eax
cmovne ecx, eax
mov eax, dword [ebp - 0x10c0]
sub eax, dword [ebp - 0x1018]
sub eax, dword [ebp - 0x10c8]
cdq
sub eax, edx
mov dword [ebp - 0x10e4], ecx
sar eax, 1
mov dword [ebp - 0x10cc], eax
fild dword [ebp - 0x10cc]
fstp dword [ebp - 0x10cc]
fld dword [ebp - 0x10cc]
fsub qword [0x426c08]
mov eax, dword [ebp - 0x10bc]
sub eax, dword [ebp - 0x1014]
sub eax, dword [ebp - 0x10c4]
fstp dword [ebp - 0x1114]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x10cc], eax
lea eax, [ebp - 0x1120]
fild dword [ebp - 0x10cc]
push eax
push 0
fstp dword [ebp - 0x10cc]
fld dword [ebp - 0x10cc]
fsub qword [0x426c10]
fstp dword [ebp - 0x1110]
fild dword [ebp - 0x1018]
fstp dword [ebp - 0x10cc]
fld dword [ebp - 0x10cc]
fadd qword [0x426c18]
fstp dword [ebp - 0x110c]
fild dword [ebp - 0x1014]
fstp dword [ebp - 0x10cc]
fld dword [ebp - 0x10cc]
fadd qword [0x426c20]
mov dword [ebp - 0x1120], 0
fstp dword [ebp - 0x1108]
call sub.gdiplus.dll_GdipCreatePath
mov dword [ebp - 0x111c], eax
lea ecx, [ebp - 0x10e9]
cvttss2si eax, dword [ebp - 0x1108]
push 0xa
push 0xa
push eax
cvttss2si eax, dword [ebp - 0x110c]
push eax
cvttss2si eax, dword [ebp - 0x1110]
push eax
cvttss2si eax, dword [ebp - 0x1114]
push eax
lea eax, [ebp - 0x1120]
push eax
call fcn.004083f0
push 2
push dword [ebp - 0x10f0]
call sub.gdiplus.dll_GdipSetSmoothingMode
lea eax, [ebp - 0x10d0]
mov dword [ebp - 0x10d0], 0
push eax
push 0x80ffffff
call sub.gdiplus.dll_GdipCreateSolidFill
push dword [ebp - 0x1120]
mov esi, dword [ebp - 0x10d0]
push esi
push dword [ebp - 0x1100]
call sub.gdiplus.dll_GdipFillPath
push esi
call sub.gdiplus.dll_GdipDeleteBrush
push dword [ebp - 0x1120]
call sub.gdiplus.dll_GdipDeletePath
push dword [ebp - 0x10e8]
call sub.gdiplus.dll_GdipDeletePath
test edi, edi
jne 0x4097e5
mov edi, dword [ebx + 4]
test edi, edi
je 0x4098bc
lea eax, [ebp - 0x10fc]
mov dword [ebp - 0x10fc], 0
push eax
call sub.gdiplus.dll_GdipCreateImageAttributes
mov dword [ebp - 0x10f8], eax
mov eax, dword [ebx]
push eax
push eax
push 1
push 1
push dword [ebp - 0x10fc]
call sub.gdiplus.dll_GdipSetImageAttributesColorKeys
mov ecx, dword [ebp - 0x10f8]
test eax, eax
mov dword [ebp - 0x10d0], 0
cmovne ecx, eax
lea eax, [ebp - 0x10d0]
push eax
push dword [edi + 4]
mov dword [ebp - 0x10f8], ecx
call sub.gdiplus.dll_GdipGetImageHeight
test eax, eax
je 0x409845
mov dword [edi + 8], eax
mov esi, dword [ebp - 0x10d0]
lea eax, [ebp - 0x10d4]
push eax
push dword [edi + 4]
mov dword [ebp - 0x10d4], 0
call sub.gdiplus.dll_GdipGetImageWidth
test eax, eax
je 0x40986b
mov dword [edi + 8], eax
mov ecx, dword [ebp - 0x10bc]
sub ecx, dword [ebp - 0x10c4]
mov eax, dword [ebp - 0x10c0]
sub eax, dword [ebp - 0x10c8]
push 0
push 0
push dword [ebp - 0x10fc]
push 2
push esi
push dword [ebp - 0x10d4]
push 0
push 0
push ecx
push eax
push 0
push 0
push dword [edi + 4]
mov edi, dword [ebp - 0x1100]
push edi
call sub.gdiplus.dll_GdipDrawImageRectRectI
push dword [ebp - 0x10fc]
call sub.gdiplus.dll_GdipDisposeImageAttributes
jmp 0x4098c2
mov edi, dword [ebp - 0x1100]
cmp word [ebp - 0x1010], 0
je 0x40991e
push 3
push edi
call sub.gdiplus.dll_GdipSetTextRenderingHint
lea eax, [ebp - 0x10d4]
mov dword [ebp - 0x10d4], 0
push eax
push 0xff000000
call sub.gdiplus.dll_GdipCreateSolidFill
mov esi, dword [ebp - 0x10d4]
lea eax, [ebp - 0x1114]
push esi
push dword [ebp - 0x10e0]
push eax
push dword [ebp - 0x10d8]
lea eax, [ebp - 0x1010]
push 0xffffffffffffffff
push eax
push edi
call sub.gdiplus.dll_GdipDrawString
push esi
call sub.gdiplus.dll_GdipDeleteBrush
mov eax, dword [ebp - 0x10bc]
mov edx, dword [ebp - 0x10c4]
sub eax, edx
mov ecx, dword [ebp - 0x10c0]
mov esi, dword [ebp - 0x10c8]
sub ecx, esi
push 2
mov dword [ebp - 0x112c], eax
lea eax, [ebx + 0x14]
push eax
push 0
lea eax, [ebp - 0x1104]
mov dword [ebp - 0x1104], 0
push eax
push dword [ebx + 8]
lea eax, [ebp - 0x1130]
mov dword [ebp - 0x1100], 0
push eax
lea eax, [ebp - 0x1138]
mov dword [ebp - 0x1130], ecx
push eax
push dword [ebp - 0x1050]
mov dword [ebp - 0x1138], esi
push dword [ebp - 0x10f4]
mov dword [ebp - 0x1134], edx
call dword [sym.imp.USER32.dll_UpdateLayeredWindow]
push edi
xor esi, esi
call sub.gdiplus.dll_GdipDeleteGraphics
push dword [ebp - 0x10d8]
call sub.gdiplus.dll_GdipDeleteFont
push dword [ebp - 0x1128]
call sub.gdiplus.dll_GdipDeleteFontFamily
push dword [ebp - 0x10e0]
call sub.gdiplus.dll_GdipDeleteStringFormat
mov eax, dword [ebp - 0x1050]
mov dword [ebp - 4], 0
test eax, eax
je 0x4099ee
mov ecx, dword [ebp - 0x1054]
mov dword [ebp - 0x10f4], eax
test ecx, ecx
je 0x409a2a
mov eax, dword [ecx]
lea edx, [ebp - 0x10f4]
push edx
call dword [eax + 8]
mov ecx, dword [ebp - 0x1054]
test ecx, ecx
je 0x409a0c
mov edx, dword [ecx]
lea eax, [ebp - 0x1078]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00411faa
mov esp, ebp
pop ebp
ret
call fcn.00411cb0
int3