Function at 0x110b28d0
Capabilities:
Check os version
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x11185b76
mov eax, dword fs:[0]
push eax
sub esp, 0x6e0
mov eax, dword [0x111ec774]
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]
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x224]
push ecx
push esi
mov dword [ebp - 0x690], esi
mov dword [ebp - 0x664], eax
call dword [sym.imp.uSEr32.dll_GetWindowRect]
mov edi, dword [ebp - 0x21c]
mov ebx, dword [ebp - 0x218]
sub edi, dword [ebp - 0x224]
sub ebx, dword [ebp - 0x220]
mov dword [ebp - 0x668], edi
mov dword [ebp - 0x66c], ebx
test edi, edi
jle 0x110b3051
test ebx, ebx
jle 0x110b3051
push 0xffffffffffffffec
push esi
call dword [sym.imp.uSEr32.dll_GetWindowLongA]
mov dword [ebp - 0x670], eax
test eax, 0x80000
jne 0x110b29a1
mov esi, dword [ebp - 0x664]
cmp dword [esi + 0x4c], 0
je 0x110b3051
lea edx, [ebp - 0x224]
push edx
call dword [sym.imp.Gdi32.Dll_CreateRectRgnIndirect]
push 4
mov edi, eax
mov eax, dword [esi + 0x4c]
push edi
push eax
push eax
call dword [sym.imp.Gdi32.Dll_CombineRgn]
push edi
call dword [sym.imp.Gdi32.Dll_DeleteObject]
jmp 0x110b3051
push 0x80
lea eax, [ebp - 0x90]
push eax
push esi
mov byte [ebp - 0x90], 0
call dword [sym.imp.uSEr32.dll_GetClassNameA]
lea ecx, [ebp - 0x90]
push 0x111a90c8
push ecx
call fcn.11081e70
add esp, 8
test eax, eax
je 0x110b3033
lea edx, [ebp - 0x90]
push 0x111a90b0
push edx
call fcn.11081e70
add esp, 8
test eax, eax
je 0x110b3033
push 0x80
lea eax, [ebp - 0x110]
push eax
push esi
mov byte [ebp - 0x110], 0
call dword [sym.imp.uSEr32.dll_GetWindowTextA]
cmp dword [0x111f14f8], 1
jle 0x110b2a42
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x224]
push esi
push ecx
push edx
push ebx
push edi
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x90]
push ecx
push 0x111a9088
call fcn.11147060
add esp, 0x20
mov byte [ebp - 0x65d], 0
mov ecx, 0x1119e8a0
lea eax, [ebp - 0x90]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x110b2a74
test dl, dl
je 0x110b2a70
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x110b2a74
add eax, 2
add ecx, 2
test dl, dl
jne 0x110b2a54
xor eax, eax
jmp 0x110b2a79
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x110b2a84
mov byte [ebp - 0x65d], 1
mov ebx, dword [ebp - 0x664]
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x110b2ab1
lea edx, [ebp - 0x224]
push edx
push eax
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.uSEr32.dll_IntersectRect]
test eax, eax
jne 0x110b2ab1
mov byte [ebp - 0x65d], 1
lea ecx, [ebp - 0x680]
push ecx
push esi
mov byte [ebp - 0x214], 0
lea edi, [ebp - 0x214]
mov dword [ebp - 0x680], 0
call dword [sym.imp.uSEr32.dll_GetWindowThreadProcessId]
mov eax, dword [ebp - 0x680]
test eax, eax
je 0x110b2c27
cmp byte [ebp - 0x65d], 0
jne 0x110b2c6f
push eax
push 0
push 0x410
call dword [sym.imp.KeRneL32.DLl_OpenProcess]
mov dword [ebp - 0x678], eax
test eax, eax
je 0x110b2c30
push 0x104
mov edx, edi
push edx
push eax
lea ecx, [ebx + 0x24]
call fcn.110262f0
test eax, eax
je 0x110b2c14
mov eax, edi
push 0x5c
push eax
call fcn.11081e00
add esp, 8
test eax, eax
je 0x110b2b3a
lea edi, [eax + 1]
push 0x111a9078
push edi
call fcn.11081e70
mov ebx, dword [sym.imp.KeRneL32.DLl_GetVersion]
add esp, 8
test eax, eax
jne 0x110b2b93
mov ecx, 0x111a8f78
lea eax, [ebp - 0x90]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x110b2b80
test dl, dl
je 0x110b2b7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x110b2b80
add eax, 2
add ecx, 2
test dl, dl
jne 0x110b2b60
xor eax, eax
jmp 0x110b2b85
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x110b2b93
call ebx
cmp al, 6
jae 0x110b2c0d
push 0x111a9078
push edi
call fcn.11081e70
add esp, 8
test eax, eax
jne 0x110b2bdf
mov ecx, 0x111a9064
lea eax, [ebp - 0x90]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x110b2bd0
test dl, dl
je 0x110b2bcc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x110b2bd0
add eax, 2
add ecx, 2
test dl, dl
jne 0x110b2bb0
xor eax, eax
jmp 0x110b2bd5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x110b2bdf
call ebx
cmp al, 6
jae 0x110b2c0d
push 0x111a9058
push edi
call fcn.11081e70
add esp, 8
test eax, eax
je 0x110b2c0d
mov ecx, dword [ebp - 0x664]
push edi
add ecx, 0x10
call fcn.110094d0
push eax
call fcn.11129e00
add esp, 8
test eax, eax
je 0x110b2c14
mov byte [ebp - 0x65d], 1
mov ecx, dword [ebp - 0x678]
push ecx
call dword [sym.imp.KeRneL32.DLl_CloseHandle]
mov ebx, dword [ebp - 0x664]
cmp byte [ebp - 0x65d], 0
jne 0x110b2c6f
inc dword [ebx + 0xc]
cmp dword [ebx + 0x4c], 0
jne 0x110b2c4b
lea edx, [ebp - 0x224]
push edx
call dword [sym.imp.Gdi32.Dll_CreateRectRgnIndirect]
mov dword [ebx + 0x4c], eax
jmp 0x110b2c6f
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.Gdi32.Dll_CreateRectRgnIndirect]
push 2
mov edi, eax
mov eax, dword [ebx + 0x4c]
push edi
push eax
push eax
call dword [sym.imp.Gdi32.Dll_CombineRgn]
push edi
call dword [sym.imp.Gdi32.Dll_DeleteObject]
cmp dword [ebx + 8], 2
je 0x110b3051
test byte [ebp - 0x670], 8
je 0x110b3051
push esi
call dword [sym.imp.uSEr32.dll_GetDC]
lea ecx, [ebp - 0x69c]
mov ebx, eax
push ecx
xor edi, edi
push ebx
mov dword [ebp - 0x69c], edi
mov dword [ebp - 0x698], edi
call dword [sym.imp.Gdi32.Dll_GetDCOrgEx]
lea ecx, [ebp - 0x6ec]
mov byte [ebp - 0x65e], 0xff
call fcn.110161e0
lea edx, [ebp - 0x67c]
push edx
lea eax, [ebp - 0x65e]
push eax
lea ecx, [ebp - 0x688]
push ecx
push esi
lea ecx, [ebp - 0x6ec]
mov dword [ebp - 4], edi
call fcn.110b06e0
cmp eax, edi
je 0x110b2f05
cmp dword [0x111f14f8], 1
jle 0x110b2d15
mov edx, dword [ebp - 0x688]
mov eax, dword [ebp - 0x67c]
movzx ecx, byte [ebp - 0x65e]
push edx
push eax
push ecx
push 0x111a903c
call fcn.11147060
add esp, 0x10
cmp byte [ebp - 0x65e], 0
je 0x110b2ee3
push ebx
call dword [sym.imp.Gdi32.Dll_CreateCompatibleDC]
mov edi, eax
mov dword [ebp - 0x684], edi
test edi, edi
je 0x110b2ee3
push 0xe
push ebx
call dword [sym.imp.Gdi32.Dll_GetDeviceCaps]
push 0xc
push ebx
mov esi, eax
call dword [sym.imp.Gdi32.Dll_GetDeviceCaps]
imul esi, eax
push 0x428
lea edx, [ebp - 0x65c]
push 0
push edx
mov dword [ebp - 0x670], esi
call fcn.11162be0
mov eax, dword [ebp - 0x668]
mov ecx, dword [ebp - 0x66c]
add esp, 0xc
mov dword [ebp - 0x658], eax
xor eax, eax
push eax
push eax
mov dword [ebp - 0x654], ecx
lea ecx, [ebp - 0x68c]
push ecx
mov edx, 1
mov word [ebp - 0x650], dx
push eax
lea edx, [ebp - 0x65c]
push edx
push edi
mov dword [ebp - 0x65c], 0x28
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x64c], eax
mov dword [ebp - 0x648], eax
mov word [ebp - 0x64e], si
mov dword [ebp - 0x68c], eax
call dword [sym.imp.Gdi32.Dll_CreateDIBSection]
mov dword [ebp - 0x678], eax
test eax, eax
je 0x110b2ed6
mov dword [ebp - 0x674], 0
jmp 0x110b2df0
mov eax, dword [ebp - 0x678]
push eax
push edi
call dword [sym.imp.Gdi32.Dll_SelectObject]
mov ecx, dword [ebp - 0x674]
mov edx, dword [ebp - 0x66c]
neg ecx
sbb ecx, ecx
and ecx, 0x40000000
add ecx, 0xcc0020
push ecx
push 0
push 0
push ebx
push edx
mov dword [ebp - 0x694], eax
mov eax, dword [ebp - 0x668]
push eax
push 0
push 0
push edi
call dword [sym.imp.Gdi32.Dll_BitBlt]
test eax, eax
je 0x110b2ea5
call dword [sym.imp.Gdi32.Dll_GdiFlush]
mov eax, esi
imul eax, dword [ebp - 0x668]
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
add eax, eax
add eax, eax
cdq
and edx, 3
add eax, edx
sar eax, 2
imul eax, dword [ebp - 0x66c]
xor ecx, ecx
test eax, eax
jle 0x110b2e8f
mov edx, dword [ebp - 0x68c]
jmp 0x110b2e80
cmp dword [edx + ecx*4], 0
jne 0x110b2f1b
inc ecx
cmp ecx, eax
jl 0x110b2e80
cmp dword [0x111f14f8], 0
je 0x110b2ea5
push 0x111a9014
call fcn.11147060
add esp, 4
mov ecx, dword [ebp - 0x694]
push ecx
push edi
call dword [sym.imp.Gdi32.Dll_SelectObject]
mov eax, dword [ebp - 0x674]
inc eax
mov dword [ebp - 0x674], eax
cmp eax, 2
jl 0x110b2df0
mov edx, dword [ebp - 0x678]
push edx
call dword [sym.imp.Gdi32.Dll_DeleteObject]
push edi
call dword [sym.imp.Gdi32.Dll_DeleteDC]
mov esi, dword [ebp - 0x690]
push ebx
push esi
call dword [sym.imp.uSEr32.dll_ReleaseDC]
mov eax, dword [ebp - 0x6ec]
test eax, eax
je 0x110b3051
push eax
call dword [sym.imp.KeRneL32.DLl_FreeLibrary]
jmp 0x110b3051
mov byte [ebp - 0x65e], 0xff
mov dword [ebp - 0x67c], 2
jmp 0x110b2d22
cmp dword [0x111f14f8], 1
jle 0x110b2f36
add ecx, ecx
add ecx, ecx
push ecx
push 0x111a8fec
call fcn.11147060
add esp, 8
xor edi, edi
test byte [ebp - 0x67c], 1
je 0x110b2fae
push 0x111a8fe0
call dword [sym.imp.KeRneL32.DLl_LoadLibraryA]
mov esi, eax
mov dword [ebp - 0x6a0], esi
push 0x111a8fd0
push esi
mov byte [ebp - 4], 1
call dword [sym.imp.KeRneL32.DLl_GetProcAddress]
test eax, eax
je 0x110b2f9d
mov edx, dword [ebp - 0x688]
mov ecx, dword [ebp - 0x66c]
push edx
mov edx, dword [ebp - 0x668]
push ecx
push edx
push edi
push edi
push ebx
push ecx
mov ecx, dword [ebp - 0x220]
push edx
mov edx, dword [ebp - 0x224]
push ecx
mov ecx, dword [ebp - 0x664]
push edx
mov edx, dword [ecx]
push edx
call eax
mov edi, eax
mov byte [ebp - 4], 0
test esi, esi
je 0x110b2fe5
push esi
call dword [sym.imp.KeRneL32.DLl_FreeLibrary]
jmp 0x110b2fe5
mov eax, dword [ebp - 0x66c]
mov ecx, dword [ebp - 0x668]
mov edx, dword [ebp - 0x220]
push 0xcc0020
push 0
push 0
push ebx
push eax
mov eax, dword [ebp - 0x224]
push ecx
mov ecx, dword [ebp - 0x664]
push edx
mov edx, dword [ecx]
push eax
push edx
call dword [sym.imp.Gdi32.Dll_BitBlt]
mov edi, eax
test edi, edi
jne 0x110b300e
call dword [sym.imp.KeRneL32.DLl_GetLastError]
push eax
push 0x111a8fc0
call fcn.11147060
mov edi, dword [ebp - 0x684]
mov esi, dword [ebp - 0x670]
add esp, 8
jmp 0x110b2ea5
mov eax, dword [ebp - 0x664]
mov edi, dword [ebp - 0x684]
mov esi, dword [ebp - 0x670]
mov byte [eax + 0x48], 1
mov dword [ebp - 0x674], 2
jmp 0x110b2ea5
cmp dword [0x111f14f8], 1
jle 0x110b3051
push esi
lea eax, [ebp - 0x90]
push eax
push 0x111a8fa0
call fcn.11147060
add esp, 0xc
mov eax, 1
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.11162bb7
mov esp, ebp
pop ebp
ret 8