Function at 0x4bb380
Capabilities:
Hide graphical window

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xac
mov esi, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], ebx
call fcn.004baf00
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x4bb690
mov ebx, 0x80000000
mov dword [esp + 0x40], 3
lea edi, [esp + 0x80]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], edi
call sub.USER32.dll_AdjustWindowRectEx
sub esp, 0x10
mov eax, dword [0x5e2600]
test eax, eax
mov dword [esp], 0
je 0x4bb5f0
call sub.kernel32.dll_GetModuleHandleA
push ebp
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x3c], eax
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
mov eax, dword [0x55ebe4]
sub esi, ecx
mov dword [esp + 0x44], edx
sub ebp, edx
mov dword [esp + 0x38], ecx
mov dword [esp], eax
call fcn.004c1770
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x18], esi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x5ad358
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExW
sub esp, 0x30
mov esi, eax
xor ebx, ebx
test esi, esi
je 0x4bb5df
mov dword [esp + 4], edi
mov dword [esp], esi
call sub.USER32.dll_GetClientRect
push eax
push eax
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x44], eax
lea edi, [esp + 0x58]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0xd0]
mov eax, edi
mov ebp, dword [esp + 0x88]
call fcn.004babb0
mov dword [esp], esi
call sub.USER32.dll_GetDC
push edx
mov dword [esp + 0x3c], eax
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.GDI32.dll_ChoosePixelFormat
test eax, eax
push ecx
push ecx
je 0x4bb712
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], edi
mov dword [esp], eax
call sub.GDI32.dll_SetPixelFormat
sub esp, 0xc
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.OPENGL32.DLL_wglCreateContext
push edi
mov edi, eax
mov eax, dword [0x5d7290]
test eax, eax
je 0x4bb564
mov dword [esp + 4], edi
mov eax, dword [eax + 0x24]
mov dword [esp], eax
call sub.OPENGL32.DLL_wglShareLists
push ebx
push ebx
mov dword [esp], 0x28
call sub.msvcrt.dll_malloc
mov ebx, eax
mov dword [eax], 0
mov edx, dword [esp + 0x40]
mov dword [ebx + 0x20], esi
mov dword [eax + 4], edx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
sub ebp, eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 8], ebp
sub eax, edx
mov edx, dword [esp + 0xd0]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0xc8]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0xcc]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x1c], eax
mov eax, dword [0x5d7298]
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x24], edi
mov dword [ebx], eax
mov dword [0x5d7298], ebx
mov dword [esp + 4], 5
mov dword [esp], esi
call sub.USER32.dll_ShowWindow
push ecx
push ecx
add esp, 0xac
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
call sub.kernel32.dll_GetModuleHandleA
push esi
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x3c], eax
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
mov eax, dword [0x55ebe4]
sub esi, ecx
mov dword [esp + 0x44], edx
sub ebp, edx
mov dword [esp + 0x38], ecx
mov dword [esp], eax
call fcn.004c1750
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x18], esi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str.BlitzMax_GLGraphics
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExA
sub esp, 0x30
mov esi, eax
jmp 0x4bb4af
call sub.USER32.dll_GetDesktopWindow
lea edx, [esp + 0x90]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.USER32.dll_GetWindowRect
push eax
push eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x40], 2
mov edx, eax
shr edx, 0x1f
add edx, eax
mov eax, esi
shr eax, 0x1f
sar edx, 1
add eax, esi
sar eax, 1
sub edx, eax
mov eax, dword [esp + 0x9c]
mov ecx, eax
add esi, edx
shr ecx, 0x1f
mov dword [esp + 0x80], edx
add eax, ecx
mov ecx, ebx
shr ecx, 0x1f
mov dword [esp + 0x88], esi
sar eax, 1
add ecx, ebx
sar ecx, 1
sub eax, ecx
add ebx, eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x8c], ebx
mov ebx, 0xca0000
jmp 0x4bb3dd
mov dword [esp], esi
call sub.USER32.dll_DestroyWindow
push ebp
jmp 0x4bb5df