Function at 0x4b4fa0
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [0x9a08d8]
sub esp, 0x38
push ebx
push ebp
push esi
xor esi, esi
cmp eax, esi
push edi
jne 0x4b504a
mov ecx, 0xa
xor eax, eax
lea edi, [esp + 0x20]
push 1
rep stosd dword es:[edi], eax
mov eax, dword [0x160cc00]
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
mov eax, dword [0xe6f52c]
push eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], eax
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x7f00
push esi
mov dword [esp + 0x3c], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], eax
push ecx
mov dword [esp + 0x40], 0x11
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], str.Medal_of_Honor_Allied_Assault_TM__Spearhead
call dword [sym.imp.USER32.dll_RegisterClassA]
test ax, ax
jne 0x4b5031
push str.GLW_CreateWindow:_could_not_register_window_class
push esi
call dword [0x160cc64]
add esp, 8
push str....registered_window_class_n
push esi
mov dword [0x9a08d8], 1
call dword [0x160cc60]
add esp, 8
cmp dword [0xe6f528], esi
jne 0x4b51cf
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
cmp edi, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
jne 0x4b50bb
mov edx, dword [esp + 0x4c]
push edx
push str.3dfxvgl
call fcn.00474600
add esp, 8
test eax, eax
je 0x4b50b3
push esi
lea eax, [esp + 0x14]
push 0x10c80000
push eax
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], 0x10c80000
call dword [sym.imp.USER32.dll_AdjustWindowRect]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x4b50cb
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], 8
mov dword [esp + 0x50], 0x90080000
sub ecx, dword [esp + 0x10]
mov ebx, ecx
mov ecx, dword [esp + 0x14]
sub eax, ecx
cmp edi, esi
mov ebp, eax
jne 0x4b5157
mov ecx, dword [esp + 0x4c]
push ecx
push str.3dfxvgl
call fcn.00474600
add esp, 8
test eax, eax
je 0x4b5157
push esi
push 0x58b6e4
push str.vid_xpos
call dword [0x160cc8c]
push esi
push 0x58b6e4
push str.vid_ypos
mov edi, eax
call dword [0x160cc8c]
mov esi, dword [edi + 0x20]
mov edi, dword [eax + 0x20]
add esp, 0x18
test esi, esi
jge 0x4b5126
xor esi, esi
test edi, edi
jge 0x4b512c
xor edi, edi
mov eax, dword [0x160cc1c]
cmp ebx, eax
jge 0x4b5159
mov ecx, dword [0x160cc20]
cmp ebp, ecx
jge 0x4b5159
lea edx, [esi + ebx]
cmp edx, eax
jle 0x4b514a
sub eax, ebx
mov esi, eax
lea eax, [edi + ebp]
cmp eax, ecx
jle 0x4b5159
sub ecx, ebp
mov edi, ecx
jmp 0x4b5159
xor edi, edi
mov ecx, dword [0xe6f52c]
mov edx, dword [esp + 0x50]
push 0
push ecx
mov eax, dword [esp + 0x5c]
push 0
push 0
push ebp
push ebx
push edi
push esi
push edx
push str.Medal_of_Honor_Allied_Assault_TM__Spearhead
push str.Medal_of_Honor_Allied_Assault_TM__Spearhead
push eax
call dword [sym.imp.USER32.dll_CreateWindowExA]
test eax, eax
mov dword [0xe6f528], eax
jne 0x4b51a1
push str.GLW_CreateWindow_____Couldnt_create_window
push eax
call dword [0x160cc64]
mov eax, dword [0xe6f528]
add esp, 8
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0xe6f528]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
push ebp
push ebx
push edi
push esi
push str....created_window__d__d___dx_d__n
push 0
call dword [0x160cc60]
add esp, 0x18
xor esi, esi
jmp 0x4b51de
push str....window_already_present__CreateWindowEx_skipped_n
push esi
call dword [0x160cc60]
add esp, 8
mov edi, dword [esp + 0x58]
push str.Initializing_OpenGL_driver_n
push esi
call dword [0x160cc60]
mov eax, dword [0x160cc04]
add esp, 8
cmp eax, esi
jne 0x4b5268
push str....getting_DC:
push esi
call dword [0x160cc60]
mov edx, dword [0xe6f528]
add esp, 8
push edx
call dword [sym.imp.USER32.dll_GetDC]
cmp eax, esi
mov dword [0x160cc04], eax
jne 0x4b5259
push str.failed_n
push esi
call dword [0x160cc60]
add esp, 8
mov ecx, dword [0xe6f528]
push esi
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [0xe6f528]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0xe6f528], esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
push str.succeeded_n
push esi
call dword [0x160cc60]
add esp, 8
cmp edi, esi
jne 0x4b5272
mov edi, dword [0x160cc18]
mov eax, dword [0x16e0b74]
mov eax, dword [eax + 0x20]
cmp eax, esi
jne 0x4b5291
xor ecx, ecx
cmp edi, 0x10
setg cl
lea ecx, [ecx*8 + 0x18]
mov esi, ecx
jmp 0x4b5293
mov esi, eax
mov edx, dword [0x16e0c60]
xor ebp, ebp
cmp esi, 0x18
mov ebx, dword [edx + 0x20]
jge 0x4b52a5
xor ebx, ebx
cmp dword [0x160cc14], ebp
jne 0x4b5411
mov eax, dword [0x16e0c04]
mov ecx, dword [eax + 0x20]
push ecx
push ebx
push esi
push edi
push 0x9a08a8
call fcn.004b5470
push 0x9a08a8
call fcn.004b5540
add esp, 0x18
cmp eax, ebp
je 0x4b53e9
cmp eax, 2
jne 0x4b52f8
push str....failed_hard_n
push 3
call dword [0x160cc60]
add esp, 8
xor esi, esi
jmp 0x4b522e
mov edx, dword [0x16dd2ec]
mov eax, dword [0x160cc18]
cmp dword [edx + 0x20], eax
jne 0x4b531e
cmp ebx, ebp
jne 0x4b531e
mov eax, dword [0x160cc04]
mov ecx, dword [0xe6f528]
push eax
push ecx
jmp 0x4b53c7
cmp edi, eax
jle 0x4b5324
mov edi, eax
mov edx, dword [0x16e0c04]
mov eax, dword [edx + 0x20]
push eax
push ebp
push esi
push edi
push 0x9a08a8
call fcn.004b5470
push 0x9a08a8
call fcn.004b5540
add esp, 0x18
test eax, eax
je 0x4b53e9
cmp esi, 0x18
jle 0x4b535c
mov esi, 0x18
jmp 0x4b5366
cmp esi, 0x10
jle 0x4b5366
mov esi, 0x10
mov ecx, dword [0x16e0c04]
mov edx, dword [ecx + 0x20]
push edx
push ebp
push esi
push edi
push 0x9a08a8
call fcn.004b5470
push 0x9a08a8
call fcn.004b5540
add esp, 0x18
test eax, eax
je 0x4b53e9
mov eax, dword [0x16e0c04]
mov ecx, dword [eax + 0x20]
push ecx
push ebp
push 0x10
push edi
push 0x9a08a8
call fcn.004b5470
push 0x9a08a8
call fcn.004b5540
add esp, 0x18
test eax, eax
je 0x4b53e9
mov eax, dword [0x160cc04]
cmp eax, ebp
je 0x4b53d3
mov edx, dword [0xe6f528]
push eax
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov dword [0x160cc04], ebp
push str....failed_to_find_an_appropriate_PIXELFORMAT_n
push ebp
call dword [0x160cc60]
add esp, 8
xor esi, esi
jmp 0x4b522e
test byte [0x9a08ac], 2
jne 0x4b5411
mov eax, dword [0x16e0c04]
cmp dword [eax + 0x20], ebp
je 0x4b5411
push str....failed_to_select_stereo_pixel_format_n
push ebp
call dword [0x160cc60]
add esp, 8
mov dword [0x16e0b5c], ebp
mov eax, dword [0x9a08c0]
xor ecx, ecx
mov cl, byte [0x9a08b1]
and eax, 0xff
xor edx, edx
mov dword [0x16e0b30], eax
mov eax, dword [0xe6f528]
mov dl, byte [0x9a08bf]
push eax
mov dword [0x16e0b28], ecx
mov dword [0x16e0b2c], edx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov ecx, dword [0xe6f528]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret