Function at 0x82c690
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff50
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov word [ebp - 0x5e], dx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x26c], 0
je 0x82cfab
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
push eax
call sub.user32.dll_IsIconic
test eax, eax
jne 0x82cfab
mov byte [0x90c768], 1
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2cc]
test eax, eax
je 0x82c72b
cmp dword [eax + 0x2c], 0
jne 0x82c6f1
call fcn.0086bbd8
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2cc]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x78], eax
push 0
push 0
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push eax
call sub.user32.dll_SetWindowRgn
test eax, eax
jne 0x82c71b
call fcn.00832ed4
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2cc]
call fcn.0086b464
jmp 0x82c74c
mov eax, dword [ebp - 0x5c]
call fcn.00853eb0
push 0
mov ecx, dword [0x90de38]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x7cd9ec]
call fcn.00614bac
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x26c]
mov ebx, dword [eax + 0x4c]
test ebx, ebx
je 0x82cfab
mov eax, ebx
call fcn.008a0a44
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
call fcn.005209e0
call fcn.00519150
push 0
mov eax, dword [ebp - 0x5c]
push eax
push 0
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax + 0x2b8]
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
call fcn.0082bac0
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x2cc], 0
jne 0x82c7ef
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 0x4c], 0
je 0x82c7cc
push 0x1fffffff
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x5c]
call fcn.0085802c
lea edx, [ebp - 0xb0]
mov cl, 0xff
mov eax, dword [ebp - 0x2c]
call fcn.007d3474
jmp 0x82c7ef
push 0x1fffffff
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x2c]
call fcn.008704e0
lea edx, [ebp - 0xb0]
mov cl, 0xff
mov eax, dword [ebp - 0x2c]
call fcn.007d3474
cmp dword [ebp - 0x2c], 0
je 0x82cfab
mov eax, dword [ebp - 0x2c]
call fcn.005209e0
call fcn.00519258
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 0x2c]
call fcn.008705ac
movzx eax, word [ebp - 0x5e]
mov ecx, 0xc
xor edx, edx
div ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x64], 0x718
lea ecx, [ebp - 0x74]
xor edx, edx
xor eax, eax
call fcn.008705f0
cmp dword [ebp - 0x10], 0
jle 0x82c846
lea eax, [ebp - 0x54]
xor edx, edx
call fcn.00870dbc
jmp 0x82c852
movzx edx, byte [ebp - 0xc]
lea eax, [ebp - 0x54]
call fcn.00870dbc
xor eax, eax
mov dword [ebp - 0x7c], eax
xor eax, eax
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x2cc], 0
je 0x82c96f
lea edx, [ebp - 0xa0]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.00546394
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x82c8b5
mov dl, 1
mov eax, dword [ebp - 0x5c]
call fcn.0084e040
mov ebx, eax
xor edx, edx
mov eax, dword [ebp - 0x5c]
call fcn.0084afc8
add eax, 4
cmp ebx, eax
jl 0x82c8b9
xor ebx, ebx
jmp 0x82c8bb
mov bl, 1
mov eax, dword [ebp - 0x5c]
mov byte [eax + 0xe5], bl
test bl, bl
je 0x82c913
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
mov edx, dword [ebp - 0x5c]
mov edx, dword [edx + 0x2cc]
xor ecx, ecx
call fcn.0084aed8
mov ebx, eax
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x5c]
call fcn.0085985c
mov esi, dword [ebp - 0xac]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2cc]
call fcn.0084b0f4
add esi, eax
add ebx, esi
mov dword [ebp - 0x7c], ebx
jmp 0x82c924
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2cc]
call fcn.0086b210
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
mov edx, dword [ebp - 0x5c]
mov edx, dword [edx + 0x2cc]
xor ecx, ecx
call fcn.0084aed8
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2cc]
call fcn.0084b0c8
mov ebx, eax
pop eax
sub ebx, eax
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x5c]
call fcn.0085985c
add ebx, dword [ebp - 0xb0]
mov dword [ebp - 0x80], ebx
jmp 0x82c9a3
lea eax, [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
push eax
call sub.user32.dll_GetWindowRect
mov eax, dword [ebp - 0x5c]
call fcn.0084c180
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x244]
mov edx, dword [ebp - 0x2c]
call fcn.0082bef0
mov eax, dword [ebp - 0x78]
call fcn.0055010c
mov ebx, eax
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push 0xffffffffffffffec
push eax
call sub.user32.dll_GetWindowLongW
or eax, 0x8000000
push eax
push 0xffffffffffffffec
push ebx
call sub.user32.dll_SetWindowLongW
test eax, eax
jne 0x82c9d4
call fcn.00832ed4
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
push 0xffffffffffffffec
push eax
call sub.user32.dll_GetWindowLongW
test al, 8
je 0x82ca42
mov dl, 3
mov eax, dword [ebp - 0x78]
call fcn.00616f20
xor edx, edx
mov eax, dword [ebp - 0x78]
call fcn.00546134
xor edx, edx
mov eax, dword [ebp - 0x78]
call fcn.0054616c
mov eax, dword [ebp - 0x78]
call fcn.0055010c
mov ebx, eax
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push 0xffffffffffffffec
push eax
call sub.user32.dll_GetWindowLongW
or eax, 0x80000
push eax
push 0xffffffffffffffec
push ebx
call sub.user32.dll_SetWindowLongW
test eax, eax
jne 0x82ca3d
call fcn.00832ed4
or esi, 0xffffffff
jmp 0x82ca6e
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
test byte [eax + 0x3cc], 8
je 0x82ca5e
mov dl, 3
mov eax, dword [ebp - 0x78]
call fcn.00616f20
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
mov esi, eax
push 0
call sub.user32.dll_GetDC
mov ebx, eax
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push 0xffffffffffffffec
push eax
call sub.user32.dll_GetWindowLongW
test eax, 0x80000
jne 0x82cabf
mov eax, dword [ebp - 0x78]
call fcn.0055010c
mov edi, eax
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push 0xffffffffffffffec
push eax
call sub.user32.dll_GetWindowLongW
or eax, 0x80000
push eax
push 0xffffffffffffffec
push edi
call sub.user32.dll_SetWindowLongW
test eax, eax
jne 0x82cabf
call fcn.00832ed4
push 2
lea eax, [ebp - 0x54]
push eax
push 0x1fffffff
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x2c]
call fcn.005209e0
call fcn.0051a144
push eax
lea eax, [ebp - 0x6c]
push eax
push 0
push ebx
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push eax
mov eax, dword [0x90d384]
mov eax, dword [eax]
call eax
test al, al
jne 0x82cafe
call fcn.00832ed4
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov ecx, dword [ebp - 0x9c]
sub ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0xa0]
sub edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x78]
mov edi, dword [eax]
call dword [edi + 0xc0]
push 0x65b
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push eax
call sub.user32.dll_SetWindowPos
test eax, eax
jne 0x82cb53
call fcn.00832ed4
push 4
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x78]
call fcn.0061560c
push eax
mov eax, dword [ebp - 0x78]
call fcn.006155ec
push eax
push esi
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push eax
call sub.user32.dll_SetWindowPos
test eax, eax
jne 0x82cb99
call fcn.00832ed4
lea eax, [ebp - 0x6c]
call fcn.008a0a34
mov dword [ebp - 0x58], eax
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x58]
call fcn.008704e0
lea eax, [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0x58]
call fcn.005209e0
call fcn.0051a144
xor ecx, ecx
pop edx
call fcn.0089a960
push 3
mov eax, dword [ebp - 0x58]
call fcn.005209e0
call fcn.0051a144
push eax
call sub.gdi32.dll_SetStretchBltMode
cmp dword [ebp - 0x10], 0
jle 0x82cc72
push ebp
call fcn.0082c014
pop ecx
xor esi, esi
cmp esi, dword [ebp - 0x10]
jg 0x82cc6b
push ebp
call fcn.0082c1e4
pop ecx
call sub.kernel32.dll_GetTickCount_1
mov edi, eax
push 2
lea eax, [ebp - 0x54]
push eax
push 0x1fffffff
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x58]
call fcn.005209e0
call fcn.0051a144
push eax
lea eax, [ebp - 0x6c]
push eax
push 0
push ebx
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push eax
mov eax, dword [0x90d384]
mov eax, dword [eax]
call eax
test al, al
jne 0x82cc48
call fcn.00832ed4
push ebp
call fcn.0082c4c8
pop ecx
test al, al
je 0x82cc6b
inc esi
cmp dword [ebp - 0x10], 0
jle 0x82cc66
mov edx, 0xc
mov eax, edi
call fcn.00870d70
cmp esi, dword [ebp - 0x10]
jle 0x82cbfb
movzx eax, byte [ebp - 0xc]
mov byte [ebp - 0x52], al
mov eax, dword [ebp - 0x64]
or eax, 4
push eax
mov eax, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0xa0]
sub eax, dword [ebp - 0x80]
push eax
push 0
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push eax
call sub.user32.dll_SetWindowPos
test eax, eax
jne 0x82ccae
call fcn.00832ed4
push 2
lea eax, [ebp - 0x54]
push eax
push 0x1fffffff
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x2c]
call fcn.005209e0
call fcn.0051a144
push eax
lea eax, [ebp - 0x6c]
push eax
push 0
push ebx
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push eax
mov eax, dword [0x90d384]
mov eax, dword [eax]
call eax
test al, al
jne 0x82cced
call fcn.00832ed4
mov eax, dword [ebp - 0x58]
xor edx, edx
mov dword [ebp - 0x58], edx
call fcn.00408198
push ebx
push 0
call sub.user32.dll_ReleaseDC
cmp dword [ebp - 0x5c], 0
je 0x82cfab
mov eax, dword [ebp - 0x5c]
mov byte [eax + 0x2b3], 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
xor ecx, ecx
mov dl, 1
call fcn.0082da74
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
movzx eax, byte [eax + 0x2ce]
mov eax, dword [eax*4 + 0x90c774]
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
push eax
call sub.user32.dll_ShowWindow
push 0x61b
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
push eax
call sub.user32.dll_SetWindowPos
test eax, eax
jne 0x82cd8c
call fcn.00832ed4
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x2cc], 0
je 0x82cda4
mov cl, 1
mov dl, 1
mov eax, dword [ebp - 0x5c]
call fcn.0084c390
push ebp
call fcn.0082c5dc
pop ecx
mov byte [0x90c768], 0
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x2cc], 0
je 0x82cdcb
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2cc]
mov byte [eax + 0x26], 1
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x26c]
movzx ebx, byte [eax + 0x29]
mov byte [eax + 0x29], 1
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
mov edx, eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0082bf30
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x26c]
mov byte [eax + 0x29], bl
test bl, bl
jne 0x82ce18
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.00831344
mov eax, dword [0x90d764]
cmp dword [eax], 6
jne 0x82ce8c
mov eax, dword [0x90e010]
cmp dword [eax], 0
jne 0x82ce8c
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
mov ebx, eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
mov dword [ebp - 0x84], eax
push 0xfffffffffffffff0
mov eax, dword [ebp - 0x84]
push eax
call sub.user32.dll_GetWindowLongW
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
or eax, 0x10000000
push eax
push 0xfffffffffffffff0
push ebx
call sub.user32.dll_SetWindowLongW
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
jne 0x82ce8c
call fcn.00832ed4
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x2cc], 0
je 0x82cea4
mov cl, 1
mov dl, 1
mov eax, dword [ebp - 0x5c]
call fcn.0084c390
push 0x585
push 0
push 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
push eax
call sub.user32.dll_RedrawWindow
test eax, eax
jne 0x82ceca
call fcn.00832ed4
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x2cc], 0
je 0x82cee3
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2cc]
mov byte [eax + 0x26], 0
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x2c], edx
call fcn.00408198
call fcn.0084b258
test al, al
je 0x82cf00
push 0x18
call sub.kernel32.dll_Sleep_1
push 0x61b
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2b8]
call fcn.0055010c
push eax
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push eax
call sub.user32.dll_SetWindowPos
test eax, eax
jne 0x82cf33
call fcn.00832ed4
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x2cc], 0
jne 0x82cf5a
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x90], eax
xor eax, eax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x90]
call fcn.00408198
jmp 0x82cf8d
push 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2cc]
xor ecx, ecx
xor edx, edx
call fcn.0086b988
push eax
mov eax, dword [ebp - 0x78]
call fcn.0055010c
push eax
call sub.user32.dll_SetWindowRgn
test eax, eax
jne 0x82cf86
call fcn.00832ed4
push ebp
call fcn.0082c5dc
pop ecx
mov eax, dword [ebp - 0x5c]
cmp word [eax + 0xc2], 0
je 0x82cfab
mov ebx, dword [ebp - 0x5c]
xor edx, edx
mov eax, dword [ebx + 0xc4]
call dword [ebx + 0xc0]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4