Function at 0x10055840
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100af97b
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
push ebx
push esi
push edi
mov eax, dword [0x100dbc1c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
cmp dword [ebp + 0xc], 0x3e8
mov dword [ebp - 0x14], 0
jne case.0x10055a26.513
mov eax, dword [ebx + 0x1ec]
mov edi, dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1005589a
push dword [eax + 4]
call edi
test eax, eax
jne 0x100558b5
mov eax, dword [ebx + 0x1f0]
test eax, eax
je 0x100559e6
push dword [eax + 4]
call edi
test eax, eax
je 0x100559e6
lea eax, [ebp - 0x20]
push eax
call fcn.1003b6a0
add esp, 4
cmp dword [eax], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], 1
je 0x100558ff
lea eax, [ebp - 0x28]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [eax]
mov dword [ebp - 4], 1
mov dword [ebp - 0x14], 3
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0xd], 1
test al, al
jne 0x10055903
mov byte [ebp - 0xd], 0
mov esi, dword [ebp - 0x24]
or ebx, 0xffffffff
test esi, esi
je 0x10055932
test byte [ebp - 0x14], 2
je 0x10055932
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x10055932
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x10055932
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x1005595f
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x1005595f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x1005595f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
cmp byte [ebp - 0xd], 0
je case.0x10055a26.513
lea eax, [ebp - 0x20]
push eax
call fcn.1003b6a0
add esp, 4
mov edi, dword [eax]
lea ecx, [ebp - 0xc0]
mov dword [ebp - 4], 2
call fcn.10015e70
mov esi, eax
push str.risk_or_wake_wnd_exist
push esi
mov byte [ebp - 4], 3
call fcn.10012080
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x14]
lea ecx, [ebp - 0xc0]
call fcn.10012280
mov esi, dword [ebp - 0x1c]
test esi, esi
je case.0x10055a26.513
mov eax, ebx
lock xadd dword [esi + 4], eax
jne case.0x10055a26.513
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne case.0x10055a26.513
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
jmp case.0x10055a26.513
mov eax, dword [ebx + 0x184]
xor esi, esi
test eax, eax
je 0x100559f5
mov esi, dword [eax + 4]
mov eax, dword [ebx + 0x188]
mov dword [ebp - 0x14], 0
test eax, eax
je 0x10055a0c
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x10]
add eax, 0xfffffe00
cmp eax, 0xa3
ja case.0x10055a26.513
movzx eax, byte [eax + 0x100561cc]
jmp dword [eax*4 + 0x100561b4]
cmp dword [ebx + 0x170], 0
je 0x10055b6b
lea eax, [ebp - 0x28]
push eax
call fcn.1003b6a0
add esp, 4
cmp dword [eax], 0
mov dword [ebp - 4], 4
mov dword [ebp - 0x14], 4
je 0x10055a84
lea eax, [ebp - 0x20]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [eax]
mov dword [ebp - 4], 5
mov dword [ebp - 0x14], 0xc
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0xd], 1
test al, al
jne 0x10055a88
mov byte [ebp - 0xd], 0
mov esi, dword [ebp - 0x1c]
or ebx, 0xffffffff
test esi, esi
je 0x10055ab7
test byte [ebp - 0x14], 8
je 0x10055ab7
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x10055ab7
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x10055ab7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x10055ae4
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x10055ae4
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x10055ae4
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
cmp byte [ebp - 0xd], 0
je case.0x10055a26.513
lea eax, [ebp - 0x20]
push eax
call fcn.1003b6a0
add esp, 4
mov edi, dword [eax]
lea ecx, [ebp - 0xc0]
mov dword [ebp - 4], 6
call fcn.10015e70
mov esi, eax
push str.disable_msg_mouse_move__return.
push esi
mov byte [ebp - 4], 7
call fcn.10012080
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x14]
lea ecx, [ebp - 0xc0]
call fcn.10012280
mov esi, dword [ebp - 0x1c]
test esi, esi
je case.0x10055a26.513
mov eax, ebx
lock xadd dword [esi + 4], eax
jne case.0x10055a26.513
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne case.0x10055a26.513
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
jmp case.0x10055a26.513
cmp dword [ebx + 0x174], 0
je 0x10055cb0
lea eax, [ebp - 0x28]
push eax
call fcn.1003b6a0
add esp, 4
cmp dword [eax], 0
mov ecx, 0x10
mov dword [ebp - 4], 8
mov dword [ebp - 0x14], ecx
je 0x10055bcd
lea eax, [ebp - 0x20]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [eax]
mov dword [ebp - 4], 9
mov dword [ebp - 0x14], 0x30
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
test al, al
je 0x10055bc8
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 0xd], 1
jmp 0x10055bd1
mov ecx, 0x30
mov byte [ebp - 0xd], 0
mov edi, dword [ebp - 0x1c]
or esi, 0xffffffff
test edi, edi
je 0x10055bff
test cl, 0x20
je 0x10055bff
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x10055bff
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x10055bff
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x10055c2c
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x10055c2c
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x10055c2c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp byte [ebp - 0xd], 0
je 0x10055ca1
lea eax, [ebp - 0x20]
push eax
call fcn.1003b6a0
add esp, 4
mov edi, dword [eax]
lea ecx, [ebp - 0xc0]
mov dword [ebp - 4], 0xa
call fcn.10015e70
mov esi, eax
push str.ignore_mouse_move
push esi
mov byte [ebp - 4], 0xb
call fcn.10012080
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x14]
lea ecx, [ebp - 0xc0]
call fcn.10012280
mov edi, dword [ebp - 0x1c]
test edi, edi
je 0x10055ca1
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x10055ca1
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x10055ca1
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov dword [ebx + 0x174], 0
jmp case.0x10055a26.513
mov esi, dword [0x100e0ef0]
test esi, esi
jne 0x10055cea
push 0x11c
call fcn.10076018
mov esi, eax
add esp, 4
mov dword [ebp - 0x14], esi
test esi, esi
je 0x10055ce2
push 0x11c
push 0
push esi
call fcn.100837f0
add esp, 0xc
jmp 0x10055ce4
xor esi, esi
mov dword [0x100e0ef0], esi
mov eax, dword [esi + 4]
cmp eax, 7
jae 0x10055d05
cmp eax, 6
jb 0x10055e43
cmp dword [esi + 8], 1
jbe 0x10055e43
call fcn.1003da40
test eax, eax
jne 0x10055e43
lea eax, [ebp - 0x28]
push eax
call fcn.1003b6a0
add esp, 4
cmp dword [eax], 0
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x14], 0x40
je 0x10055d5c
lea eax, [ebp - 0x20]
push eax
call fcn.1003b6a0
add esp, 4
mov ecx, dword [eax]
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x14], 0xc0
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 0xd], 1
test al, al
jne 0x10055d60
mov byte [ebp - 0xd], 0
mov esi, dword [ebp - 0x1c]
or ebx, 0xffffffff
test esi, esi
je 0x10055d8f
test byte [ebp - 0x14], 0x80
je 0x10055d8f
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x10055d8f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x10055d8f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x10055dbc
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x10055dbc
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x10055dbc
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
cmp byte [ebp - 0xd], 0
je case.0x10055a26.513
lea eax, [ebp - 0x20]
push eax
call fcn.1003b6a0
add esp, 4
mov edi, dword [eax]
lea ecx, [ebp - 0xc0]
mov dword [ebp - 4], 0xe
call fcn.10015e70
mov esi, eax
push str.mouse_not_in_iconzone
push esi
mov byte [ebp - 4], 0xf
call fcn.10012080
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x14]
lea ecx, [ebp - 0xc0]
call fcn.10012280
mov esi, dword [ebp - 0x1c]
test esi, esi
je case.0x10055a26.513
mov eax, ebx
lock xadd dword [esi + 4], eax
jne case.0x10055a26.513
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne case.0x10055a26.513
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
jmp case.0x10055a26.513
call fcn.10053070
mov ecx, eax
call fcn.10037d80
jmp case.0x10055a26.513
cmp dword [ebx + 0x15c], 0
je case.0x10055a26.513
mov ecx, ebx
call fcn.10059550
push 0x501
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_KillTimer]
test esi, esi
je 0x10055e9d
push esi
call edi
test eax, eax
je 0x10055e9d
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x10055e9d
push 0x600
push esi
call dword [sym.imp.USER32.dll_KillTimer]
jmp case.0x10055a26.513
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x10055ee2
push esi
call edi
test eax, eax
je 0x10055ee2
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x10055ee2
mov ecx, ebx
call fcn.10053880
call fcn.10021db0
mov ecx, eax
call fcn.10050540
push 0
push 0
push 1
push 0
push str.pop_big_disappear_icon_hover
call fcn.10021db0
mov ecx, eax
call fcn.1004fb80
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne case.0x10055a26.513
cmp dword [ebx + 0x16c], eax
jne 0x10055f05
mov dword [ebx + 0x178], 1
push 1
mov ecx, ebx
call fcn.100599c0
jmp case.0x10055a26.513
push 0x501
push dword [ebx + 4]
mov dword [ebx + 0x16c], 0
call dword [sym.imp.USER32.dll_KillTimer]
push 0
push 0x5dc
push 0x501
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.0x10055a26.513
test esi, esi
je 0x10055f79
push esi
call edi
test eax, eax
je 0x10055f79
push esi
mov esi, dword [sym.imp.USER32.dll_IsWindowVisible]
call esi
test eax, eax
je 0x10055f7f
mov ecx, ebx
call fcn.100538d0
mov ecx, ebx
call fcn.10059550
push 1
mov ecx, ebx
call fcn.100599c0
jmp case.0x10055a26.513
mov esi, dword [sym.imp.USER32.dll_IsWindowVisible]
cmp dword [ebx + 0x168], 0
je case.0x10055a26.513
mov ecx, ebx
call fcn.10053920
mov ecx, ebx
call fcn.10059550
push dword [ebx + 4]
call esi
test eax, eax
je 0x10056009
push 0
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 0
push 0
push 1
call fcn.10053070
mov ecx, eax
call fcn.10037eb0
mov eax, dword [ebx + 0x134]
mov esi, dword [ebx + 0x130]
sub eax, esi
sar eax, 2
test eax, eax
je 0x1005603b
mov esi, dword [esi + eax*4 - 4]
test esi, esi
je 0x1005603b
push esi
mov ecx, ebx
call fcn.10058ac0
lea eax, [esi + 0x34]
push eax
lea eax, [esi + 0x24]
push eax
call fcn.10021db0
mov ecx, eax
call fcn.1004fd70
mov dword [ebx + 0x16c], 1
jmp 0x1005603b
mov ecx, ebx
call fcn.10059550
push 0x501
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_KillTimer]
push 1
mov ecx, ebx
mov dword [ebx + 0x16c], 1
mov dword [ebx + 0x178], 1
call fcn.100599c0
push 0
push 0
push 1
push 0
push str.tray_flash_click
call fcn.10021db0
mov ecx, eax
call fcn.1004fb80
jmp case.0x10055a26.513
push 0
push 0
push 1
push 0
push str.tray_menu_show
call fcn.10021db0
mov ecx, eax
call fcn.1004fb80
mov eax, dword [ebx + 0x18c]
test eax, eax
jne 0x10056132
push 0x90
call fcn.10076018
add esp, 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0x10
test eax, eax
je 0x100560a6
mov ecx, eax
call fcn.1005fd70
mov ecx, eax
jmp 0x100560a8
xor ecx, ecx
mov eax, dword [ebx + 4]
mov dword [ebx + 0x18c], ecx
mov dword [ecx + 0x74], eax
mov ecx, dword [ebx + 0x18c]
mov eax, dword [ebx + 0x180]
mov dword [ebp - 4], 0xffffffff
mov dword [ecx + 0x8c], eax
mov esi, dword [ebx + 0x18c]
call fcn.10053740
cmp dword [eax + 0x30], 0
jne 0x100560ea
call fcn.10053740
mov dword [eax + 0x30], 0
call fcn.10053740
push dword [ebp - 0x14]
lea ecx, [esi + 0x20]
push ecx
push eax
push 0x100dd6b0
push 0x100e171c
call fcn.1002a320
add esp, 0x14
movzx eax, ax
mov ecx, esi
push 0
push eax
push 0
push 0x80000
push SysReAllocString
push 0
push 0
push 0
call fcn.1002b190
mov eax, dword [ebx + 0x18c]
test eax, eax
je case.0x10055a26.513
push dword [eax + 4]
call edi
test eax, eax
je case.0x10055a26.513
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push eax
mov dword [ebp - 0x14], 0
call dword [sym.imp.USER32.dll_GetCursorPos]
cmp dword [ebx + 0x180], 0
mov eax, 0x7d
push 0x40
mov ecx, 0x5f
cmovne ecx, eax
mov eax, dword [ebp - 0x14]
push ecx
push 0xc5
sub eax, ecx
push eax
mov eax, dword [ebp - 0x18]
add eax, 0xffffff3b
push eax
mov eax, dword [ebx + 0x18c]
push 0xffffffffffffffff
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [ebx + 0x18c]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10