Function at 0x46e8a0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e314b
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x52382c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x128
call fcn.004ce6b2
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x46e8ec
mov ecx, eax
call fcn.0047eb30
jmp 0x46e8ee
xor eax, eax
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x5f3d50], eax
call fcn.0047eb40
test eax, eax
jne 0x46e926
push str.D3D_Init_Failed__
call fcn.0040b000
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x5f3d50]
push 0
push 0x80
push 1
call fcn.0047ed90
test eax, eax
jne 0x46e9dc
mov ecx, dword [0x5f3d50]
push eax
push 0x40
push 1
call fcn.0047ed90
test eax, eax
jne 0x46e9dc
mov ecx, dword [0x5f3d50]
push eax
push 0x20
push 1
call fcn.0047ed90
test eax, eax
jne 0x46e9dc
push str.D3D_Hal_Failed__Try_Reference_Rasterizer_...
call fcn.0040b000
mov ecx, dword [0x5f3d50]
add esp, 4
push 0
push 0x20
push 2
call fcn.0047ed90
test eax, eax
jne 0x46e9dc
mov ecx, dword [0x5f3d50]
push eax
push 0x80
push 2
call fcn.0047ed90
test eax, eax
jne 0x46e9dc
mov ecx, dword [0x5f3d50]
push eax
push 0x40
push 2
call fcn.0047ed90
test eax, eax
jne 0x46e9dc
push str.D3DInit_Failed
call fcn.0040b000
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [0x5f3d50]
lea edx, [ebp - 0x10]
push edx
call fcn.0047ecf0
cmp dword [0x526b70], 0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov dword [0x526b74], eax
mov dword [0x524e48], ecx
mov dword [0x526830], edx
jne 0x46eb1c
cmp eax, dword [0x525378]
jb 0x46ead8
cmp ecx, dword [0x526848]
jb 0x46ead8
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x20
call esi
push 0x21
mov edi, eax
call esi
push 0xf
mov ebx, eax
call esi
push 4
call esi
mov ecx, dword [0x525378]
mov edx, dword [0x526848]
mov esi, dword [0x526b74]
lea ecx, [ecx + edi*2]
lea edi, [edx + ebx*2]
mov ebx, dword [0x524e48]
add edi, eax
mov eax, dword [0x5256e8]
sub esi, ecx
sub ebx, edi
push eax
mov dword [ebp - 0x1c], ecx
shr esi, 1
shr ebx, 1
call fcn.00438c60
mov ecx, dword [0x5256e8]
add esp, 4
push 1
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [0x5256e8]
push 9
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x5256e8]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [ebp - 0x1c]
mov eax, 0xcccccccd
mul ebx
push 0
push edi
push ecx
shr edx, 3
push edx
mov edx, dword [0x5256e8]
shr esi, 1
push esi
push 0
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x46eb74
mov ecx, dword [0x5ec184]
add ecx, dword [0x1a3ba10]
mov edx, dword [0x5269f8]
push 0
push 0
push 0x526730
push ecx
push edx
call dword [sym.imp.USER32.dll_MessageBoxExA]
push 0x4e6bf8
call fcn.0040b000
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x526848]
mov ecx, dword [0x525378]
mov edx, dword [0x5256e8]
push 0
push eax
push ecx
push 0
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [0x5256e8]
push eax
call fcn.00438c60
mov ecx, dword [0x5256e8]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
add esp, 4
push 1
push ecx
call esi
mov edx, dword [0x5256e8]
push 9
push edx
call esi
mov eax, dword [0x5256e8]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.0046dda0
test eax, eax
jne 0x46eb9e
push str.RenderInit_Failed
call fcn.0040b000
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret