Function at 0x4f40f8
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 0x4f4786
cmp dword [ebp - 0x30], 0
je 0x4f4786
mov eax, dword [ebp - 0x30]
call fcn.00522928
test al, al
je 0x4f4786
mov eax, dword [ebp - 0x2c]
call fcn.00522928
test al, al
je 0x4f4786
mov eax, dword [ebp - 4]
call fcn.004f40b8
test al, al
je 0x4f41a9
mov eax, dword [ebp - 0x2c]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f417e
push 0
mov eax, dword [ebp - 0x2c]
call fcn.00522390
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 0x30]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f4786
push 0
mov eax, dword [ebp - 0x30]
call fcn.00522390
push eax
call sub.user32.dll_ShowWindow
jmp 0x4f4786
mov byte [ebp - 0x25], 0
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.004f4bfc
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.004f4fc4
call fcn.004e2e34
dec eax
test eax, eax
jl 0x4f42e1
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
call fcn.004f4fc4
mov edx, dword [ebp - 0xc]
call fcn.004e2e9c
cmp byte [eax + 0x61], 0
je 0x4f42d5
mov eax, dword [ebp - 4]
call fcn.004f4fc4
mov edx, dword [ebp - 0xc]
call fcn.004e2e9c
call fcn.00522390
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x3c]
je 0x4f42d5
mov eax, dword [ebp - 4]
call fcn.004f4fc4
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x58]
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
call fcn.004e2e9c
call fcn.00522390
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 0x4f428b
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x54]
jle 0x4f4299
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 0x4f42b7
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 0x4f42d5
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 0x4f41f5
cmp dword [ebp - 0x10], 0
jl 0x4f42f8
lea eax, [ebp - 0x48]
call fcn.0040c7fc
cmp eax, dword [ebp - 0x18]
jl 0x4f42f8
xor eax, eax
jmp 0x4f42fa
mov al, 1
mov byte [ebp - 0x26], al
cmp dword [ebp - 0x14], 0
jl 0x4f4314
lea eax, [ebp - 0x48]
call fcn.0040c804
cmp eax, dword [ebp - 0x1c]
jl 0x4f4314
xor eax, eax
jmp 0x4f4316
mov al, 1
mov byte [ebp - 0x27], al
cmp byte [ebp - 0x27], 0
je 0x4f4347
cmp byte [ebp - 0x26], 0
jne 0x4f4347
cmp dword [ebp - 0x10], 0
jl 0x4f4342
lea eax, [ebp - 0x48]
call fcn.0040c7fc
mov edx, dword [ebp - 0x30]
sub eax, dword [edx + 0x50]
cmp eax, dword [ebp - 0x18]
jl 0x4f4342
xor eax, eax
jmp 0x4f4344
mov al, 1
mov byte [ebp - 0x26], al
cmp byte [ebp - 0x26], 0
je 0x4f4375
cmp byte [ebp - 0x27], 0
jne 0x4f4375
cmp dword [ebp - 0x14], 0
jl 0x4f4370
lea eax, [ebp - 0x48]
call fcn.0040c804
mov edx, dword [ebp - 0x2c]
sub eax, dword [edx + 0x54]
cmp eax, dword [ebp - 0x1c]
jl 0x4f4370
xor eax, eax
jmp 0x4f4372
mov al, 1
mov byte [ebp - 0x27], al
cmp byte [ebp - 0x26], 0
je 0x4f43d3
mov eax, dword [ebp - 0x2c]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x4f43d3
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.00522390
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 0x2c]
call fcn.00522390
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
jmp 0x4f43ff
cmp byte [ebp - 0x26], 0
jne 0x4f43ff
mov eax, dword [ebp - 0x2c]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f43ff
push 0
mov eax, dword [ebp - 0x2c]
call fcn.00522390
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
cmp byte [ebp - 0x27], 0
je 0x4f44a3
mov eax, dword [ebp - 0x30]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x4f44a3
cmp byte [ebp - 0x26], 0
je 0x4f445d
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.00522390
push eax
call sub.user32.dll_SetWindowPos
jmp 0x4f448d
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.00522390
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 0x30]
call fcn.00522390
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
jmp 0x4f44cf
cmp byte [ebp - 0x27], 0
jne 0x4f44cf
mov eax, dword [ebp - 0x30]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f44cf
push 0
mov eax, dword [ebp - 0x30]
call fcn.00522390
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.004f4954
mov eax, dword [ebp - 0x2c]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f45ad
cmp dword [ebp - 0x10], 0
jle 0x4f450e
xor eax, eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x48]
call fcn.0040c7fc
cmp eax, dword [ebp - 0x18]
jle 0x4f4526
lea eax, [ebp - 0x48]
call fcn.0040c7fc
mov dword [ebp - 0x18], eax
cmp byte [ebp - 5], 0
je 0x4f4599
mov eax, dword [ebp - 4]
mov byte [eax + 0x98], 1
mov eax, dword [ebp - 0x30]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f455b
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
sub edx, dword [eax + 0x50]
mov eax, dword [ebp - 0x2c]
call fcn.004863b8
jmp 0x4f4566
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.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f466d
cmp dword [ebp - 0x14], 0
jle 0x4f45ce
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x48]
call fcn.0040c804
cmp eax, dword [ebp - 0x1c]
jle 0x4f45e6
lea eax, [ebp - 0x48]
call fcn.0040c804
mov dword [ebp - 0x1c], eax
cmp byte [ebp - 5], 0
je 0x4f4659
mov eax, dword [ebp - 4]
mov byte [eax + 0x99], 1
mov eax, dword [ebp - 0x2c]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f461b
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
sub edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x30]
call fcn.004863b8
jmp 0x4f4626
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.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x4f4695
mov eax, dword [ebp - 0x30]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x4f4695
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x2c]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f4723
mov eax, dword [ebp - 0x30]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f4723
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x4f4723
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.00522390
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00522390
push eax
call sub.user32.dll_ShowWindow
jmp 0x4f4775
mov eax, dword [ebp - 0x2c]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f475f
mov eax, dword [ebp - 0x30]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x4f4775
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00522390
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4f4775
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00522390
push eax
call sub.user32.dll_ShowWindow
cmp byte [ebp - 0x25], 0
je 0x4f4786
mov dl, byte [ebp - 5]
mov eax, dword [ebp - 4]
call fcn.004f40f8
mov esp, ebp
pop ebp
ret