Function at 0x4c8040
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov edi, edx
mov esi, eax
mov ebx, 0x522bd0
cmp dword [ebx], 0
je 0x4c806c
mov eax, dword [ebx]
cmp dword [eax + 0x7c], 0
je 0x4c806c
mov eax, dword [ebx]
add eax, 0x7c
call fcn.0040e16c
mov eax, dword [ebp - 4]
mov ecx, 0xc
cdq
idiv ecx
test eax, eax
jne 0x4c809a
test esi, esi
je 0x4c8086
mov eax, esi
call fcn.00403528
test edi, edi
je 0x4c82fb
mov eax, edi
call fcn.00403528
jmp 0x4c82fb
cmp dword [ebx], 0
jne 0x4c80b5
mov ecx, dword [0x523280]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x4c6fcc]
call fcn.004cc53c
mov dword [ebx], eax
mov eax, dword [ebx]
mov edx, dword [ebp + 8]
mov dword [eax + 0x74], edx
mov eax, dword [ebx]
mov byte [eax + 0xd5], 0
mov eax, dword [ebx]
xor edx, edx
mov dword [eax + 0xcc], edx
mov eax, dword [ebx]
mov eax, dword [eax + 0xe8]
test eax, eax
je 0x4c80ec
cmp edi, eax
je 0x4c80ec
mov eax, dword [ebx]
add eax, 0xe8
call fcn.0040e16c
mov eax, dword [ebx]
mov dword [eax + 0xe8], edi
mov eax, dword [ebx]
mov edx, dword [ebp + 0x10]
mov dword [eax + 0xc8], edx
mov eax, dword [ebx]
mov dword [eax + 0x7c], esi
mov eax, dword [ebx]
mov dl, byte [ebp + 0xc]
mov byte [eax + 0xd4], dl
mov edx, 0xc
mov eax, dword [ebx]
call fcn.00484008
mov eax, dword [ebp - 4]
mov ecx, 0xc
cdq
idiv ecx
mov edx, dword [ebx]
mov dword [edx + 0xd0], eax
lea edx, [ebp - 0xc]
mov eax, dword [ebx]
mov eax, dword [eax + 0xe8]
call fcn.00506070
mov eax, dword [ebx]
mov edx, dword [ebp - 0xc]
mov dword [eax + 0x80], edx
mov edx, dword [ebp - 8]
mov dword [eax + 0x84], edx
lea ecx, [ebp - 0xc]
xor edx, edx
xor eax, eax
call fcn.005060bc
mov eax, dword [ebx]
mov edx, dword [ebp - 0xc]
mov dword [eax + 0x88], edx
mov edx, dword [ebp - 8]
mov dword [eax + 0x8c], edx
mov al, byte [ebp + 0x10]
mov edx, dword [ebx]
mov byte [edx + 0x92], al
mov eax, dword [ebx]
mov byte [eax + 0x90], 0
mov eax, dword [ebx]
mov byte [eax + 0x91], 0
mov eax, dword [ebx]
mov byte [eax + 0x93], 1
push 0
call sub.user32.dll_GetDC
mov edx, dword [ebx]
mov dword [edx + 0x78], eax
push 0xffffffffffffffec
mov eax, esi
call fcn.0045fda0
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x80000
or eax, 0x8000000
push eax
push 0xffffffffffffffec
mov eax, esi
call fcn.0045fda0
push eax
call sub.user32.dll_SetWindowLongA
push 2
mov eax, dword [ebx]
add eax, 0x90
push eax
push 0x1fffffff
mov eax, dword [ebx]
add eax, 0x88
push eax
mov eax, edi
call fcn.004280e0
call fcn.00423730
push eax
mov eax, dword [ebx]
add eax, 0x80
push eax
push 0
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
push eax
mov eax, esi
call fcn.0045fda0
push eax
mov eax, dword [0x522f78]
mov eax, dword [eax]
call eax
push 4
mov eax, esi
call fcn.0045fda0
push eax
call sub.user32.dll_ShowWindow
or edi, 0xffffffff
push 0x318
mov eax, dword [ebx]
mov eax, dword [eax + 0x84]
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [esi + 0x44]
push eax
mov eax, dword [esi + 0x40]
push eax
push edi
mov eax, esi
call fcn.0045fda0
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebx]
cmp dword [eax + 0xec], 0
je 0x4c8268
mov eax, dword [ebx]
add eax, 0xec
call fcn.0040e16c
mov eax, dword [ebx]
add eax, 0x80
call fcn.00510e78
mov edx, dword [ebx]
mov dword [edx + 0xec], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x78]
push eax
push 0
call sub.user32.dll_ReleaseDC
mov eax, dword [ebx]
call fcn.004cc3bc
mov eax, dword [0x523280]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
jne 0x4c82e9
mov eax, dword [ebx]
push eax
push fcn.004cc5cc
mov eax, dword [ebx]
call fcn.00484030
mov eax, dword [ebx]
xor edx, edx
mov dword [eax + 0xcc], edx
mov edx, dword [ebx]
mov eax, dword [ebx]
call fcn.004cc5cc
mov dl, 1
mov eax, dword [ebx]
call fcn.00483ff8
jmp 0x4c82fb
call sub.kernel32.dll_GetTickCount
mov esi, eax
mov edx, dword [ebx]
mov eax, dword [ebx]
call fcn.004cc5cc
call sub.kernel32.dll_GetTickCount
lea edx, [esi + 0xc]
cmp eax, edx
jb 0x4c82dd
mov eax, dword [ebx]
mov eax, dword [eax + 0xcc]
mov edx, dword [ebx]
cmp eax, dword [edx + 0xd0]
jle 0x4c82cd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc