Function at 0x5a9bbc
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 0x5aa24a
cmp dword [ebp - 0x30], 0
je 0x5aa24a
mov eax, dword [ebp - 0x30]
call fcn.004fc448
test al, al
je 0x5aa24a
mov eax, dword [ebp - 0x2c]
call fcn.004fc448
test al, al
je 0x5aa24a
mov eax, dword [ebp - 4]
call fcn.005a9b7c
test al, al
je 0x5a9c6d
mov eax, dword [ebp - 0x2c]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a9c42
push 0
mov eax, dword [ebp - 0x2c]
call fcn.004fbeb0
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 0x30]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5aa24a
push 0
mov eax, dword [ebp - 0x30]
call fcn.004fbeb0
push eax
call sub.user32.dll_ShowWindow
jmp 0x5aa24a
mov byte [ebp - 0x25], 0
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.005aa6c0
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.005aaa88
call fcn.005988ec
dec eax
test eax, eax
jl 0x5a9da5
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
call fcn.005aaa88
mov edx, dword [ebp - 0xc]
call fcn.00598954
cmp byte [eax + 0x61], 0
je 0x5a9d99
mov eax, dword [ebp - 4]
call fcn.005aaa88
mov edx, dword [ebp - 0xc]
call fcn.00598954
call fcn.004fbeb0
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x3c]
je 0x5a9d99
mov eax, dword [ebp - 4]
call fcn.005aaa88
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x58]
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
call fcn.00598954
call fcn.004fbeb0
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.0040d464
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x58]
jle 0x5a9d4f
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x54]
jle 0x5a9d5d
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x58]
call fcn.0040cd94
add eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x18]
jle 0x5a9d7b
lea eax, [ebp - 0x58]
call fcn.0040cd94
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x58]
call fcn.0040cd9c
add eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x1c]
jle 0x5a9d99
lea eax, [ebp - 0x58]
call fcn.0040cd9c
add eax, dword [ebp - 0x54]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0xc]
dec dword [ebp - 0x34]
jne 0x5a9cb9
cmp dword [ebp - 0x10], 0
jl 0x5a9dbc
lea eax, [ebp - 0x48]
call fcn.0040cd94
cmp eax, dword [ebp - 0x18]
jl 0x5a9dbc
xor eax, eax
jmp 0x5a9dbe
mov al, 1
mov byte [ebp - 0x26], al
cmp dword [ebp - 0x14], 0
jl 0x5a9dd8
lea eax, [ebp - 0x48]
call fcn.0040cd9c
cmp eax, dword [ebp - 0x1c]
jl 0x5a9dd8
xor eax, eax
jmp 0x5a9dda
mov al, 1
mov byte [ebp - 0x27], al
cmp byte [ebp - 0x27], 0
je 0x5a9e0b
cmp byte [ebp - 0x26], 0
jne 0x5a9e0b
cmp dword [ebp - 0x10], 0
jl 0x5a9e06
lea eax, [ebp - 0x48]
call fcn.0040cd94
mov edx, dword [ebp - 0x30]
sub eax, dword [edx + 0x50]
cmp eax, dword [ebp - 0x18]
jl 0x5a9e06
xor eax, eax
jmp 0x5a9e08
mov al, 1
mov byte [ebp - 0x26], al
cmp byte [ebp - 0x26], 0
je 0x5a9e39
cmp byte [ebp - 0x27], 0
jne 0x5a9e39
cmp dword [ebp - 0x14], 0
jl 0x5a9e34
lea eax, [ebp - 0x48]
call fcn.0040cd9c
mov edx, dword [ebp - 0x2c]
sub eax, dword [edx + 0x54]
cmp eax, dword [ebp - 0x1c]
jl 0x5a9e34
xor eax, eax
jmp 0x5a9e36
mov al, 1
mov byte [ebp - 0x27], al
cmp byte [ebp - 0x26], 0
je 0x5a9e97
mov eax, dword [ebp - 0x2c]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a9e97
push 0x40
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x54]
push eax
lea eax, [ebp - 0x48]
call fcn.0040cd94
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.004fbeb0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 0x2c]
call fcn.004fbeb0
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
jmp 0x5a9ec3
cmp byte [ebp - 0x26], 0
jne 0x5a9ec3
mov eax, dword [ebp - 0x2c]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a9ec3
push 0
mov eax, dword [ebp - 0x2c]
call fcn.004fbeb0
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
cmp byte [ebp - 0x27], 0
je 0x5a9f67
mov eax, dword [ebp - 0x30]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5a9f67
cmp byte [ebp - 0x26], 0
je 0x5a9f21
push 0x40
lea eax, [ebp - 0x48]
call fcn.0040cd9c
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.004fbeb0
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5a9f51
push 0x40
lea eax, [ebp - 0x48]
call fcn.0040cd9c
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.004fbeb0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 0x30]
call fcn.004fbeb0
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
jmp 0x5a9f93
cmp byte [ebp - 0x27], 0
jne 0x5a9f93
mov eax, dword [ebp - 0x30]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5a9f93
push 0
mov eax, dword [ebp - 0x30]
call fcn.004fbeb0
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
lea eax, [ebp - 0x48]
call fcn.0040cd94
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x48]
call fcn.0040cd9c
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
call fcn.005aa418
mov eax, dword [ebp - 0x2c]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5aa071
cmp dword [ebp - 0x10], 0
jle 0x5a9fd2
xor eax, eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x48]
call fcn.0040cd94
cmp eax, dword [ebp - 0x18]
jle 0x5a9fea
lea eax, [ebp - 0x48]
call fcn.0040cd94
mov dword [ebp - 0x18], eax
cmp byte [ebp - 5], 0
je 0x5aa05d
mov eax, dword [ebp - 4]
mov byte [eax + 0x98], 1
mov eax, dword [ebp - 0x30]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5aa01f
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
sub edx, dword [eax + 0x50]
mov eax, dword [ebp - 0x2c]
call fcn.0050f5e8
jmp 0x5aa02a
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
call fcn.0050f5e8
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.0050f3a0
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.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5aa131
cmp dword [ebp - 0x14], 0
jle 0x5aa092
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x48]
call fcn.0040cd9c
cmp eax, dword [ebp - 0x1c]
jle 0x5aa0aa
lea eax, [ebp - 0x48]
call fcn.0040cd9c
mov dword [ebp - 0x1c], eax
cmp byte [ebp - 5], 0
je 0x5aa11d
mov eax, dword [ebp - 4]
mov byte [eax + 0x99], 1
mov eax, dword [ebp - 0x2c]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5aa0df
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
sub edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x30]
call fcn.0050f5e8
jmp 0x5aa0ea
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
call fcn.0050f5e8
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.0050f3a0
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.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5aa159
mov eax, dword [ebp - 0x30]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5aa159
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x2c]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5aa1e7
mov eax, dword [ebp - 0x30]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5aa1e7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5aa1e7
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.004fbeb0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.004fbeb0
push eax
call sub.user32.dll_ShowWindow
jmp 0x5aa239
mov eax, dword [ebp - 0x2c]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5aa223
mov eax, dword [ebp - 0x30]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5aa239
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.004fbeb0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5aa239
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.004fbeb0
push eax
call sub.user32.dll_ShowWindow
cmp byte [ebp - 0x25], 0
je 0x5aa24a
mov dl, byte [ebp - 5]
mov eax, dword [ebp - 4]
call fcn.005a9bbc
mov esp, ebp
pop ebp
ret