Function at 0x4ff606
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, 0x589798
mov esi, 0x5897a0
cmp dword [0x55a40c], 0
jne 0x4ffac8
mov dword [0x55a40c], 1
push esi
call sub.USER32.dll_GetCursorPos
push esi
push dword [0x55a3ec]
call sub.USER32.dll_ScreenToClient
mov eax, dword [0x55a408]
test eax, eax
je 0x4ff65a
push eax
call fcn.00514157
test eax, eax
jne 0x4ff65a
xor edx, edx
mov dword [0x55a408], edx
xor ecx, ecx
mov dword [0x589794], ecx
mov eax, dword [0x55b3c0]
mov dword [ebx], eax
jmp 0x4ff6ba
mov eax, dword [ebx]
cmp byte [eax + 0x664], 0
je 0x4ff6b0
push dword [esi + 4]
push dword [esi]
add eax, 0x84c
push eax
call sub.USER32.dll_PtInRect
test eax, eax
je 0x4ff6b0
push dword [ebx]
call fcn.00500b2d
mov edi, eax
mov dword [0x58979c], edi
test edi, edi
je 0x4ff6b0
mov eax, dword [ebx]
mov dword [eax + 0x860], 1
mov dword [0x589794], eax
jmp 0x4ff6bf
mov edx, dword [ebx]
mov ecx, dword [edx + 0x9d8]
mov dword [ebx], ecx
cmp dword [ebx], 0
jne 0x4ff66b
mov eax, dword [0x55b3c0]
mov dword [ebx], eax
jmp 0x4ff6fc
mov eax, dword [ebx]
cmp byte [eax + 0x664], 0
je 0x4ff6f2
cmp dword [eax + 0x860], 0
je 0x4ff6f2
cmp eax, dword [0x589794]
je 0x4ff6f2
xor edx, edx
mov dword [eax + 0x860], edx
push eax
call fcn.005010e4
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x9d8]
mov dword [ebx], eax
cmp dword [ebx], 0
jne 0x4ff6c8
mov eax, dword [0x589794]
mov dword [ebx], eax
push eax
call fcn.00514157
test eax, eax
jne 0x4ff716
xor edx, edx
mov dword [ebx], edx
cmp dword [0x55b3d0], 0
je 0x4ffa6a
cmp dword [ebx], 0
je 0x4ffa6a
cmp dword [0x55a3f8], 0
jne 0x4ffa6a
cmp dword [0x55a9ec], 0
je 0x4ffa6a
mov ecx, dword [ebx]
mov eax, dword [ecx]
cmp eax, dword [0x55b3d4]
jne 0x4ff770
mov edx, dword [ebx]
push dword [edx]
call sub.USER32.dll_IsIconic
test eax, eax
jne 0x4ff770
mov ecx, dword [ebx]
push dword [ecx]
call sub.USER32.dll_IsWindowVisible
test eax, eax
jne 0x4ffa6a
mov eax, dword [ebx]
cmp dword [eax + 0x864], 0
jne 0x4ff7e6
cmp dword [0x55a9e4], 0
je 0x4ff789
call fcn.00508ff4
mov edx, dword [0x55a408]
cmp edx, dword [ebx]
je 0x4ff7b3
cmp dword [0x55a400], 0
je 0x4ff7d2
xor ecx, ecx
mov dword [0x55a400], ecx
push 0x7e
push dword [0x55a3ec]
call sub.USER32.dll_KillTimer
jmp 0x4ff7d2
cmp dword [0x55a400], 0
jne 0x4ff7d2
push 0
push 0x32
push 0x7e
push dword [0x55a3ec]
call sub.USER32.dll_SetTimer
mov dword [0x55a400], eax
mov eax, dword [ebx]
mov dword [0x55a408], eax
xor edx, edx
mov dword [0x55a40c], edx
jmp 0x4ffac8
cmp dword [0x55a9e4], 0
je 0x4ff824
mov ecx, dword [ebx]
cmp ecx, dword [0x55a408]
jne 0x4ff824
cmp dword [0x55a400], 0
jne 0x4ff818
push 0
push 0x32
push 0x7e
push dword [0x55a3ec]
call sub.USER32.dll_SetTimer
mov dword [0x55a400], eax
xor eax, eax
mov dword [0x55a40c], eax
jmp 0x4ffac8
cmp dword [0x55a400], 0
je 0x4ff842
xor edx, edx
mov dword [0x55a400], edx
push 0x7e
push dword [0x55a3ec]
call sub.USER32.dll_KillTimer
cmp dword [0x55a404], 0
je 0x4ff860
xor ecx, ecx
mov dword [0x55a404], ecx
push 0x7f
push dword [0x55a3ec]
call sub.USER32.dll_KillTimer
cmp dword [ebp + 8], 0
jne 0x4ff89a
mov eax, dword [0x55a9e4]
test eax, eax
je 0x4ff877
push 0
push eax
call sub.USER32.dll_ShowWindow
push 0
push 0x32
push 0x7f
push dword [0x55a3ec]
call sub.USER32.dll_SetTimer
mov dword [0x55a404], eax
xor edx, edx
mov dword [0x55a40c], edx
jmp 0x4ffac8
mov ecx, dword [ebx]
mov dword [0x55a408], ecx
push 0
push 0x64
push 0x7f
push dword [0x55a3ec]
call sub.USER32.dll_SetTimer
mov dword [0x55a404], eax
mov eax, dword [0x55a3e0]
cmp eax, 3
jne 0x4ff8e0
add dword [esi], 0xa
add dword [esi + 4], 0xf
mov edx, dword [ebx]
mov eax, dword [edx + 0x850]
cmp eax, dword [esi + 4]
jl 0x4ff95e
inc eax
mov dword [esi + 4], eax
jmp 0x4ff95e
cmp eax, 2
jne 0x4ff928
add dword [esi], 0xa
add dword [esi + 4], 0xa
mov eax, dword [ebx]
mov edx, dword [eax + 0x84c]
cmp edx, dword [esi]
jl 0x4ff8fb
inc edx
mov dword [esi], edx
mov edx, dword [eax + 0x854]
cmp edx, dword [esi]
jg 0x4ff908
dec edx
mov dword [esi], edx
mov edx, dword [eax + 0x850]
cmp edx, dword [esi + 4]
jl 0x4ff917
inc edx
mov dword [esi + 4], edx
mov edx, dword [eax + 0x858]
cmp edx, dword [esi + 4]
jg 0x4ff95e
dec edx
mov dword [esi + 4], edx
jmp 0x4ff95e
dec eax
jne 0x4ff943
add dword [esi], 0xa
add dword [esi + 4], 8
mov eax, dword [ebx]
mov eax, dword [eax + 0x854]
cmp eax, dword [esi]
jg 0x4ff95e
dec eax
mov dword [esi], eax
jmp 0x4ff95e
sub dword [esi], 5
mov edx, dword [0x55a3bc]
sub dword [esi + 4], edx
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x84c]
cmp eax, dword [esi]
jl 0x4ff95e
inc eax
mov dword [esi], eax
push esi
push dword [0x55a3ec]
call sub.USER32.dll_ClientToScreen
push dword [ebx]
call fcn.00500b2d
mov edi, eax
mov dword [0x58979c], edi
test edi, edi
jne 0x4ff989
xor eax, eax
mov dword [0x55a40c], eax
jmp 0x4ffac8
mov byte [0x5899e8], 0
mov edi, dword [ebx]
cmp byte [edi + 0x64c], 3
jne 0x4ffa11
cmp byte [edi + 0x64d], 1
jne 0x4ff9de
push dword [edi]
call fcn.004f49c0
mov dword [0x5897a8], eax
cmp dword [0x5897a8], 0
je 0x4ffa11
mov eax, dword [0x5897a8]
push dword [eax + 0x35c]
push dword [0x58979c]
push 0x55a42c
push 0x5899e8
call sub.USER32.dll_wsprintfA
add esp, 0x10
jmp 0x4ffa11
mov edx, dword [ebx]
push dword [edx]
call fcn.00478a9c
mov edi, eax
mov dword [0x5897ac], edi
test edi, edi
je 0x4ffa11
push dword [edi + 0x358]
push dword [0x58979c]
push str._s__lu__
push 0x5899e8
call sub.USER32.dll_wsprintfA
add esp, 0x10
cmp byte [0x5899e8], 0
jne 0x4ffa45
mov eax, dword [0x58979c]
push esi
mov esi, 0x5899e8
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
push 0x5899e8
push 2
push 0
movzx eax, word [esi]
movzx edx, word [esi + 4]
shl edx, 0x10
or eax, edx
push eax
call fcn.00509038
xor ecx, ecx
mov dword [0x55a40c], ecx
jmp 0x4ffac8
cmp dword [ebp + 8], 2
jne 0x4ffa8d
cmp dword [0x55a400], 0
je 0x4ffa8d
xor eax, eax
mov dword [0x55a400], eax
push 0x7e
push dword [0x55a3ec]
call sub.USER32.dll_KillTimer
cmp dword [0x55a9e4], 0
je 0x4ffa9b
call fcn.00508ff4
xor edx, edx
mov dword [0x55a408], edx
cmp dword [0x55a404], 0
je 0x4ffac1
xor ecx, ecx
mov dword [0x55a404], ecx
push 0x7f
push dword [0x55a3ec]
call sub.USER32.dll_KillTimer
xor eax, eax
mov dword [0x55a40c], eax
pop edi
pop esi
pop ebx
pop ebp
ret 4