Function at 0x528260
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff98
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x9c]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x2c], 0
je 0x5288ee
cmp dword [ebp - 0x30], 0
je 0x5288ee
mov eax, dword [ebp - 0x30]
call fcn.00495d00
test al, al
je 0x5288ee
mov eax, dword [ebp - 0x2c]
call fcn.00495d00
test al, al
je 0x5288ee
mov eax, dword [ebp - 4]
call fcn.00528220
test al, al
je 0x528311
mov eax, dword [ebp - 0x2c]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5282e6
push 0
mov eax, dword [ebp - 0x2c]
call fcn.00495768
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 0x30]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5288ee
push 0
mov eax, dword [ebp - 0x30]
call fcn.00495768
push eax
call sub.user32.dll_ShowWindow
jmp 0x5288ee
mov byte [ebp - 0x25], 0
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.00528d64
mov dword [ebp - 0x10], 0x7fffffff
mov dword [ebp - 0x14], 0x7fffffff
mov dword [ebp - 0x18], 0x80000001
mov dword [ebp - 0x1c], 0x80000001
mov eax, dword [ebp - 4]
call fcn.0052912c
call fcn.00516f9c
dec eax
test eax, eax
jl 0x528449
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
call fcn.0052912c
mov edx, dword [ebp - 0xc]
call fcn.00517004
cmp byte [eax + 0x61], 0
je 0x52843d
mov eax, dword [ebp - 4]
call fcn.0052912c
mov edx, dword [ebp - 0xc]
call fcn.00517004
call fcn.00495768
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x3c]
je 0x52843d
mov eax, dword [ebp - 4]
call fcn.0052912c
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x58]
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
call fcn.00517004
call fcn.00495768
push eax
call sub.user32.dll_GetWindowRect
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x384]
push eax
call sub.user32.dll_GetWindowRect
mov ecx, dword [ebp - 0x64]
neg ecx
mov edx, dword [ebp - 0x68]
neg edx
lea eax, [ebp - 0x58]
call fcn.0040cbfc
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x58]
jle 0x5283f3
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x54]
jle 0x528401
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x58]
call fcn.0040c52c
add eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x18]
jle 0x52841f
lea eax, [ebp - 0x58]
call fcn.0040c52c
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x58]
call fcn.0040c534
add eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x1c]
jle 0x52843d
lea eax, [ebp - 0x58]
call fcn.0040c534
add eax, dword [ebp - 0x54]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0xc]
dec dword [ebp - 0x34]
jne 0x52835d
cmp dword [ebp - 0x10], 0
jl 0x528460
lea eax, [ebp - 0x48]
call fcn.0040c52c
cmp eax, dword [ebp - 0x18]
jl 0x528460
xor eax, eax
jmp 0x528462
mov al, 1
mov byte [ebp - 0x26], al
cmp dword [ebp - 0x14], 0
jl 0x52847c
lea eax, [ebp - 0x48]
call fcn.0040c534
cmp eax, dword [ebp - 0x1c]
jl 0x52847c
xor eax, eax
jmp 0x52847e
mov al, 1
mov byte [ebp - 0x27], al
cmp byte [ebp - 0x27], 0
je 0x5284af
cmp byte [ebp - 0x26], 0
jne 0x5284af
cmp dword [ebp - 0x10], 0
jl 0x5284aa
lea eax, [ebp - 0x48]
call fcn.0040c52c
mov edx, dword [ebp - 0x30]
sub eax, dword [edx + 0x50]
cmp eax, dword [ebp - 0x18]
jl 0x5284aa
xor eax, eax
jmp 0x5284ac
mov al, 1
mov byte [ebp - 0x26], al
cmp byte [ebp - 0x26], 0
je 0x5284dd
cmp byte [ebp - 0x27], 0
jne 0x5284dd
cmp dword [ebp - 0x14], 0
jl 0x5284d8
lea eax, [ebp - 0x48]
call fcn.0040c534
mov edx, dword [ebp - 0x2c]
sub eax, dword [edx + 0x54]
cmp eax, dword [ebp - 0x1c]
jl 0x5284d8
xor eax, eax
jmp 0x5284da
mov al, 1
mov byte [ebp - 0x27], al
cmp byte [ebp - 0x26], 0
je 0x52853b
mov eax, dword [ebp - 0x2c]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x52853b
push 0x40
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x54]
push eax
lea eax, [ebp - 0x48]
call fcn.0040c52c
push eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x2c]
sub eax, dword [edx + 0x54]
push eax
mov eax, dword [ebp - 0x48]
push eax
push 0
mov eax, dword [ebp - 0x2c]
call fcn.00495768
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 0x2c]
call fcn.00495768
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
jmp 0x528567
cmp byte [ebp - 0x26], 0
jne 0x528567
mov eax, dword [ebp - 0x2c]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x528567
push 0
mov eax, dword [ebp - 0x2c]
call fcn.00495768
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
cmp byte [ebp - 0x27], 0
je 0x52860b
mov eax, dword [ebp - 0x30]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x52860b
cmp byte [ebp - 0x26], 0
je 0x5285c5
push 0x40
lea eax, [ebp - 0x48]
call fcn.0040c534
mov edx, dword [ebp - 0x2c]
sub eax, dword [edx + 0x54]
push eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x50]
push eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
sub edx, dword [eax + 0x50]
push edx
push 0
mov eax, dword [ebp - 0x30]
call fcn.00495768
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5285f5
push 0x40
lea eax, [ebp - 0x48]
call fcn.0040c534
push eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x50]
push eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
sub edx, dword [eax + 0x50]
push edx
push 0
mov eax, dword [ebp - 0x30]
call fcn.00495768
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 0x30]
call fcn.00495768
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
jmp 0x528637
cmp byte [ebp - 0x27], 0
jne 0x528637
mov eax, dword [ebp - 0x30]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x528637
push 0
mov eax, dword [ebp - 0x30]
call fcn.00495768
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
lea eax, [ebp - 0x48]
call fcn.0040c52c
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x48]
call fcn.0040c534
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
call fcn.00528abc
mov eax, dword [ebp - 0x2c]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x528715
cmp dword [ebp - 0x10], 0
jle 0x528676
xor eax, eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x48]
call fcn.0040c52c
cmp eax, dword [ebp - 0x18]
jle 0x52868e
lea eax, [ebp - 0x48]
call fcn.0040c52c
mov dword [ebp - 0x18], eax
cmp byte [ebp - 5], 0
je 0x528701
mov eax, dword [ebp - 4]
mov byte [eax + 0x98], 1
mov eax, dword [ebp - 0x30]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5286c3
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
sub edx, dword [eax + 0x50]
mov eax, dword [ebp - 0x2c]
call fcn.004a8ebc
jmp 0x5286ce
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
call fcn.004a8ebc
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x10]
dec eax
push eax
mov edx, dword [ebp - 0x10]
neg edx
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
call fcn.004a8c74
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x27c]
mov edx, dword [ebp - 4]
mov dword [edx + 0xb8], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x98], 0
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + 0x288]
mov edx, dword [ebp - 0x2c]
mov word [edx + 0x292], ax
mov eax, dword [ebp - 0x30]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5287d5
cmp dword [ebp - 0x14], 0
jle 0x528736
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x48]
call fcn.0040c534
cmp eax, dword [ebp - 0x1c]
jle 0x52874e
lea eax, [ebp - 0x48]
call fcn.0040c534
mov dword [ebp - 0x1c], eax
cmp byte [ebp - 5], 0
je 0x5287c1
mov eax, dword [ebp - 4]
mov byte [eax + 0x99], 1
mov eax, dword [ebp - 0x2c]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x528783
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
sub edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x30]
call fcn.004a8ebc
jmp 0x52878e
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
call fcn.004a8ebc
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
dec eax
push eax
mov edx, dword [ebp - 0x14]
neg edx
xor ecx, ecx
mov eax, dword [ebp - 0x30]
call fcn.004a8c74
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x27c]
mov edx, dword [ebp - 4]
mov dword [edx + 0xbc], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x99], 0
mov eax, dword [ebp - 0x30]
mov ax, word [eax + 0x288]
mov edx, dword [ebp - 0x30]
mov word [edx + 0x292], ax
mov eax, dword [ebp - 0x2c]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5287fd
mov eax, dword [ebp - 0x30]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5287fd
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x2c]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x52888b
mov eax, dword [ebp - 0x30]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x52888b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x52888b
push 0x40
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x54]
push eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x50]
push eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x2c]
sub eax, dword [edx + 0x54]
push eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
sub edx, dword [eax + 0x50]
push edx
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00495768
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00495768
push eax
call sub.user32.dll_ShowWindow
jmp 0x5288dd
mov eax, dword [ebp - 0x2c]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5288c7
mov eax, dword [ebp - 0x30]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5288dd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00495768
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5288dd
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00495768
push eax
call sub.user32.dll_ShowWindow
cmp byte [ebp - 0x25], 0
je 0x5288ee
mov dl, byte [ebp - 5]
mov eax, dword [ebp - 4]
call fcn.00528260
mov esp, ebp
pop ebp
ret