Function at 0x409980
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x38
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
cmp eax, 0x7b
je 0x409ae8
ja 0x4099d8
cmp eax, 0x2b
je 0x409b30
ja 0x409a88
cmp eax, 0x10
je 0x409cb0
cmp eax, 0x21
jne 0x409a68
mov edi, 3
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
cmp eax, 0x126
je 0x409a4a
jbe 0x409a38
cmp eax, 0x400
je 0x409a71
cmp eax, 0x401
jne 0x409c90
mov ebx, dword [0x4133d8]
cmp ebx, 0x4133d8
je 0x409a27
lea esi, [esi]
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x409a1d
mov eax, ebx
call sym._hide_icon
mov eax, ebx
call sym._show_icon
mov ebx, dword [ebx]
cmp ebx, 0x4133d8
jne 0x409a08
xor edi, edi
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
cmp eax, 0x111
je 0x409c00
cmp eax, 0x117
jne 0x409ab0
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._menu_wndproc
mov edi, eax
jmp 0x4099c6
cmp eax, 3
jne 0x409c90
call sym._update_systray_balloon_position
xor edi, edi
lea esp, [ebp - 0xc]
pop ebx
mov eax, edi
pop esi
pop edi
pop ebp
ret 0x10
cmp eax, 0x46
je 0x409ce0
cmp eax, 0x4a
jne 0x409c90
mov edx, esi
mov eax, ecx
call sym._handle_incoming
mov edi, eax
jmp 0x4099c6
cmp eax, 0x7e
jne 0x409c90
mov ecx, dword [0x4135c8]
test ecx, ecx
je 0x409d28
mov eax, dword [0x4133b0]
or eax, dword [0x41348c]
je 0x409d28
call sym._do_show_systray
xor edi, edi
jmp 0x4099c6
mov dword [esp + 4], 0xfffffff4
mov dword [esp], ecx
call dword [sym.imp.user32.dll_GetWindowLongW]
sub esp, 8
test eax, eax
je 0x409a27
mov dword [esp + 0xc], esi
xor edi, edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x313
mov dword [esp], eax
call dword [sym.imp.user32.dll_SendNotifyMessageW]
sub esp, 0x10
jmp 0x409a29
mov ebx, dword [0x413664]
mov eax, dword [esi + 4]
cmp ebx, 0x413664
jne 0x409b5e
jmp 0x409a27
mov ebx, dword [ebx]
cmp ebx, 0x413664
je 0x409a27
cmp eax, dword [ebx + 8]
jne 0x409b50
lea edi, [ebp - 0x1c]
mov dword [esp + 4], edi
mov eax, dword [esi + 0x14]
mov dword [esp], eax
call dword [sym.imp.user32.dll_GetClientRect]
mov eax, dword [esi + 0x10]
sub esp, 8
shl eax, 9
mov dword [esp + 8], 4
and eax, 0x200
mov dword [esp + 4], edi
or eax, 0x2010
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x18]
mov dword [esp], eax
call dword [sym.imp.user32.dll_DrawFrameControl]
mov edx, dword [ebx + 8]
sub esp, 0x10
test edx, edx
je 0x409d48
cmp dword [ebx + 0x10], 1
mov dword [esp + 8], edi
sbb eax, eax
mov dword [esp + 0x14], 0
xor edi, edi
and eax, 0xf
mov dword [esp + 0x10], 0
add eax, 9
mov dword [esp + 0xc], 0
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x18]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_DrawCaptionTempW]
sub esp, 0x1c
jmp 0x409a29
mov eax, ecx
shr eax, 0x10
jne 0x409a27
cmp cx, 0x1a3
je 0x409d90
cmp cx, 0x1a0
je 0x409d90
mov dword [esp + 4], 0xfffffff4
mov dword [esp], esi
call dword [sym.imp.user32.dll_GetWindowLongW]
sub esp, 8
mov edi, eax
test eax, eax
je 0x409df8
mov dword [esp], eax
mov ebx, eax
call dword [sym.imp.user32.dll_IsIconic]
sub esp, 4
mov edi, eax
test eax, eax
jne 0x409e9f
mov eax, dword [sym.imp.user32.dll_IsWindowEnabled]
mov dword [esp], ebx
mov dword [ebp - 0x20], eax
call eax
sub esp, 4
test eax, eax
je 0x409e0a
call dword [sym.imp.user32.dll_GetForegroundWindow]
cmp ebx, eax
je 0x409eca
mov dword [esp], ebx
call dword [sym.imp.user32.dll_SetForegroundWindow]
sub esp, 4
jmp 0x4099c6
mov dword [ebp + 0x14], esi
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], edx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp dword [sym.imp.user32.dll_DefWindowProcW]
mov dword [esp], edx
xor edi, edi
mov dword [esp + 4], 0
call dword [sym.imp.user32.dll_ShowWindow]
sub esp, 8
call sym._hide_balloon.constprop.0
mov dword [0x4135c8], 0
jmp 0x4099c6
mov eax, dword [esi + 0x18]
test al, 0x40
je 0x409a27
mov edx, dword [0x4135c8]
test edx, edx
je 0x409d07
mov edx, dword [0x4133b0]
or edx, dword [0x41348c]
jne 0x409a27
test byte [0x413114], 8
jne 0x409dcc
and eax, 0xffffffbf
xor edi, edi
mov dword [esi + 0x18], eax
jmp 0x4099c6
mov eax, dword [0x4136c4]
mov dword [esp + 4], 0
xor edi, edi
mov dword [esp], eax
call dword [sym.imp.user32.dll_ShowWindow]
sub esp, 8
jmp 0x4099c6
mov dword [esp + 8], edi
xor edi, edi
mov dword [esp + 0x18], 0x1c
mov dword [esp + 0x14], 0x4135e0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov eax, dword [esi + 0x18]
mov dword [esp], 0
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_DrawCaptionTempW]
sub esp, 0x1c
jmp 0x409a29
test byte [0x413114], 1
je 0x409a27
mov dword [esp + 0x10], ecx
xor edi, edi
mov dword [esp + 0xc], str.Shell_command__u_is_not_supported._n
mov dword [esp + 8], str.shell_traywnd_proc
mov dword [esp + 4], 0x413114
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_4
jmp 0x4099c6
mov dword [esp + 0xc], str.WM_WINDOWPOSCHANGING_clearing_SWP_SHOWWINDOW._n
mov dword [esp + 8], str.shell_traywnd_proc
mov dword [esp + 4], 0x413114
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_4
mov eax, dword [esi + 0x18]
jmp 0x409d14
mov eax, dword [0x4136c4]
mov dword [esp], eax
call sym._do_startmenu
jmp 0x4099c6
call dword [sym.imp.user32.dll_GetDesktopWindow]
mov dword [esp + 4], 5
mov dword [esp], eax
mov eax, dword [sym.imp.user32.dll_GetWindow]
mov dword [ebp - 0x28], eax
call eax
sub esp, 8
mov esi, eax
test eax, eax
je 0x409ef3
cmp ebx, eax
je 0x409ef3
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x28]
jmp 0x409e62
mov dword [esp], esi
mov dword [esp + 4], 2
call edi
sub esp, 8
mov esi, eax
test eax, eax
je 0x409e95
cmp ebx, eax
je 0x409e95
mov dword [esp], esi
call dword [sym.imp.user32.dll_IsWindowVisible]
sub esp, 4
test eax, eax
je 0x409e48
mov dword [esp], esi
mov eax, dword [ebp - 0x20]
call eax
sub esp, 4
test eax, eax
je 0x409e48
mov dword [esp + 4], 4
mov dword [esp], esi
call edi
sub esp, 8
cmp ebx, eax
jne 0x409e48
mov edi, dword [ebp - 0x24]
mov ebx, esi
jmp 0x409c7d
mov dword [esp + 0xc], 0
xor edi, edi
mov dword [esp + 8], 0xf120
mov dword [esp + 4], 0x112
mov dword [esp], ebx
call dword [sym.imp.user32.dll_SendMessageW]
sub esp, 0x10
jmp 0x4099c6
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf020
mov dword [esp + 4], 0x112
mov dword [esp], ebx
call dword [sym.imp.user32.dll_SendMessageW]
sub esp, 0x10
jmp 0x4099c6
mov ebx, esi
jmp 0x409c7d