Function at 0x109a8e1
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2e4
mov eax, dword [0x10c671c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x10d2594]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x280], eax
mov eax, dword [0x10d259c]
push esi
mov dword [ebp - 0x254], eax
mov eax, dword [0x10d2598]
push edi
mov dword [ebp - 0x29c], eax
mov eax, dword [0x10d25a0]
push 0xfffffffffffffff0
push ebx
mov dword [ebp - 0x2a4], ebx
mov dword [ebp - 0x250], eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xf
cmp eax, 4
je 0x109a944
cmp eax, 9
jne 0x109a970
mov eax, dword [0x10d25a4]
mov dword [ebp - 0x280], eax
mov eax, dword [0x10d25ac]
mov dword [ebp - 0x254], eax
mov eax, dword [0x10d25a8]
mov dword [ebp - 0x29c], eax
mov eax, dword [0x10d25b0]
mov dword [ebp - 0x250], eax
lea eax, [ebp - 0x244]
push eax
push ebx
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x2a8], eax
lea eax, [ebp - 0x274]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetClientRect]
push 0x26200a
push dword [ebp - 0x268]
lea ecx, [ebp - 0x2e4]
push dword [ebp - 0x26c]
call fcn.01097ec4
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [ebp - 0x27c]
call fcn.010993f6
mov eax, dword [ebp - 0x268]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
xor edi, edi
push edi
push edi
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x270]
push 0xf0
push ebx
mov dword [ebp - 0x298], eax
call esi
push edi
push edi
push 0xf2
push ebx
mov dword [ebp - 0x248], eax
call esi
push ebx
mov esi, eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov ebx, eax
dec ebx
neg ebx
sbb bl, bl
mov eax, esi
mov esi, dword [ebp - 0x2a4]
shr eax, 3
and al, 1
inc bl
cmp dword [0x10d2510], esi
mov byte [ebp - 0x25d], al
sete byte [ebp - 0x249]
cmp dword [0x10d251c], edi
je 0x109aab8
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x258], eax
push 1
lea eax, [ebp - 0x25c]
push eax
push esi
call dword [sym.imp.USER32.dll_GetParent]
push eax
push esi
call dword [sym.imp.USER32.dll_MapWindowPoints]
cmp byte [0x10d2508], 0
push 2
push dword [ebp - 0x268]
push dword [ebp - 0x26c]
push dword [ebp - 0x258]
jne 0x109aa8d
push dword [ebp - 0x25c]
jmp 0x109aaa5
mov ecx, dword [0x10d251c]
call fcn.010561e8
sub eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x26c]
push eax
push edi
push edi
push dword [0x10d251c]
lea ecx, [ebp - 0x27c]
call fcn.010996eb
test byte [ebp - 0x248], 1
je 0x109aada
cmp byte [ebp - 0x249], 0
je 0x109aad2
mov eax, dword [ebp - 0x250]
jmp 0x109aaef
mov eax, dword [ebp - 0x254]
jmp 0x109aaef
cmp byte [ebp - 0x249], 0
mov eax, dword [ebp - 0x29c]
jne 0x109aaef
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x254], eax
xor eax, eax
push 0x1fe
mov word [ebp - 0x204], ax
lea eax, [ebp - 0x202]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x100
lea eax, [ebp - 0x204]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x109ae8a
push 3
lea ecx, [ebp - 0x27c]
call fcn.01099479
lea eax, [ebp - 0x248]
test bl, bl
je 0x109ab4e
or dword [ebp - 0x248], 0xffffffff
jmp 0x109ab58
mov dword [ebp - 0x248], 0x80ffffff
mov eax, dword [eax]
mov dword [ebp - 0x248], eax
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x2d4]
call fcn.0109928e
push dword [0x10d2514]
lea ecx, [ebp - 0x25c]
push dword [ebp - 0x2a8]
call fcn.01099819
push edi
push edi
lea ecx, [ebp - 0x284]
call fcn.01097e1d
push 1
lea ecx, [ebp - 0x284]
call fcn.010993b0
push 1
lea ecx, [ebp - 0x284]
call fcn.010993d3
fldz
fst dword [ebp - 0x294]
mov ecx, 0x1034704
fst dword [ebp - 0x290]
mov eax, ecx
fild dword [ebp - 0x26c]
lea edx, [eax + 2]
fstp dword [ebp - 0x28c]
fild dword [ebp - 0x268]
fstp dword [ebp - 0x288]
fst dword [ebp - 0x2ac]
fst dword [ebp - 0x2b0]
fst dword [ebp - 0x2b4]
fstp dword [ebp - 0x2b8]
mov si, word [eax]
inc eax
inc eax
cmp si, di
jne 0x109abf8
push edi
sub eax, edx
push edi
lea edx, [ebp - 0x2b8]
push edx
lea edx, [ebp - 0x284]
push edx
lea edx, [ebp - 0x294]
push edx
lea edx, [ebp - 0x25c]
push edx
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x27c]
call fcn.0109965c
fld dword [ebp - 0x2ac]
fadd qword [0x10291e8]
call sub.msvcrt.dll__ftol2_sse
fld1
cmp eax, dword [ebp - 0x268]
jg 0x109ac62
push ecx
push ecx
fst dword [esp + 4]
lea ecx, [ebp - 0x2b8]
fstp dword [esp]
call fcn.01097db2
jmp 0x109ac64
fstp st(0)
fild dword [ebp - 0x268]
fstp dword [ebp - 0x250]
fld dword [ebp - 0x250]
fsub dword [ebp - 0x2ac]
fmul qword [0x1025b20]
call sub.msvcrt.dll__ftol2_sse
fld dword [ebp - 0x2ac]
mov dword [ebp - 0x298], eax
call sub.msvcrt.dll__ftol2_sse
cmp byte [0x10d2508], 0
mov dword [ebp - 0x264], eax
jne 0x109ad0d
mov ecx, dword [ebp - 0x274]
lea ecx, [ecx + eax + 3]
mov dword [ebp - 0x248], ecx
fild dword [ebp - 0x248]
mov ecx, dword [ebp - 0x26c]
sub ecx, eax
fstp dword [ebp - 0x294]
sub ecx, 3
fild dword [ebp - 0x270]
mov dword [ebp - 0x248], ecx
lea eax, [ebp - 0x204]
lea edx, [eax + 2]
fstp dword [ebp - 0x290]
fild dword [ebp - 0x248]
fstp dword [ebp - 0x28c]
fld dword [ebp - 0x250]
fstp dword [ebp - 0x288]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x109ad01
jmp 0x109ad6e
fild dword [ebp - 0x274]
mov ecx, dword [ebp - 0x26c]
sub ecx, eax
sub ecx, 3
fstp dword [ebp - 0x294]
mov dword [ebp - 0x248], ecx
fild dword [ebp - 0x270]
push 1
lea ecx, [ebp - 0x284]
fstp dword [ebp - 0x290]
fild dword [ebp - 0x248]
fstp dword [ebp - 0x28c]
fld dword [ebp - 0x250]
fstp dword [ebp - 0x288]
call fcn.0109936a
lea eax, [ebp - 0x204]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x109ad64
lea ecx, [ebp - 0x2d4]
push ecx
lea ecx, [ebp - 0x284]
push ecx
lea ecx, [ebp - 0x294]
push ecx
sub eax, edx
lea ecx, [ebp - 0x25c]
push ecx
sar eax, 1
push eax
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x27c]
call fcn.010995a4
cmp byte [ebp - 0x25d], 0
je 0x109ae63
fldz
lea eax, [ebp - 0x204]
fst dword [ebp - 0x2bc]
lea edx, [eax + 2]
fst dword [ebp - 0x2c0]
fst dword [ebp - 0x2c4]
fstp dword [ebp - 0x2c8]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x109add1
push edi
push edi
lea ecx, [ebp - 0x2c8]
push ecx
lea ecx, [ebp - 0x284]
push ecx
lea ecx, [ebp - 0x294]
push ecx
sub eax, edx
lea ecx, [ebp - 0x25c]
push ecx
sar eax, 1
push eax
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x27c]
call fcn.0109965c
fld1
push ecx
fstp dword [esp]
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x2a0]
mov dword [ebp - 0x248], 0xc0ffffff
call fcn.01097dee
push 1
lea ecx, [ebp - 0x2a0]
call fcn.01099346
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0x27c]
call fcn.0109a6bd
push dword [ebp - 0x2a0]
call sub.gdiplus.dll_GdipDeletePen
push dword [ebp - 0x284]
call sub.gdiplus.dll_GdipDeleteStringFormat
push dword [ebp - 0x25c]
call sub.gdiplus.dll_GdipDeleteFont
push dword [ebp - 0x2d0]
call sub.gdiplus.dll_GdipDeleteBrush
mov esi, dword [ebp - 0x2a4]
mov dword [ebp - 0x250], edi
test bl, bl
je 0x109aea2
cmp byte [ebp - 0x249], 0
jne 0x109aea2
push 4
pop eax
jmp 0x109aea5
xor eax, eax
inc eax
cmp dword [ebp - 0x250], eax
jge 0x109aeff
cmp dword [ebp - 0x254], edi
je 0x109aef7
cmp byte [0x10d2508], 0
push dword [ebp - 0x264]
lea ecx, [ebp - 0x27c]
push dword [ebp - 0x264]
push dword [ebp - 0x298]
jne 0x109aede
push dword [ebp - 0x274]
jmp 0x109aeec
mov eax, dword [ebp - 0x26c]
sub eax, dword [ebp - 0x264]
dec eax
push eax
push dword [ebp - 0x254]
call fcn.01057004
inc dword [ebp - 0x250]
jmp 0x109ae90
push dword [ebp - 0x2a8]
lea ecx, [ebp - 0x25c]
call fcn.01056267
push dword [ebp - 0x268]
lea eax, [ebp - 0x2e4]
push dword [ebp - 0x26c]
lea ecx, [ebp - 0x25c]
push edi
push edi
push eax
call fcn.01057004
lea eax, [ebp - 0x244]
push eax
push esi
call dword [sym.imp.USER32.dll_EndPaint]
push dword [ebp - 0x25c]
call sub.gdiplus.dll_GdipDeleteGraphics
push dword [ebp - 0x27c]
call sub.gdiplus.dll_GdipDeleteGraphics
push dword [ebp - 0x2e0]
call sub.gdiplus.dll_GdipDisposeImage
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0107591b
leave
ret 4