Function at 0x477630
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x5fc150]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x28], ebx
call fcn.0040baa0
cmp byte [ebx + 0x6893c], 0
mov edi, eax
push 0
jne 0x477836
push 0xac02
push dword [ebx + 0x68934]
call dword [sym.imp.USER32.dll_GetMenuState]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 8
push 0
sete al
mov byte [ebx + 0x68945], al
mov eax, dword [ebx]
push 0
push 0x81c
push dword [eax + 0xc]
call esi
cmp eax, 1
setne al
mov byte [ebx + 0x68944], al
mov al, byte [edi + 0x59]
mov byte [ebx + 0x68946], al
cmp byte [edi + 0x59], 0
je 0x4776bc
mov eax, dword [ebx]
push 1
push 0
push 0x832
push dword [eax + 0xc]
call esi
cmp byte [ebx + 0x68944], 0
je 0x4776d5
mov eax, dword [ebx]
push 1
push 0
push 0x81b
push dword [eax + 0xc]
call esi
cmp byte [ebx + 0x68945], 0
jne 0x4776f1
mov eax, dword [ebx]
push 0
push 0xac02
push 0x111
push dword [eax + 0xc]
call esi
cmp byte [ebx + 0x6893d], 0
mov edi, 2
je 0x477706
mov edi, 3
jmp 0x477758
mov eax, dword [ebx]
push 0
push 0
push 0x831
push dword [eax + 0xc]
call esi
cmp eax, 1
setne al
mov byte [ebx + 0x6893e], al
test al, al
je 0x477736
mov eax, dword [ebx]
push 1
push 0
push 0x830
push dword [eax + 0xc]
call esi
mov eax, dword [ebx + 0x760]
lea ecx, [ebx + 0x760]
push 0
call dword [eax + 0xc]
mov eax, dword [ebx + 0x77c]
lea ecx, [ebx + 0x77c]
push 0
call dword [eax + 0xc]
cmp byte [ebx + 0x6893d], 0
mov dword [ebx + 0x68a7c], edi
jne 0x4777bc
mov eax, dword [ebx]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [eax + 0xc]
call esi
mov eax, dword [ebx]
push 0x80000000
push 0xfffffffffffffff0
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [ebx + 0x68940], eax
test eax, eax
jne 0x47779c
mov dword [ebx + 0x68940], 0x2cf0000
mov eax, dword [ebx]
push 0x27
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [ebx]
push 5
push dword [eax + 0xc]
call esi
movzx eax, byte [ebx + 0x308]
lea ecx, [ebx + 0x68a5c]
push eax
call fcn.0045d680
mov edi, dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x14]
push eax
push dword [ebx + 0x68a68]
call edi
mov ebx, dword [ebp - 0xc]
lea eax, [ebp - 0x24]
mov esi, dword [ebp - 8]
sub ebx, dword [ebp - 0x14]
sub esi, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
push dword [eax + 0xc]
call edi
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc eax
push 0
push esi
push ebx
push eax
lea eax, [ebx + ebx]
mov ebx, dword [ebp - 0x28]
sub ecx, eax
push ecx
push dword [ebx + 0x68a68]
call dword [sym.imp.USER32.dll_MoveWindow]
mov eax, dword [ebx + 0x580]
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SetFocus]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x47792f
mov eax, dword [ebx + 0x68a5c]
lea ecx, [ebx + 0x68a5c]
xor dword [ebx + 0x68a7c], 2
call dword [eax + 0xc]
cmp byte [ebx + 0x6893d], 0
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
jne 0x477896
cmp byte [ebx + 0x6893e], 0
je 0x477874
mov eax, dword [ebx]
push 0
push 0
push 0x830
push dword [eax + 0xc]
call edi
mov eax, dword [ebx + 0x760]
lea ecx, [ebx + 0x760]
push 1
call dword [eax + 0xc]
mov eax, dword [ebx + 0x77c]
lea ecx, [ebx + 0x77c]
push 1
call dword [eax + 0xc]
cmp byte [ebx + 0x68946], 0
je 0x4778af
mov eax, dword [ebx]
push 0
push 0
push 0x832
push dword [eax + 0xc]
call edi
cmp byte [ebx + 0x68944], 0
je 0x4778c8
mov eax, dword [ebx]
push 0
push 0
push 0x81b
push dword [eax + 0xc]
call edi
cmp byte [ebx + 0x68945], 0
jne 0x4778e4
mov eax, dword [ebx]
push 0
push 0xac02
push 0x111
push dword [eax + 0xc]
call edi
cmp byte [ebx + 0x6893d], 0
jne 0x47792f
mov eax, dword [ebx]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [eax + 0xc]
call esi
push dword [ebx + 0x68940]
mov eax, dword [ebx]
push 0xfffffffffffffff0
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov eax, dword [ebx]
push 0x27
push 0
push 0
push 0
push 0
push 0xfffffffffffffffe
push dword [eax + 0xc]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [ebx]
push 5
push dword [eax + 0xc]
call esi
cmp byte [ebx + 0x6893c], 0
push 0
sete al
mov byte [ebx + 0x6893c], al
mov eax, dword [ebx]
push 0
push 5
push dword [eax + 0xc]
call edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0052c233
mov esp, ebp
pop ebp
ret