Function at 0x404660
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x4c
mov eax, dword [0x4b000c]
xor eax, esp
mov dword [esp + 0x44], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x90]
xorps xmm0, xmm0
push edi
push 0
movups xmmword [0xc0db18], xmm0
mov dword [0xc0db40], 0
mov dword [0xc0db44], esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x65
push eax
mov dword [0xc0db24], eax
mov dword [esp + 0x20], 0x23
mov dword [esp + 0x24], 0x4040b0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], eax
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x7f00
push 0
mov dword [esp + 0x34], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], str.GLFW
call dword [sym.imp.USER32.dll_RegisterClassA]
test ax, ax
jne 0x40472e
mov dword [0xc0db24], 0
call fcn.004049d0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.0046ad4d
add esp, 0x4c
ret
cmp dword [0xc0dab8], 0
je 0x4047c2
mov ecx, dword [esp + 0x64]
add ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x68]
add eax, ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x14], eax
cmp eax, 0xf
jl 0x40475b
cmp eax, 0x18
jl 0x404763
mov dword [esp + 0x14], 0x20
lea eax, [esp + 0x40]
mov edx, 0xc0dad8
push eax
lea eax, [esp + 0x18]
mov ecx, 0xc0dad4
push eax
call fcn.00402bf0
add esp, 8
mov ecx, eax
call fcn.00402d60
cmp dword [0xc0dab8], 0
je 0x4047c2
mov eax, dword [0xc0da20]
xor edi, edi
mov dword [esp + 0x14], edi
cmp eax, 1
je 0x4047ab
mov esi, 0xa0000000
cmp eax, 0x101
jne 0x4047b0
mov esi, 0x90000000
mov ebx, dword [0xc0dad8]
mov ebp, 0x40000
mov eax, dword [0xc0dad4]
jmp 0x40480f
lea ecx, [esp + 0x40]
mov esi, 0x10cf0000
mov ebp, 0x40100
call fcn.00404c20
mov eax, dword [esp + 0x40]
sub eax, dword [0xc0dad4]
mov ebx, dword [0xc0dad8]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x44]
sub eax, ebx
cdq
sub eax, edx
mov edi, eax
mov eax, dword [0xc0dad4]
sar edi, 1
cmp eax, dword [esp + 0x40]
je 0x40480f
cmp dword [esp + 0x44], ebx
je 0x40480f
sub edi, 0x10
dec eax
mov dword [0xc0db34], ebp
push ebp
mov dword [esp + 0x4c], eax
or esi, 0x6000000
lea eax, [ebx - 1]
mov dword [0xc0db30], esi
push 0
mov dword [esp + 0x54], eax
lea eax, [esp + 0x48]
push esi
push eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
call dword [sym.imp.USER32.dll_AdjustWindowRectEx]
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x44]
push 0
push dword [0xc0db24]
inc eax
push 0
push 0
push eax
mov eax, dword [esp + 0x5c]
sub eax, dword [esp + 0x54]
inc eax
push eax
push edi
push dword [esp + 0x30]
push esi
push str.GLFW_Window
push str.GLFW
push ebp
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0xc0db20], eax
test eax, eax
je 0x404714
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [0xc0db18], eax
test eax, eax
je 0x404714
test esi, 0x20000000
je 0x404944
mov edi, dword [sym.imp.USER32.dll_SystemParametersInfoA]
lea eax, [esp + 0x40]
push 0
push eax
push 0
push 0x48
mov dword [esp + 0x50], 8
call edi
mov ebx, dword [esp + 0x44]
test ebx, ebx
je 0x4048e8
push 2
lea eax, [esp + 0x44]
mov dword [esp + 0x48], 0
push eax
push 0
push 0x49
call edi
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [0xc0db20]
call esi
push 0
push dword [0xc0db20]
call esi
push 2
push dword [0xc0db20]
call esi
push 1
push dword [0xc0db20]
call esi
push 0
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 8
push eax
push 0
push 0x48
call edi
cmp dword [esp + 0x44], ebx
je 0x40495e
push 2
lea eax, [esp + 0x44]
mov dword [esp + 0x48], ebx
push eax
push 0
push 0x49
call edi
jmp 0x40495e
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 5
push dword [0xc0db20]
call esi
push 5
push dword [0xc0db20]
call esi
cmp dword [0xc0dab8], 0
je 0x40497f
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [0xc0db20]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, dword [0xc0db20]
call fcn.00403500
push dword [0xc0db20]
call dword [sym.imp.USER32.dll_SetFocus]
push dword [0xc0db18]
call dword [0xc0da54]
mov eax, dword [0xc0db20]
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebp
pop ebx
mov dword [0xc0db48], eax
xor ecx, esp
mov dword [0xc0db38], 0
mov eax, 1
call fcn.0046ad4d
add esp, 0x4c
ret