Function at 0x4f40f4
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 0x4f4782
cmp dword [ebp - 0x30], 0
je 0x4f4782
mov eax, dword [ebp - 0x30]
call fcn.00522924
test al, al
je 0x4f4782
mov eax, dword [ebp - 0x2c]
call fcn.00522924
test al, al
je 0x4f4782
mov eax, dword [ebp - 4]
call fcn.004f40b4
test al, al
je 0x4f41a5
mov eax, dword [ebp - 0x2c]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f417a
push 0
mov eax, dword [ebp - 0x2c]
call fcn.0052238c
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 0x30]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f4782
push 0
mov eax, dword [ebp - 0x30]
call fcn.0052238c
push eax
call sub.user32.dll_ShowWindow
jmp 0x4f4782
mov byte [ebp - 0x25], 0
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.004f4bf8
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.004f4fc0
call fcn.004e2e30
dec eax
test eax, eax
jl 0x4f42dd
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
call fcn.004f4fc0
mov edx, dword [ebp - 0xc]
call fcn.004e2e98
cmp byte [eax + 0x61], 0
je 0x4f42d1
mov eax, dword [ebp - 4]
call fcn.004f4fc0
mov edx, dword [ebp - 0xc]
call fcn.004e2e98
call fcn.0052238c
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x3c]
je 0x4f42d1
mov eax, dword [ebp - 4]
call fcn.004f4fc0
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x58]
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
call fcn.004e2e98
call fcn.0052238c
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.0040cecc
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x58]
jle 0x4f4287
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x54]
jle 0x4f4295
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x58]
call fcn.0040c7fc
add eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x18]
jle 0x4f42b3
lea eax, [ebp - 0x58]
call fcn.0040c7fc
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x58]
call fcn.0040c804
add eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x1c]
jle 0x4f42d1
lea eax, [ebp - 0x58]
call fcn.0040c804
add eax, dword [ebp - 0x54]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0xc]
dec dword [ebp - 0x34]
jne 0x4f41f1
cmp dword [ebp - 0x10], 0
jl 0x4f42f4
lea eax, [ebp - 0x48]
call fcn.0040c7fc
cmp eax, dword [ebp - 0x18]
jl 0x4f42f4
xor eax, eax
jmp 0x4f42f6
mov al, 1
mov byte [ebp - 0x26], al
cmp dword [ebp - 0x14], 0
jl 0x4f4310
lea eax, [ebp - 0x48]
call fcn.0040c804
cmp eax, dword [ebp - 0x1c]
jl 0x4f4310
xor eax, eax
jmp 0x4f4312
mov al, 1
mov byte [ebp - 0x27], al
cmp byte [ebp - 0x27], 0
je 0x4f4343
cmp byte [ebp - 0x26], 0
jne 0x4f4343
cmp dword [ebp - 0x10], 0
jl 0x4f433e
lea eax, [ebp - 0x48]
call fcn.0040c7fc
mov edx, dword [ebp - 0x30]
sub eax, dword [edx + 0x50]
cmp eax, dword [ebp - 0x18]
jl 0x4f433e
xor eax, eax
jmp 0x4f4340
mov al, 1
mov byte [ebp - 0x26], al
cmp byte [ebp - 0x26], 0
je 0x4f4371
cmp byte [ebp - 0x27], 0
jne 0x4f4371
cmp dword [ebp - 0x14], 0
jl 0x4f436c
lea eax, [ebp - 0x48]
call fcn.0040c804
mov edx, dword [ebp - 0x2c]
sub eax, dword [edx + 0x54]
cmp eax, dword [ebp - 0x1c]
jl 0x4f436c
xor eax, eax
jmp 0x4f436e
mov al, 1
mov byte [ebp - 0x27], al
cmp byte [ebp - 0x26], 0
je 0x4f43cf
mov eax, dword [ebp - 0x2c]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x4f43cf
push 0x40
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x54]
push eax
lea eax, [ebp - 0x48]
call fcn.0040c7fc
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.0052238c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 0x2c]
call fcn.0052238c
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
jmp 0x4f43fb
cmp byte [ebp - 0x26], 0
jne 0x4f43fb
mov eax, dword [ebp - 0x2c]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f43fb
push 0
mov eax, dword [ebp - 0x2c]
call fcn.0052238c
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
cmp byte [ebp - 0x27], 0
je 0x4f449f
mov eax, dword [ebp - 0x30]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x4f449f
cmp byte [ebp - 0x26], 0
je 0x4f4459
push 0x40
lea eax, [ebp - 0x48]
call fcn.0040c804
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.0052238c
push eax
call sub.user32.dll_SetWindowPos
jmp 0x4f4489
push 0x40
lea eax, [ebp - 0x48]
call fcn.0040c804
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.0052238c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 0x30]
call fcn.0052238c
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
jmp 0x4f44cb
cmp byte [ebp - 0x27], 0
jne 0x4f44cb
mov eax, dword [ebp - 0x30]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f44cb
push 0
mov eax, dword [ebp - 0x30]
call fcn.0052238c
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
lea eax, [ebp - 0x48]
call fcn.0040c7fc
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x48]
call fcn.0040c804
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
call fcn.004f4950
mov eax, dword [ebp - 0x2c]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f45a9
cmp dword [ebp - 0x10], 0
jle 0x4f450a
xor eax, eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x48]
call fcn.0040c7fc
cmp eax, dword [ebp - 0x18]
jle 0x4f4522
lea eax, [ebp - 0x48]
call fcn.0040c7fc
mov dword [ebp - 0x18], eax
cmp byte [ebp - 5], 0
je 0x4f4595
mov eax, dword [ebp - 4]
mov byte [eax + 0x98], 1
mov eax, dword [ebp - 0x30]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f4557
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
sub edx, dword [eax + 0x50]
mov eax, dword [ebp - 0x2c]
call fcn.004863b8
jmp 0x4f4562
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
call fcn.004863b8
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.00486170
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.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f4669
cmp dword [ebp - 0x14], 0
jle 0x4f45ca
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x48]
call fcn.0040c804
cmp eax, dword [ebp - 0x1c]
jle 0x4f45e2
lea eax, [ebp - 0x48]
call fcn.0040c804
mov dword [ebp - 0x1c], eax
cmp byte [ebp - 5], 0
je 0x4f4655
mov eax, dword [ebp - 4]
mov byte [eax + 0x99], 1
mov eax, dword [ebp - 0x2c]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f4617
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
sub edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x30]
call fcn.004863b8
jmp 0x4f4622
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
call fcn.004863b8
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.00486170
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.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x4f4691
mov eax, dword [ebp - 0x30]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x4f4691
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x2c]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f471f
mov eax, dword [ebp - 0x30]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f471f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x4f471f
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.0052238c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.0052238c
push eax
call sub.user32.dll_ShowWindow
jmp 0x4f4771
mov eax, dword [ebp - 0x2c]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f475b
mov eax, dword [ebp - 0x30]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x4f4771
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.0052238c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f4771
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.0052238c
push eax
call sub.user32.dll_ShowWindow
cmp byte [ebp - 0x25], 0
je 0x4f4782
mov dl, byte [ebp - 5]
mov eax, dword [ebp - 4]
call fcn.004f40f4
mov esp, ebp
pop ebp
ret