Function at 0x50f010
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa8
push ebx
push esi
push edi
mov esi, eax
mov eax, edx
mov dword [esi + 0x2a4], eax
push eax
call sub.USER32.DLL_GetParent
mov dword [ebp - 4], eax
lea eax, [ebp - 0x58]
xor ecx, ecx
mov edx, 0x3c
call fcn.0042b3e0
mov dword [ebp - 0x58], 0x3c
movzx eax, byte [esi + 0x2b0]
cmp al, 1
jne 0x50f06e
lea eax, [ebp - 0x58]
push eax
mov eax, dword [esi + 0x2ac]
mov eax, dword [eax + 0x4c]
mov ecx, 0xfffffffb
mov edx, dword [esi + 0x2a4]
call fcn.004ecdc8
mov ebx, eax
jmp 0x50f0a3
test al, al
jne 0x50f093
lea eax, [ebp - 0x58]
push eax
mov eax, dword [esi + 0x2ac]
mov eax, dword [eax + 0x4c]
mov ecx, 0xfffffffa
mov edx, dword [esi + 0x2a4]
call fcn.004ecdc8
mov ebx, eax
jmp 0x50f0a3
cmp al, 2
jne 0x50f0a3
lea edx, [ebp - 0x58]
mov eax, esi
call fcn.0050f4a8
mov ebx, eax
mov byte [esi + 0x2c1], bl
test bl, bl
je 0x50f2a9
push 0xfffffffffffffff0
mov eax, dword [esi + 0x2a4]
push eax
call sub.USER32.DLL_GetWindowLongA
test eax, 0x10000000
jne 0x50f0e1
mov byte [esi + 0x2c1], 0
push 0
mov eax, esi
call fcn.004864d4
push eax
call sub.USER32.DLL_ShowWindow
jmp 0x50f2a9
test dword [ebp - 0x34], 0x8000
jbe 0x50f11f
cmp dword [esi + 0x294], 1
jne 0x50f104
push 0
mov eax, esi
call fcn.004864d4
push eax
call sub.USER32.DLL_ShowWindow
jmp 0x50f113
push 0
mov eax, esi
call fcn.004864d4
push eax
call sub.USER32.DLL_ShowWindow
mov byte [esi + 0x2c1], 0
jmp 0x50f2a9
push esi
lea esi, [ebp - 0x54]
lea edi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi + 0x2a4]
push eax
call sub.USER32.DLL_ScreenToClient
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x2b1], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x2b5], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi + 0x2a4]
push eax
call sub.USER32.DLL_ScreenToClient
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x2b9], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x2bd], eax
mov eax, dword [ebp - 0x18]
neg eax
push eax
mov eax, dword [ebp - 0x1c]
neg eax
push eax
lea eax, [ebp - 0x1c]
push eax
call sub.USER32.DLL_OffsetRect
cmp dword [esi + 0x294], 1
jne 0x50f1b0
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x270], eax
jmp 0x50f1b9
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x270], eax
lea ecx, [ebp - 0xc]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
call fcn.00408b18
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x27c], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x280], eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.USER32.DLL_ScreenToClient
push 3
mov eax, dword [esi + 0x2a4]
push eax
call sub.USER32.DLL_GetWindow
mov ebx, eax
test ebx, ebx
jne 0x50f1fc
xor ebx, ebx
push 5
mov eax, esi
call fcn.004864d4
push eax
call sub.USER32.DLL_ShowWindow
mov byte [esi + 0x2c1], 1
cmp byte [esi + 0x2b0], 2
je 0x50f25c
push 0
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0xc]
push eax
push ebx
mov eax, esi
call fcn.004864d4
push eax
call sub.USER32.DLL_SetWindowPos
push 0xffffffffffffffff
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, esi
call fcn.004864d4
push eax
call sub.USER32.DLL_MoveWindow
jmp 0x50f2a9
lea ecx, [ebp - 0xc]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
call fcn.00408b18
push 0
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0xc]
push eax
push ebx
mov eax, esi
call fcn.004864d4
push eax
call sub.USER32.DLL_SetWindowPos
push 0xffffffffffffffff
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, esi
call fcn.004864d4
push eax
call sub.USER32.DLL_MoveWindow
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret