Function at 0x487720
Capabilities:
Hide graphical window
Link many functions at runtime

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov ebx, dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x68f670
mov dword [esp + 4], 0
mov dword [esp], 0x2000
call ebx
sub esp, 0x10
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x2001
call ebx
sub esp, 0x10
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esp], str.winmm.dll
call ebx
sub esp, 4
test eax, eax
mov dword [0x690428], eax
je 0x487d1e
mov dword [esp + 4], str.timeGetTime
mov dword [esp], eax
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call esi
sub esp, 8
mov dword [0x69042c], eax
mov dword [esp], str.user32.dll
call ebx
sub esp, 4
test eax, eax
mov dword [0x690448], eax
je 0x487d3e
mov dword [esp + 4], str.SetProcessDPIAware
mov dword [esp], eax
call esi
mov dword [0x69044c], eax
mov eax, dword [0x690448]
sub esp, 8
mov dword [esp + 4], str.ChangeWindowMessageFilterEx
mov dword [esp], eax
call esi
mov dword [0x690450], eax
mov eax, dword [0x690448]
sub esp, 8
mov dword [esp + 4], str.EnableNonClientDpiScaling
mov dword [esp], eax
call esi
mov dword [0x690454], eax
mov eax, dword [0x690448]
sub esp, 8
mov dword [esp + 4], str.SetProcessDpiAwarenessContext
mov dword [esp], eax
call esi
mov dword [0x690458], eax
mov eax, dword [0x690448]
sub esp, 8
mov dword [esp + 4], str.GetDpiForWindow
mov dword [esp], eax
call esi
mov dword [0x69045c], eax
mov eax, dword [0x690448]
sub esp, 8
mov dword [esp + 4], str.AdjustWindowRectExForDpi
mov dword [esp], eax
call esi
sub esp, 8
mov dword [0x690460], eax
mov dword [esp], str.dinput8.dll
call ebx
sub esp, 4
test eax, eax
mov dword [0x690430], eax
je 0x487889
mov dword [esp + 4], str.DirectInput8Create
mov dword [esp], eax
call esi
sub esp, 8
mov dword [0x690434], eax
mov dword [esp + 0x30], str.xinput1_4.dll
mov dword [esp + 0x34], str.xinput1_3.dll
lea edi, [esp + 0x34]
mov dword [esp + 0x38], str.xinput9_1_0.dll
mov dword [esp + 0x3c], str.xinput1_2.dll
mov eax, str.xinput1_4.dll
mov dword [esp + 0x40], str.xinput1_1.dll
mov dword [esp + 0x44], 0
jmp 0x4878ce
add edi, 4
mov eax, dword [edi - 4]
test eax, eax
je 0x48790e
mov dword [esp], eax
call ebx
sub esp, 4
test eax, eax
mov dword [0x69043c], eax
je 0x4878c4
mov dword [esp + 4], str.XInputGetCapabilities
mov dword [esp], eax
call esi
mov dword [0x690440], eax
mov eax, dword [0x69043c]
sub esp, 8
mov dword [esp + 4], str.XInputGetState
mov dword [esp], eax
call esi
sub esp, 8
mov dword [0x690444], eax
mov dword [esp], str.dwmapi.dll
call ebx
sub esp, 4
test eax, eax
mov dword [0x690464], eax
je 0x48796c
mov dword [esp + 4], str.DwmIsCompositionEnabled
mov dword [esp], eax
call esi
mov dword [0x690468], eax
mov eax, dword [0x690464]
sub esp, 8
mov dword [esp + 4], str.DwmFlush
mov dword [esp], eax
call esi
mov dword [0x69046c], eax
mov eax, dword [0x690464]
sub esp, 8
mov dword [esp + 4], str.DwmEnableBlurBehindWindow
mov dword [esp], eax
call esi
sub esp, 8
mov dword [0x690470], eax
mov dword [esp], str.shcore.dll
call ebx
sub esp, 4
test eax, eax
mov dword [0x690474], eax
je 0x4879b0
mov dword [esp + 4], str.SetProcessDpiAwareness
mov dword [esp], eax
call esi
mov dword [0x690478], eax
mov eax, dword [0x690474]
sub esp, 8
mov dword [esp + 4], str.GetDpiForMonitor
mov dword [esp], eax
call esi
sub esp, 8
mov dword [0x69047c], eax
mov dword [esp], str.ntdll.dll
call ebx
sub esp, 4
test eax, eax
mov dword [0x690480], eax
je 0x4879da
mov dword [esp + 4], str.RtlVerifyVersionInfo
mov dword [esp], eax
call esi
sub esp, 8
mov dword [0x690484], eax
mov ebx, 0x68f67c
mov eax, 0xffffffff
mov ecx, 0x100
mov edi, ebx
mov esi, 0x10d
mov ebx, 0x2f
rep stosd dword es:[edi], eax
mov ecx, 0xae
mov ebp, 0x105
mov word [0x68f6e6], bx
mov word [0x68f922], bp
mov dword [0x68f6b8], 0x530041
mov edx, 0x108
mov dword [0x68f6bc], 0x460044
mov dword [0x68f6c0], 0x480047
mov ebx, 0x106
mov dword [0x68f6c4], 0x4b004a
mov dword [0x68f6c8], 0x3b004c
mov ebp, 0x156
mov dword [0x68f6cc], 0x600027
mov dword [0x68f6d2], 0x5a005c
rep stosd dword es:[edi], eax
mov ecx, 0xffffffff
mov eax, 0x10a
mov word [0x68f91a], si
mov word [0x68f90e], ax
mov eax, 0x10c
mov dword [0x68f6d6], 0x430058
mov dword [0x68f6da], 0x420056
mov dword [0x68f6de], 0x4d004e
mov esi, 0x109
mov dword [0x68f6e2], 0x2e002c
mov dword [0x68f91e], 0x104010b
mov dword [0x68f67e], 0x310100
mov dword [0x68f682], 0x330032
mov word [edi], cx
mov edi, 0x15c
mov dword [0x68f686], 0x350034
mov word [0x68f936], di
mov dword [0x68f68a], 0x370036
mov ecx, 0x107
mov dword [0x68f68e], 0x390038
mov dword [0x68f692], 0x2d0030
mov edi, 0x14b
mov dword [0x68f696], 0x103003d
mov dword [0x68f69a], 0x510102
mov dword [0x68f69e], 0x450057
mov dword [0x68f6a2], 0x540052
mov dword [0x68f6a6], 0x550059
mov dword [0x68f6aa], 0x4f0049
mov dword [0x68f6ae], 0x5b0050
mov word [0x68f90a], ax
mov eax, 0x138
mov word [0x68f758], ax
mov eax, 0x139
mov dword [0x68f6b2], 0x101005d
mov word [0x68f768], ax
mov eax, 0x155
mov dword [0x68f6ee], 0x1180020
mov word [0x68f6b6], ax
mov eax, 0x154
mov dword [0x68f906], 0x11c011a
mov word [0x68f6d0], ax
mov eax, 0x14a
mov dword [0x68f744], 0x12f012e
mov dword [0x68f748], 0x1310130
mov dword [0x68f74c], 0x1330132
mov dword [0x68f750], 0x1350134
mov dword [0x68f754], 0x1370136
mov dword [0x68f8ea], 0x15a011b
mov dword [0x68f932], 0x15b0157
mov word [0x68f91c], dx
mov word [0x68f912], cx
mov word [0x68f916], bx
mov word [0x68f90c], si
mov word [0x68f8e6], di
mov dword [0x68f8b4], 0x159014f
mov dword [0x68f728], 0x12c00a2
mov dword [0x68f72c], 0x150012d
mov dword [0x68f6e8], 0x14c0158
mov word [0x68f6ec], bp
mov dword [0x68f6f2], 0x1230122
mov dword [0x68f6f6], 0x1250124
mov dword [0x68f6fa], 0x1270126
mov dword [0x68f6fe], 0x1290128
mov dword [0x68f702], 0x12b012a
mov dword [0x68f706], 0x119011c
mov dword [0x68f70a], 0x1480147
mov dword [0x68f70e], 0x14d0149
mov word [0x68f722], ax
mov dword [0x68f712], 0x1450144
xor eax, eax
mov dword [0x68f716], 0x14e0146
mov dword [0x68f71a], 0x1420141
mov dword [0x68f71e], 0x1400143
movsx edx, word [eax + eax + 0x68f67c]
test dx, dx
jle 0x487cd6
mov word [edx + edx + 0x68fa7c], ax
add eax, 1
cmp eax, 0x200
jne 0x487cc1
call fcn.004873a0
mov dword [esp], 0x3ad7
call fcn.00487650
test eax, eax
je 0x487ef4
mov dword [esp], 0xfffffffc
call dword [0x690458]
sub esp, 4
call fcn.0048ca70
xor ebx, ebx
test eax, eax
jne 0x487d5e
add esp, 0x5c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], str.Win32:_Failed_to_load_winmm.dll
mov dword [esp], 0x10008
xor ebx, ebx
call fcn.004870e0
add esp, 0x5c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], str.Win32:_Failed_to_load_user32.dll
mov dword [esp], 0x10008
xor ebx, ebx
call fcn.004870e0
add esp, 0x5c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
sub esp, 4
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x6000000
mov dword [esp + 8], str.GLFW_message_window
mov dword [esp + 4], 0x5e2c20
mov dword [esp], 0x300
call dword [sym.imp.USER32.dll_CreateWindowExW]
sub esp, 0x30
test eax, eax
mov dword [0x68f668], eax
je 0x487edb
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.USER32.dll_ShowWindow]
xor edx, edx
sub esp, 8
xor eax, eax
mov dword [esp + eax + 0x38], edx
add eax, 4
cmp eax, 0x18
jb 0x487df7
mov eax, 0xffffcb88
lea ebx, [esp + 0x30]
mov edx, 0x1111
mov word [esp + 0x44], ax
mov eax, dword [0x68f668]
mov dword [esp + 0x30], 0x20
mov dword [esp + 0x34], 5
mov dword [esp + 0x3c], 0x4d1e55b2
mov dword [esp + 0x40], 0x11cff16f
mov word [esp + 0x47], dx
mov byte [esp + 0x4b], 0x30
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [sym.imp.USER32.dll_RegisterDeviceNotificationW]
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
sub esp, 0xc
mov dword [0x68f66c], eax
mov ebp, dword [sym.imp.USER32.dll_TranslateMessage]
mov edi, dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x487e90
mov dword [esp], ebx
call ebp
sub esp, 4
mov dword [esp], ebx
call edi
sub esp, 4
mov eax, dword [0x68f668]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call esi
sub esp, 0x14
test eax, eax
jne 0x487e80
call fcn.0048a680
mov ebx, 1
call fcn.00488f00
call fcn.00489900
add esp, 0x5c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], str.Win32:_Failed_to_create_helper_window
mov dword [esp], 0x10008
call fcn.004870e0
jmp 0x487d14
mov dword [esp + 8], 0
mov dword [esp + 4], 3
mov dword [esp], 6
call fcn.00487570
test eax, eax
je 0x487f29
mov dword [esp], 2
call dword [0x690478]
sub esp, 4
jmp 0x487d09
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 6
call fcn.00487570
test eax, eax
je 0x487d09
call dword [0x69044c]
jmp 0x487d09