Function at 0x4c2bd4
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, 0x50c7ec
cmp dword [ebx], 0
je 0x4c2c00
mov eax, dword [ebx]
cmp dword [eax + 0x5c], 0
je 0x4c2c00
mov eax, dword [ebx]
add eax, 0x5c
call fcn.0040e7e8
mov eax, dword [ebp - 4]
mov ecx, 0xc
cdq
idiv ecx
test eax, eax
je 0x4c2e13
cmp dword [ebx], 0
jne 0x4c2c2e
mov ecx, dword [0x50cc98]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x4c1ce4]
call fcn.0048b3c4
mov dword [ebx], eax
mov eax, dword [ebx]
xor edx, edx
mov dword [eax + 0xac], edx
mov eax, dword [ebx]
mov dword [eax + 0xd0], edi
mov eax, dword [ebx]
mov edx, dword [ebp + 0xc]
mov dword [eax + 0xa8], edx
mov eax, dword [ebx]
mov dword [eax + 0x5c], esi
mov eax, dword [ebx]
mov dl, byte [ebp + 8]
mov byte [eax + 0xb4], dl
mov edx, 0xc
mov eax, dword [ebx]
call fcn.0048b52c
mov eax, dword [ebx]
mov dword [eax + 0xb8], 0xc
mov eax, dword [ebp - 4]
mov ecx, 0xc
cdq
idiv ecx
mov edx, dword [ebx]
mov dword [edx + 0xb0], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xd0]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, dword [ebx]
mov dword [edx + 0x60], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xd0]
mov edx, dword [eax]
call dword [edx + 0x20]
mov edx, dword [ebx]
mov dword [edx + 0x64], eax
lea ecx, [ebp - 0xc]
xor edx, edx
xor eax, eax
call fcn.00417c04
mov eax, dword [ebx]
mov edx, dword [ebp - 0xc]
mov dword [eax + 0x68], edx
mov edx, dword [ebp - 8]
mov dword [eax + 0x6c], edx
mov al, byte [ebp + 0xc]
mov edx, dword [ebx]
mov byte [edx + 0x72], al
mov eax, dword [ebx]
mov byte [eax + 0x70], 0
mov eax, dword [ebx]
mov byte [eax + 0x71], 0
mov eax, dword [ebx]
mov byte [eax + 0x73], 1
push 0
call fcn.004074bc
mov edx, dword [ebx]
mov dword [edx + 0x58], eax
push 0xffffffffffffffec
mov eax, esi
call fcn.004453d4
push eax
call fcn.004075d4
or eax, 0x80000
or eax, 0x8000000
push eax
push 0xffffffffffffffec
mov eax, esi
call fcn.004453d4
push eax
call fcn.004077fc
push 2
mov eax, dword [ebx]
add eax, 0x70
push eax
push 0x1fffffff
mov eax, dword [ebx]
add eax, 0x68
push eax
mov eax, edi
call fcn.004284b8
call fcn.00423fec
push eax
mov eax, dword [ebx]
add eax, 0x60
push eax
push 0
mov eax, dword [ebx]
mov eax, dword [eax + 0x58]
push eax
mov eax, esi
call fcn.004453d4
push eax
mov eax, dword [0x50c9b8]
mov eax, dword [eax]
call eax
push 4
mov eax, esi
call fcn.004453d4
push eax
call fcn.00407844
push 0x318
mov eax, dword [ebx]
mov eax, dword [eax + 0x64]
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x60]
push eax
mov eax, dword [esi + 0x44]
push eax
mov eax, dword [esi + 0x40]
push eax
push 0xffffffffffffffff
mov eax, esi
call fcn.004453d4
push eax
call fcn.0040780c
mov eax, dword [ebx]
mov edx, dword [eax + 0x64]
mov eax, dword [ebx]
mov eax, dword [eax + 0x60]
call fcn.004cebb8
mov edx, dword [ebx]
mov dword [edx + 0xd4], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x58]
push eax
push 0
call fcn.0040774c
mov eax, dword [ebx]
call fcn.004c5d0c
mov eax, dword [0x50cc98]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
jne 0x4c2e01
mov eax, dword [ebx]
push eax
push fcn.004c5e88
mov eax, dword [ebx]
call fcn.0048b548
mov eax, dword [ebx]
xor edx, edx
mov dword [eax + 0xac], edx
mov edx, dword [ebx]
mov eax, dword [ebx]
call fcn.004c5e88
mov dl, 1
mov eax, dword [ebx]
call fcn.0048b51c
jmp 0x4c2e13
mov edx, dword [ebx]
mov eax, dword [ebx]
call fcn.004c5e88
push 0xc
call fcn.00406fe4
mov eax, dword [ebx]
mov eax, dword [eax + 0xac]
mov edx, dword [ebx]
cmp eax, dword [edx + 0xb0]
jle 0x4c2df1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8