Function at 0x4d5c90
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x3f8
push ebx
push ebp
push esi
push edi
call fcn.004ce790
mov eax, dword [0x5a1b04]
push eax
call dword [sym.imp.USER32.dll_GetTopWindow]
mov esi, eax
test esi, esi
mov dword [esp + 0x18], esi
je 0x4d5ce6
push esi
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x4d5ce6
mov ecx, dword [0x5a1b04]
push 0
push 0
push 0xb
push ecx
mov dword [esp + 0x2c], 1
call dword [sym.imp.USER32.dll_SendMessageA]
push 1
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x4d5cee
mov dword [esp + 0x1c], 0
mov edx, dword [0x5a1b00]
mov edi, dword [sym.imp.USER32.dll_GetSystemMenu]
push 1
push edx
call edi
mov eax, dword [0x5a1b00]
push 0
push eax
call edi
mov ebp, eax
test ebp, ebp
je 0x4d6047
xor edx, edx
mov ecx, 0x17f4
call fcn.0041c9e0
mov ebx, dword [sym.imp.USER32.dll_InsertMenuA]
push eax
push 0x109
push 0x409
push 0
push ebp
call ebx
xor edx, edx
mov ecx, 0x17f3
call fcn.0041c9e0
mov ecx, dword [0x59b468]
neg ecx
push eax
sbb ecx, ecx
push 0x105
and ecx, 8
or ecx, 0x400
push ecx
push 1
push ebp
call ebx
push 0x574b10
push 0
push 0xc00
push 2
push ebp
call ebx
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov esi, eax
test esi, esi
je 0x4d5e28
xor edx, edx
mov ecx, 0x17d5
call fcn.0041c9e0
mov edi, dword [sym.imp.USER32.dll_AppendMenuA]
push eax
push 0x100
push 0
push esi
call edi
xor edx, edx
mov ecx, 0x17d6
call fcn.0041c9e0
push eax
push 0x101
push 0
push esi
call edi
xor edx, edx
mov ecx, 0x17d7
call fcn.0041c9e0
push eax
push 0xfa
push 0
push esi
call edi
xor edx, edx
mov ecx, 0x17d8
call fcn.0041c9e0
push eax
push esi
push 0x410
push 3
push ebp
call ebx
push 0x574b10
push 0
push 0xc00
push 4
push ebp
call ebx
mov eax, dword [0x5990c4]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_LoadMenuA]
mov dword [esp + 0x14], 5
je 0x4d5e17
push 0x3c
push eax
call edi
mov esi, eax
test esi, esi
jne 0x4d5e35
mov edx, dword [0x5a1afc]
push 0x3c
push edx
call edi
mov esi, eax
test esi, esi
jne 0x4d5e35
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3f8
ret
mov al, byte [0x598858]
test al, al
je 0x4d5e4c
push 0
push 0xc3
push esi
call dword [sym.imp.USER32.dll_DeleteMenu]
mov eax, dword [0x589b38]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_CheckMenuItem]
je 0x4d5e5f
push 8
jmp 0x4d5e61
push 0
push 0x6e
push esi
call edi
mov eax, dword [0x589c08]
test eax, eax
je 0x4d5e73
push 8
jmp 0x4d5e75
push 0
push 0x6f
push esi
call edi
mov eax, dword [0x589bd0]
test eax, eax
je 0x4d5e87
push 8
jmp 0x4d5e89
push 0
push 0x70
push esi
call edi
mov eax, dword [0x589b34]
test eax, eax
je 0x4d5ea2
push 8
push 0x78
push esi
call edi
push 0
jmp 0x4d5eab
push 0
push 0x78
push esi
call edi
push 8
push 0x79
push esi
call edi
mov eax, dword [0x598b90]
test eax, eax
je 0x4d5eca
push eax
call dword [sym.imp.USER32.dll_DestroyMenu]
mov dword [0x598b90], 0
mov eax, dword [0x589b38]
test eax, eax
je 0x4d5efd
mov eax, dword [0x5a1b00]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
mov ecx, dword [0x5a1b00]
push esi
push ecx
mov edi, eax
call dword [sym.imp.USER32.dll_SetMenu]
test edi, edi
je 0x4d5fbd
push edi
jmp 0x4d5fb7
mov edx, dword [0x5a1b00]
push edx
call dword [sym.imp.USER32.dll_GetMenu]
mov edi, eax
mov eax, dword [0x5a1b00]
push 0
push eax
call dword [sym.imp.USER32.dll_SetMenu]
push edi
call dword [sym.imp.USER32.dll_DestroyMenu]
push 0
push esi
mov dword [esp + 0x18], 0
call dword [sym.imp.USER32.dll_GetSubMenu]
mov edi, eax
test edi, edi
je 0x4d5f9a
jmp 0x4d5f40
push 0x400
push 0x3e7
lea ecx, [esp + 0x28]
push ecx
push 0
push esi
call dword [sym.imp.USER32.dll_GetMenuStringA]
test eax, eax
jle 0x4d5f9a
push 0x400
push 0
push esi
call dword [sym.imp.USER32.dll_RemoveMenu]
lea edx, [esp + 0x20]
push edx
push edi
mov edi, dword [esp + 0x1c]
push 0x410
push edi
push ebp
call ebx
inc edi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x10]
push 0
inc edi
push esi
mov dword [esp + 0x18], edi
call dword [sym.imp.USER32.dll_GetSubMenu]
mov edi, eax
test edi, edi
jne 0x4d5f40
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4d5fb6
mov eax, dword [esp + 0x14]
push 0x574b10
push 0
push 0xc00
push eax
push ebp
call ebx
push esi
call dword [sym.imp.USER32.dll_DestroyMenu]
mov edx, 1
xor ecx, ecx
call fcn.004cd550
mov eax, dword [0x589b34]
test eax, eax
jne 0x4d6043
call fcn.004d4c00
mov esi, eax
test esi, esi
je 0x4d6043
lea edx, [esp + 0x10]
mov ecx, 0x8e
call fcn.004d5c10
mov ebp, eax
test ebp, ebp
je 0x4d6043
xor edx, edx
mov ecx, 0x9f
call fcn.004d5c10
mov edi, eax
test edi, edi
je 0x4d6043
mov edx, dword [esp + 0x10]
push 0x400
push 0x3e7
lea ecx, [esp + 0x28]
push ecx
push edx
push esi
call dword [sym.imp.USER32.dll_GetMenuStringA]
test eax, eax
jle 0x4d6043
mov eax, dword [esp + 0x10]
push 0x400
push eax
push esi
call dword [sym.imp.USER32.dll_RemoveMenu]
lea ecx, [esp + 0x20]
push ecx
push ebp
push 0x410
push 0
push edi
call ebx
mov esi, dword [esp + 0x18]
mov edx, dword [0x5a1b00]
push edx
call dword [sym.imp.USER32.dll_DrawMenuBar]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4d6092
push 3
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x5a1b04]
push 0
push 1
push 0xb
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, esi
call fcn.005366c0
mov ecx, eax
call fcn.00491bf0
mov ecx, dword [0x5a1b00]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x3f8
ret