Function at 0x49f139
Capabilities:
Hide graphical window

Disassembly:
push ecx
push ebx
push edi
mov edi, ecx
call fcn.0049f0e0
test al, al
je 0x49f38e
mov bl, byte [esp + 0x10]
cmp byte [edi + 0x2c], bl
jne 0x49f15b
mov al, bl
jmp 0x49f38e
push esi
mov esi, edi
neg esi
lea eax, [edi - 0x5b4]
sbb esi, esi
and esi, eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x49f1d7
test bl, bl
jne 0x49f1d7
push 0
push 0
push 0xb
mov byte [esp + 0x1b], 1
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
test bl, bl
mov ebx, dword [sym.imp.USER32.dll_GetWindowLongA]
push ebp
je 0x49f23f
mov ebp, dword [esi + 0x20]
test ebp, ebp
je 0x49f211
cmp dword [esp + 0x20], 0
je 0x49f1de
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.00446908
test ah, 2
je 0x49f211
push 0
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_ShowWindow]
push 1
lea ecx, [esi + 0x5b4]
call fcn.00483a99
jmp 0x49f211
and byte [esp + 0xf], 0
jmp 0x49f18f
push 0xfffffffffffffff0
push ebp
call ebx
and eax, 0x10000008
cmp eax, 0x10000000
jne 0x49f20d
push 0xfffffffffffffff0
push ebp
mov byte [edi + 0x34], 1
call ebx
mov ecx, eax
or ecx, 8
cmp eax, ecx
je 0x49f211
push ecx
push 0xfffffffffffffff0
push ebp
call dword [sym.imp.USER32.dll_SetWindowLongA]
jmp 0x49f211
and byte [edi + 0x34], 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetMenu]
test eax, eax
mov dword [edi + 0x30], eax
je 0x49f224
mov dword [edi + 0x38], eax
xor ebp, ebp
xor eax, eax
cmp byte [esp + 0x18], 0
mov byte [edi + 0x2d], al
je 0x49f24f
push dword [esp + 0x1c]
mov ecx, edi
call fcn.004a13e8
jmp 0x49f256
call fcn.004a136b
test al, al
je 0x49f224
push 1
xor ebp, ebp
pop eax
jmp 0x49f228
mov ecx, edi
call fcn.0049f5b6
cmp eax, ebp
mov dword [esp + 0x1c], eax
jl 0x49f34a
cmp byte [edi + 0x35], 0
je 0x49f26f
mov al, byte [esp + 0x18]
mov byte [edi + 0x1e], al
cmp byte [esp + 0x18], 0
je 0x49f295
push ebp
push ebp
push 5
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageA]
mov edi, dword [edi + 0x20]
push dword [esp + 0x24]
mov eax, dword [edi]
push edi
call dword [eax + 0x2c]
jmp 0x49f34e
cmp byte [edi + 0x2d], 0
jne 0x49f2a0
cmp dword [edi + 0x30], ebp
jne 0x49f2ad
push ebp
push ebp
push 5
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [edi + 0x30]
cmp eax, ebp
je 0x49f2c1
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetMenu]
mov dword [edi + 0x30], ebp
mov ebp, dword [esi + 0x20]
test ebp, ebp
je 0x49f34e
cmp dword [esp + 0x20], 0
je 0x49f309
push ebp
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x49f34e
push dword [esp + 0x20]
lea ecx, [edi + 8]
call fcn.00446908
test ah, 2
je 0x49f34e
push 8
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_ShowWindow]
push 1
lea ecx, [esi + 0x5b4]
call fcn.00483a99
jmp 0x49f34e
cmp byte [edi + 0x34], 0
push 0xfffffffffffffff0
push ebp
je 0x49f32d
call ebx
mov ecx, eax
and ecx, 0xfffffff7
cmp eax, ecx
je 0x49f327
push ecx
push 0xfffffffffffffff0
push ebp
call dword [sym.imp.USER32.dll_SetWindowLongA]
and byte [edi + 0x34], 0
jmp 0x49f338
call ebx
and eax, 8
mov dword [esp + 0x20], eax
je 0x49f34e
xor eax, eax
push 0x15
push eax
push eax
push eax
push eax
push eax
push ebp
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x49f34e
and byte [edi + 0x2d], 0
cmp byte [esp + 0x13], 0
pop ebp
je 0x49f376
xor edi, edi
push edi
push 1
push 0xb
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x585
push edi
push edi
push dword [esi + 4]
call dword [sym.imp.USER32.dll_RedrawWindow]
cmp dword [esp + 0x18], 0
pop esi
jl 0x49f385
movzx eax, byte [esp + 0x10]
jmp 0x49f38e
xor eax, eax
cmp byte [esp + 0x10], al
sete al
pop edi
pop ebx
pop ecx
ret 0x10