Function at 0x1059775
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2e4
mov eax, dword [0x108e1f8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x10986cc]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x280], eax
mov eax, dword [0x10986d4]
push esi
mov dword [ebp - 0x254], eax
mov eax, dword [0x10986d0]
push edi
mov dword [ebp - 0x29c], eax
mov eax, dword [0x10986d8]
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 0x10597d8
cmp eax, 9
jne 0x1059804
mov eax, dword [0x10986dc]
mov dword [ebp - 0x280], eax
mov eax, dword [0x10986e4]
mov dword [ebp - 0x254], eax
mov eax, dword [0x10986e0]
mov dword [ebp - 0x29c], eax
mov eax, dword [0x10986e8]
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.01055d29
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [ebp - 0x27c]
call fcn.01056474
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 [0x1098648], esi
mov byte [ebp - 0x25d], al
sete byte [ebp - 0x249]
cmp dword [0x1098654], edi
je 0x105994c
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 [0x1098640], 0
push 2
push dword [ebp - 0x268]
push dword [ebp - 0x26c]
push dword [ebp - 0x258]
jne 0x1059921
push dword [ebp - 0x25c]
jmp 0x1059939
mov ecx, dword [0x1098654]
call fcn.0104d9d8
sub eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x26c]
push eax
push edi
push edi
push dword [0x1098654]
lea ecx, [ebp - 0x27c]
call fcn.010585d9
test byte [ebp - 0x248], 1
je 0x105996e
cmp byte [ebp - 0x249], 0
je 0x1059966
mov eax, dword [ebp - 0x250]
jmp 0x1059983
mov eax, dword [ebp - 0x254]
jmp 0x1059983
cmp byte [ebp - 0x249], 0
mov eax, dword [ebp - 0x29c]
jne 0x1059983
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 0x1059d1e
push 3
lea ecx, [ebp - 0x27c]
call fcn.010564a8
lea eax, [ebp - 0x248]
test bl, bl
je 0x10599e2
or dword [ebp - 0x248], 0xffffffff
jmp 0x10599ec
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.0105639f
push dword [0x109864c]
lea ecx, [ebp - 0x25c]
push dword [ebp - 0x2a8]
call fcn.01058707
push edi
push edi
lea ecx, [ebp - 0x284]
call fcn.01055c8b
push 1
lea ecx, [ebp - 0x284]
call fcn.01056451
push 1
lea ecx, [ebp - 0x284]
call fcn.01058341
fldz
fst dword [ebp - 0x294]
mov ecx, 0x101258c
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 0x1059a8c
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.0105854a
fld dword [ebp - 0x2ac]
fadd qword [0x100c138]
call sub.msvcrt.dll__ftol2_sse
fld1
cmp eax, dword [ebp - 0x268]
jg 0x1059af6
push ecx
push ecx
fst dword [esp + 4]
lea ecx, [ebp - 0x2b8]
fstp dword [esp]
call fcn.01056eb9
jmp 0x1059af8
fstp st(0)
fild dword [ebp - 0x268]
fstp dword [ebp - 0x250]
fld dword [ebp - 0x250]
fsub dword [ebp - 0x2ac]
fmul qword [0x100bb70]
call sub.msvcrt.dll__ftol2_sse
fld dword [ebp - 0x2ac]
mov dword [ebp - 0x298], eax
call sub.msvcrt.dll__ftol2_sse
cmp byte [0x1098640], 0
mov dword [ebp - 0x264], eax
jne 0x1059ba1
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 0x1059b95
jmp 0x1059c02
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.0105640b
lea eax, [ebp - 0x204]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1059bf8
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.010564cc
cmp byte [ebp - 0x25d], 0
je 0x1059cf7
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 0x1059c65
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.0105854a
fld1
push ecx
fstp dword [esp]
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x2a0]
mov dword [ebp - 0x248], 0xc0ffffff
call fcn.01056ef5
push 1
lea ecx, [ebp - 0x2a0]
call fcn.0105831d
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0x27c]
call fcn.01059551
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 0x1059d36
cmp byte [ebp - 0x249], 0
jne 0x1059d36
push 4
pop eax
jmp 0x1059d39
xor eax, eax
inc eax
cmp dword [ebp - 0x250], eax
jge 0x1059d93
cmp dword [ebp - 0x254], edi
je 0x1059d8b
cmp byte [0x1098640], 0
push dword [ebp - 0x264]
lea ecx, [ebp - 0x27c]
push dword [ebp - 0x264]
push dword [ebp - 0x298]
jne 0x1059d72
push dword [ebp - 0x274]
jmp 0x1059d80
mov eax, dword [ebp - 0x26c]
sub eax, dword [ebp - 0x264]
dec eax
push eax
push dword [ebp - 0x254]
call fcn.01056521
inc dword [ebp - 0x250]
jmp 0x1059d24
push dword [ebp - 0x2a8]
lea ecx, [ebp - 0x25c]
call fcn.01058364
push dword [ebp - 0x268]
lea eax, [ebp - 0x2e4]
push dword [ebp - 0x26c]
lea ecx, [ebp - 0x25c]
push edi
push edi
push eax
call fcn.01056521
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.01034b69
leave
ret 4