; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0 include listing.inc INCLUDELIB MSVCRTD INCLUDELIB OLDNAMES msvcjmc SEGMENT __9C03CD75_concurrencysal@h DB 01H __CA64BAF1_sal@h DB 01H __95655E73_vadefs@h DB 01H __1D560A45_vcruntime@h DB 01H __1B0272D9_corecrt@h DB 01H __13F5961F_stddef@h DB 01H __ED683015_stdint@h DB 01H __89F75FCD_ssgc_internal@h DB 01H __A5E73FD0_glfw3@h DB 01H __1D45B1A5_glfw_null_platform@h DB 01H __74484FB3_corecrt_wctype@h DB 01H __CBE172F9_wctype@h DB 01H __0ED14FEE_winpackagefamily@h DB 01H __F92EF742_winapifamily@h DB 01H __22E515EB_sdkddkver@h DB 01H __F214EFBF_excpt@h DB 01H __D9B78EDA_stdarg@h DB 01H __29F49F40_specstrings_undef@h DB 01H __D0F42932_specstrings_strict@h DB 01H __F00405FD_sdv_driverspecs@h DB 01H __173E09CA_driverspecs@h DB 01H __9A452361_specstrings@h DB 01H __1EC467ED_ctype@h DB 01H __98517906_kernelspecs@h DB 01H __D3497022_basetsd@h DB 01H __61CC25A1_errno@h DB 01H __7061C667_vcruntime_string@h DB 01H __E4C945B4_corecrt_memcpy_s@h DB 01H __8EAFF484_corecrt_memory@h DB 01H __6490AEC5_corecrt_wstring@h DB 01H __E8295E1E_string@h DB 01H __7FCB5136_guiddef@h DB 01H __FF8A9E11_pshpack4@h DB 01H __D5438902_poppack@h DB 01H __FB07E2A3_pshpack2@h DB 01H __F6906775_pshpack8@h DB 01H __F9415CFA_pshpack1@h DB 01H __E58C6F1C_apiset@h DB 01H __A5C52262_ktmtypes@h DB 01H __FBBA8F9D_winnt@h DB 01H __A32D3D2C_minwindef@h DB 01H __7D798299_windef@h DB 01H __9AE108E9_apisetcconv@h DB 01H __9CE53D2C_minwinbase@h DB 01H __5D0AA210_apiquery2@h DB 01H __4DD4E726_processenv@h DB 01H __3575CC96_fileapi@h DB 01H __8EA220E6_fileapifromapp@h DB 01H __BF9B31FE_debugapi@h DB 01H __C3AFE134_utilapiset@h DB 01H __76F69E51_handleapi@h DB 01H __7E63D784_errhandlingapi@h DB 01H __FFA7003C_fibersapi@h DB 01H __8971CECF_namedpipeapi@h DB 01H __46C9D8A6_profileapi@h DB 01H __98D4F0A3_heapapi@h DB 01H __50EF2A88_ioapiset@h DB 01H __92EA1464_synchapi@h DB 01H __A53D8AED_interlockedapi@h DB 01H __B506CAAF_processthreadsapi@h DB 01H __FF735694_sysinfoapi@h DB 01H __29589789_memoryapi@h DB 01H __E9C7A663_enclaveapi@h DB 01H __D035F9F7_threadpoollegacyapiset@h DB 01H __C899130C_threadpoolapiset@h DB 01H __E0441EE7_jobapi@h DB 01H __CEF86838_jobapi2@h DB 01H __35AC6B9A_wow64apiset@h DB 01H __C8AE41A5_libloaderapi@h DB 01H __CC9E232D_securitybaseapi@h DB 01H __C9D0C9B8_namespaceapi@h DB 01H __30FF9CAD_systemtopologyapi@h DB 01H __4D358795_processtopologyapi@h DB 01H __40446D10_securityappcontainer@h DB 01H __3A952EDF_realtimeapiset@h DB 01H __F4865F4B_winerror@h DB 01H __53C1BD93_timezoneapi@h DB 01H __1FFBEDBF_winbase@h DB 01H __43D3FA34_wingdi@h DB 01H __D24A7391_tvout@h DB 01H __7713A6C8_winuser@h DB 01H __0B345F71_datetimeapi@h DB 01H __9AC6960C_winnls@h DB 01H __973A40A8_stringapiset@h DB 01H __CC46FEE2_wincontypes@h DB 01H __97D70BE1_consoleapi@h DB 01H __27EC5E18_consoleapi2@h DB 01H __262E342F_consoleapi3@h DB 01H __641DCD70_wincon@h DB 01H __5A96C7A7_verrsrc@h DB 01H __B69C6FF2_winver@h DB 01H __7AEB8C37_reason@h DB 01H __59F1A8A9_winreg@h DB 01H __EE0E2B7F_wnnc@h DB 01H __DCDB7054_winnetwk@h DB 01H __81DDEDE3_stralign@h DB 01H __2134D1B4_winsvc@h DB 01H __11C07376_mcx@h DB 01H __577CE3E7_ime_cmodes@h DB 01H __1E72C31E_imm@h DB 01H __E15BF856_windows@h DB 01H __DF8704F0_rpcdcep@h DB 01H __5C6CA7BB_rpcdce@h DB 01H __853533C4_rpcnsi@h DB 01H __2D2406C3_rpcnterr@h DB 01H __64521D71_rpcasync@h DB 01H __AADCBA08_rpc@h DB 01H __1FE431C9_rpcnsip@h DB 01H __2B741F2D_rpcsal@h DB 01H __92623256_rpcndr@h DB 01H __45DED006_corecrt_malloc@h DB 01H __FD6DBD68_corecrt_search@h DB 01H __E2E33A61_corecrt_wstdlib@h DB 01H __531E1E2A_limits@h DB 01H __6E5ACABA_stdlib@h DB 01H __9C18532E_wtypesbase@h DB 01H __30B1AFDA_unknwnbase@h DB 01H __328C1996_objidlbase@h DB 01H __C4E06B6A_cguid@h DB 01H __434718C5_combaseapi@h DB 01H __EA2E1D6D_wtypes@h DB 01H __DE6FDEF1_unknwn@h DB 01H __CCE0BACC_objidl@h DB 01H __8C7011E5_oaidl@h DB 01H __2E0B7863_propidlbase@h DB 01H __BF4CF2EC_coml2api@h DB 01H __6D897344_oleidl@h DB 01H __1129FC2C_servprov@h DB 01H __757952E4_msxml@h DB 01H __B1191D53_urlmon@h DB 01H __404D1A47_propidl@h DB 01H __A1C63593_objbase@h DB 01H __9F7C87B7_dinput@h DB 01H __B468A3D3_xinput@h DB 01H __AD768F06_dbt@h DB 01H __D83367F8_glfw_win32_platform@h DB 01H __53CB9229_glfw_null_joystick@h DB 01H __96BD4474_glfw_win32_joystick@h DB 01H __7D74CEA8_glfw_win32_thread@h DB 01H __C7421531_glfw_win32_time@h DB 01H __43B1F397_glfw_platform@h DB 01H __A547227D_glfw_internal@h DB 01H __3201A73B_windowsx@h DB 01H __19E26CFF_shellapi@h DB 01H __6A44CDE5_win32_window@c DB 01H msvcjmc ENDS PUBLIC _glfwCreateWindowWin32 PUBLIC _glfwDestroyWindowWin32 PUBLIC _glfwSetWindowTitleWin32 PUBLIC _glfwSetWindowIconWin32 PUBLIC _glfwGetWindowPosWin32 PUBLIC _glfwSetWindowPosWin32 PUBLIC _glfwGetWindowSizeWin32 PUBLIC _glfwSetWindowSizeWin32 PUBLIC _glfwSetWindowSizeLimitsWin32 PUBLIC _glfwSetWindowAspectRatioWin32 PUBLIC _glfwGetFramebufferSizeWin32 PUBLIC _glfwGetWindowFrameSizeWin32 PUBLIC _glfwGetWindowContentScaleWin32 PUBLIC _glfwIconifyWindowWin32 PUBLIC _glfwRestoreWindowWin32 PUBLIC _glfwMaximizeWindowWin32 PUBLIC _glfwShowWindowWin32 PUBLIC _glfwHideWindowWin32 PUBLIC _glfwRequestWindowAttentionWin32 PUBLIC _glfwFocusWindowWin32 PUBLIC _glfwSetWindowMonitorWin32 PUBLIC _glfwWindowFocusedWin32 PUBLIC _glfwWindowIconifiedWin32 PUBLIC _glfwWindowVisibleWin32 PUBLIC _glfwWindowMaximizedWin32 PUBLIC _glfwWindowHoveredWin32 PUBLIC _glfwFramebufferTransparentWin32 PUBLIC _glfwSetWindowResizableWin32 PUBLIC _glfwSetWindowDecoratedWin32 PUBLIC _glfwSetWindowFloatingWin32 PUBLIC _glfwSetWindowMousePassthroughWin32 PUBLIC _glfwGetWindowOpacityWin32 PUBLIC _glfwSetWindowOpacityWin32 PUBLIC _glfwSetRawMouseMotionWin32 PUBLIC _glfwRawMouseMotionSupportedWin32 PUBLIC _glfwPollEventsWin32 PUBLIC _glfwWaitEventsWin32 PUBLIC _glfwWaitEventsTimeoutWin32 PUBLIC _glfwPostEmptyEventWin32 PUBLIC _glfwGetCursorPosWin32 PUBLIC _glfwSetCursorPosWin32 PUBLIC _glfwSetCursorModeWin32 PUBLIC _glfwGetScancodeNameWin32 PUBLIC _glfwGetKeyScancodeWin32 PUBLIC _glfwCreateCursorWin32 PUBLIC _glfwCreateStandardCursorWin32 PUBLIC _glfwDestroyCursorWin32 PUBLIC _glfwSetCursorWin32 PUBLIC _glfwSetClipboardStringWin32 PUBLIC _glfwGetClipboardStringWin32 PUBLIC _glfwGetEGLPlatformWin32 PUBLIC _glfwGetEGLNativeDisplayWin32 PUBLIC _glfwGetEGLNativeWindowWin32 PUBLIC _glfwGetRequiredInstanceExtensionsWin32 PUBLIC _glfwGetPhysicalDevicePresentationSupportWin32 PUBLIC _glfwCreateWindowSurfaceWin32 PUBLIC glfwGetWin32Window PUBLIC __JustMyCode_Default PUBLIC ??_C@_0CE@GCBEILKL@Win32?3?5Failed?5to?5create?5RGBA?5bi@ ; `string' PUBLIC ??_C@_0CE@PKGOIGHB@Win32?3?5Failed?5to?5create?5mask?5bi@ ; `string' PUBLIC ??_C@_0BN@HJHDCKKP@Win32?3?5Failed?5to?5create?5icon@ ; `string' PUBLIC ??_C@_0BP@OHFKOFFD@Win32?3?5Failed?5to?5create?5cursor@ ; `string' PUBLIC ??_C@_0CL@GPJNIICL@Win32?3?5Failed?5to?5register?5raw?5i@ ; `string' PUBLIC ??_C@_0CJ@JFEDIEDE@Win32?3?5Failed?5to?5remove?5raw?5inp@ ; `string' PUBLIC ??_C@_19JBPKICJI@?$AAG?$AAL?$AAF?$AAW@ ; `string' PUBLIC ??_C@_0CJ@GILDAIDE@Win32?3?5Failed?5to?5retrieve?5raw?5i@ ; `string' PUBLIC ??_C@_1O@IBNLCBOC@?$AAG?$AAL?$AAF?$AAW?$AA3?$AA0@ ; `string' PUBLIC ??_C@_1BE@LDFMCOHA@?$AAG?$AAL?$AAF?$AAW?$AA_?$AAI?$AAC?$AAO?$AAN@ ; `string' PUBLIC ??_C@_0CH@GAPNPCHF@Win32?3?5Failed?5to?5register?5windo@ ; `string' PUBLIC ??_C@_0BP@BFHGHOIO@Win32?3?5Failed?5to?5create?5window@ ; `string' PUBLIC ??_C@_0BE@IGCIBFAF@Invalid?5scancode?5?$CFi@ ; `string' PUBLIC ??_C@_0BP@KPGBLOB@Win32?3?5Unknown?5standard?5cursor@ ; `string' PUBLIC ??_C@_0CI@LDEHPBDB@Win32?3?5Failed?5to?5create?5standar@ ; `string' PUBLIC ??_C@_0DG@CGDLBFFB@Win32?3?5Failed?5to?5allocate?5globa@ ; `string' PUBLIC ??_C@_0CE@OHDHEPIL@Win32?3?5Failed?5to?5lock?5global?5ha@ ; `string' PUBLIC ??_C@_0CA@FNCFBEIG@Win32?3?5Failed?5to?5open?5clipboard@ ; `string' PUBLIC ??_C@_0CN@FGAGPCCP@Win32?3?5Failed?5to?5convert?5clipbo@ ; `string' PUBLIC ??_C@_0P@IENCOMCD@VK_KHR_surface@ ; `string' PUBLIC ??_C@_0BF@COCMEDFO@VK_KHR_win32_surface@ ; `string' PUBLIC ??_C@_0CP@FOBJNCLA@vkGetPhysicalDeviceWin32Present@ ; `string' PUBLIC ??_C@_0DO@PGEACBCJ@Win32?3?5Vulkan?5instance?5missing?5@ ; `string' PUBLIC ??_C@_0BI@INMBJMIJ@vkCreateWin32SurfaceKHR@ ; `string' PUBLIC ??_C@_0CL@LJNEEKEI@Win32?3?5Failed?5to?5create?5Vulkan?5@ ; `string' PUBLIC ??_C@_0CA@MHMAANIG@Win32?3?5Platform?5not?5initialized@ ; `string' PUBLIC __real@00000000 PUBLIC __real@3f800000 PUBLIC __real@405e000000000000 PUBLIC __real@408f400000000000 PUBLIC __real@42c00000 PUBLIC __real@437f0000 PUBLIC __xmm@80000000000000008000000000000000 EXTRN memset:PROC EXTRN __imp_GetModuleHandleW:PROC EXTRN __imp_GlobalAlloc:PROC EXTRN __imp_GlobalUnlock:PROC EXTRN __imp_GlobalLock:PROC EXTRN __imp_GlobalFree:PROC EXTRN __imp_SetThreadExecutionState:PROC EXTRN __imp_CreateBitmap:PROC EXTRN __imp_CreateRectRgn:PROC EXTRN __imp_DeleteObject:PROC EXTRN __imp_CreateDIBSection:PROC EXTRN __imp_TrackMouseEvent:PROC EXTRN __imp_TranslateMessage:PROC EXTRN __imp_DispatchMessageW:PROC EXTRN __imp_PeekMessageW:PROC EXTRN __imp_GetMessageTime:PROC EXTRN __imp_SendMessageW:PROC EXTRN __imp_PostMessageW:PROC EXTRN __imp_WaitMessage:PROC EXTRN __imp_DefWindowProcW:PROC EXTRN __imp_RegisterClassExW:PROC EXTRN __imp_CreateWindowExW:PROC EXTRN __imp_DestroyWindow:PROC EXTRN __imp_ShowWindow:PROC EXTRN __imp_GetLayeredWindowAttributes:PROC EXTRN __imp_SetLayeredWindowAttributes:PROC EXTRN __imp_FlashWindow:PROC EXTRN __imp_MoveWindow:PROC EXTRN __imp_SetWindowPos:PROC EXTRN __imp_GetWindowPlacement:PROC EXTRN __imp_SetWindowPlacement:PROC EXTRN __imp_IsWindowVisible:PROC EXTRN __imp_IsIconic:PROC EXTRN __imp_BringWindowToTop:PROC EXTRN __imp_IsZoomed:PROC EXTRN __imp_OpenClipboard:PROC EXTRN __imp_CloseClipboard:PROC EXTRN __imp_SetClipboardData:PROC EXTRN __imp_GetClipboardData:PROC EXTRN __imp_EmptyClipboard:PROC EXTRN __imp_SetFocus:PROC EXTRN __imp_GetActiveWindow:PROC EXTRN __imp_GetKeyState:PROC EXTRN __imp_MapVirtualKeyW:PROC EXTRN __imp_SetCapture:PROC EXTRN __imp_ReleaseCapture:PROC EXTRN __imp_MsgWaitForMultipleObjects:PROC EXTRN __imp_GetSystemMetrics:PROC EXTRN __imp_SetForegroundWindow:PROC EXTRN __imp_GetDC:PROC EXTRN __imp_ReleaseDC:PROC EXTRN __imp_SetPropW:PROC EXTRN __imp_GetPropW:PROC EXTRN __imp_RemovePropW:PROC EXTRN __imp_SetWindowTextW:PROC EXTRN __imp_GetClientRect:PROC EXTRN __imp_GetWindowRect:PROC EXTRN __imp_AdjustWindowRectEx:PROC EXTRN __imp_SetCursorPos:PROC EXTRN __imp_SetCursor:PROC EXTRN __imp_GetCursorPos:PROC EXTRN __imp_ClientToScreen:PROC EXTRN __imp_ScreenToClient:PROC EXTRN __imp_WindowFromPoint:PROC EXTRN __imp_ClipCursor:PROC EXTRN __imp_SetRect:PROC EXTRN __imp_OffsetRect:PROC EXTRN __imp_PtInRect:PROC EXTRN __imp_GetWindowLongW:PROC EXTRN __imp_SetWindowLongW:PROC EXTRN __imp_GetClassLongPtrW:PROC EXTRN __imp_LoadCursorW:PROC EXTRN __imp_DestroyIcon:PROC EXTRN __imp_LoadImageW:PROC EXTRN __imp_CreateIconIndirect:PROC EXTRN __imp_SystemParametersInfoW:PROC EXTRN __imp_MonitorFromWindow:PROC EXTRN __imp_GetMonitorInfoW:PROC EXTRN __imp_GetRawInputData:PROC EXTRN __imp_RegisterRawInputDevices:PROC EXTRN __imp_MultiByteToWideChar:PROC EXTRN abs:PROC EXTRN _glfwCreateWideStringFromUTF8Win32:PROC EXTRN _glfwCreateUTF8FromWideStringWin32:PROC EXTRN _glfwIsWindowsVersionOrGreaterWin32:PROC EXTRN _glfwIsWindows10BuildOrGreaterWin32:PROC EXTRN _glfwInputErrorWin32:PROC EXTRN _glfwUpdateKeyNamesWin32:PROC EXTRN _glfwSetVideoModeWin32:PROC EXTRN _glfwRestoreVideoModeWin32:PROC EXTRN _glfwGetHMONITORContentScaleWin32:PROC EXTRN _glfwInitWGL:PROC EXTRN _glfwCreateContextWGL:PROC EXTRN _glfwInputWindowFocus:PROC EXTRN _glfwInputWindowPos:PROC EXTRN _glfwInputWindowSize:PROC EXTRN _glfwInputFramebufferSize:PROC EXTRN _glfwInputWindowContentScale:PROC EXTRN _glfwInputWindowIconify:PROC EXTRN _glfwInputWindowMaximize:PROC EXTRN _glfwInputWindowDamage:PROC EXTRN _glfwInputWindowCloseRequest:PROC EXTRN _glfwInputWindowMonitor:PROC EXTRN _glfwInputKey:PROC EXTRN _glfwInputChar:PROC EXTRN _glfwInputScroll:PROC EXTRN _glfwInputMouseClick:PROC EXTRN _glfwInputCursorPos:PROC EXTRN _glfwInputCursorEnter:PROC EXTRN _glfwInputDrop:PROC EXTRN _glfwInputMonitorWindow:PROC EXTRN _glfwInputError:PROC EXTRN _glfwRefreshContextAttribs:PROC EXTRN _glfwCenterCursorInContentArea:PROC EXTRN _glfwInitEGL:PROC EXTRN _glfwCreateContextEGL:PROC EXTRN _glfwInitOSMesa:PROC EXTRN _glfwCreateContextOSMesa:PROC EXTRN _glfwGetVulkanResultString:PROC EXTRN _glfw_min:PROC EXTRN _glfw_calloc:PROC EXTRN _glfw_free:PROC EXTRN __imp_DragQueryFileW:PROC EXTRN __imp_DragQueryPoint:PROC EXTRN __imp_DragFinish:PROC EXTRN __imp_DragAcceptFiles:PROC EXTRN _RTC_CheckStackVars:PROC EXTRN _RTC_InitBase:PROC EXTRN _RTC_Shutdown:PROC EXTRN __CheckForDebuggerJustMyCode:PROC EXTRN __GSHandlerCheck:PROC EXTRN __security_check_cookie:PROC EXTRN _glfw:BYTE EXTRN __ImageBase:BYTE EXTRN __security_cookie:QWORD EXTRN _fltused:DWORD ; COMDAT pdata pdata SEGMENT $pdata$_glfwCreateWindowWin32 DD imagerel $LN23 DD imagerel $LN23+527 DD imagerel $unwind$_glfwCreateWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwDestroyWindowWin32 DD imagerel $LN10 DD imagerel $LN10+309 DD imagerel $unwind$_glfwDestroyWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowTitleWin32 DD imagerel $LN4 DD imagerel $LN4+104 DD imagerel $unwind$_glfwSetWindowTitleWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowIconWin32 DD imagerel $LN8 DD imagerel $LN8+497 DD imagerel $unwind$_glfwSetWindowIconWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetWindowPosWin32 DD imagerel $LN5 DD imagerel $LN5+206 DD imagerel $unwind$_glfwGetWindowPosWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowPosWin32 DD imagerel $LN5 DD imagerel $LN5+372 DD imagerel $unwind$_glfwSetWindowPosWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetWindowSizeWin32 DD imagerel $LN5 DD imagerel $LN5+192 DD imagerel $unwind$_glfwGetWindowSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowSizeWin32 DD imagerel $LN8 DD imagerel $LN8+448 DD imagerel $unwind$_glfwSetWindowSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowSizeLimitsWin32 DD imagerel $LN6 DD imagerel $LN6+252 DD imagerel $unwind$_glfwSetWindowSizeLimitsWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowAspectRatioWin32 DD imagerel $LN5 DD imagerel $LN5+250 DD imagerel $unwind$_glfwSetWindowAspectRatioWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetFramebufferSizeWin32 DD imagerel $LN3 DD imagerel $LN3+77 DD imagerel $unwind$_glfwGetFramebufferSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetWindowFrameSizeWin32 DD imagerel $LN9 DD imagerel $LN9+440 DD imagerel $unwind$_glfwGetWindowFrameSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetWindowContentScaleWin32 DD imagerel $LN3 DD imagerel $LN3+103 DD imagerel $unwind$_glfwGetWindowContentScaleWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwIconifyWindowWin32 DD imagerel $LN3 DD imagerel $LN3+66 DD imagerel $unwind$_glfwIconifyWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwRestoreWindowWin32 DD imagerel $LN3 DD imagerel $LN3+66 DD imagerel $unwind$_glfwRestoreWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwMaximizeWindowWin32 DD imagerel $LN5 DD imagerel $LN5+104 DD imagerel $unwind$_glfwMaximizeWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwShowWindowWin32 DD imagerel $LN3 DD imagerel $LN3+66 DD imagerel $unwind$_glfwShowWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwHideWindowWin32 DD imagerel $LN3 DD imagerel $LN3+63 DD imagerel $unwind$_glfwHideWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwRequestWindowAttentionWin32 DD imagerel $LN3 DD imagerel $LN3+66 DD imagerel $unwind$_glfwRequestWindowAttentionWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwFocusWindowWin32 DD imagerel $LN3 DD imagerel $LN3+101 DD imagerel $unwind$_glfwFocusWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowMonitorWin32 DD imagerel $LN18 DD imagerel $LN18+1345 DD imagerel $unwind$_glfwSetWindowMonitorWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwWindowFocusedWin32 DD imagerel $LN5 DD imagerel $LN5+91 DD imagerel $unwind$_glfwWindowFocusedWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwWindowIconifiedWin32 DD imagerel $LN3 DD imagerel $LN3+61 DD imagerel $unwind$_glfwWindowIconifiedWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwWindowVisibleWin32 DD imagerel $LN3 DD imagerel $LN3+61 DD imagerel $unwind$_glfwWindowVisibleWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwWindowMaximizedWin32 DD imagerel $LN3 DD imagerel $LN3+61 DD imagerel $unwind$_glfwWindowMaximizedWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwWindowHoveredWin32 DD imagerel $LN3 DD imagerel $LN3+53 DD imagerel $unwind$_glfwWindowHoveredWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwFramebufferTransparentWin32 DD imagerel $LN10 DD imagerel $LN10+239 DD imagerel $unwind$_glfwFramebufferTransparentWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowResizableWin32 DD imagerel $LN3 DD imagerel $LN3+57 DD imagerel $unwind$_glfwSetWindowResizableWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowDecoratedWin32 DD imagerel $LN3 DD imagerel $LN3+57 DD imagerel $unwind$_glfwSetWindowDecoratedWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowFloatingWin32 DD imagerel $LN5 DD imagerel $LN5+143 DD imagerel $unwind$_glfwSetWindowFloatingWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowMousePassthroughWin32 DD imagerel $LN9 DD imagerel $LN9+341 DD imagerel $unwind$_glfwSetWindowMousePassthroughWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetWindowOpacityWin32 DD imagerel $LN5 DD imagerel $LN5+230 DD imagerel $unwind$_glfwGetWindowOpacityWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowOpacityWin32 DD imagerel $LN8 DD imagerel $LN8+278 DD imagerel $unwind$_glfwSetWindowOpacityWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetRawMouseMotionWin32 DD imagerel $LN6 DD imagerel $LN6+98 DD imagerel $unwind$_glfwSetRawMouseMotionWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwRawMouseMotionSupportedWin32 DD imagerel $LN3 DD imagerel $LN3+42 DD imagerel $unwind$_glfwRawMouseMotionSupportedWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwPollEventsWin32 DD imagerel $LN19 DD imagerel $LN19+688 DD imagerel $unwind$_glfwPollEventsWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwWaitEventsWin32 DD imagerel $LN3 DD imagerel $LN3+48 DD imagerel $unwind$_glfwWaitEventsWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwWaitEventsTimeoutWin32 DD imagerel $LN3 DD imagerel $LN3+92 DD imagerel $unwind$_glfwWaitEventsTimeoutWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwPostEmptyEventWin32 DD imagerel $LN3 DD imagerel $LN3+58 DD imagerel $unwind$_glfwPostEmptyEventWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetCursorPosWin32 DD imagerel $LN6 DD imagerel $LN6+214 DD imagerel $unwind$_glfwGetCursorPosWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetCursorPosWin32 DD imagerel $LN3 DD imagerel $LN3+216 DD imagerel $unwind$_glfwSetCursorPosWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetCursorModeWin32 DD imagerel $LN16 DD imagerel $LN16+343 DD imagerel $unwind$_glfwSetCursorModeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetScancodeNameWin32 DD imagerel $LN5 DD imagerel $LN5+148 DD imagerel $unwind$_glfwGetScancodeNameWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetKeyScancodeWin32 DD imagerel $LN3 DD imagerel $LN3+58 DD imagerel $unwind$_glfwGetKeyScancodeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwCreateCursorWin32 DD imagerel $LN4 DD imagerel $LN4+118 DD imagerel $unwind$_glfwCreateCursorWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwCreateStandardCursorWin32 DD imagerel $LN18 DD imagerel $LN18+360 DD imagerel $unwind$_glfwCreateStandardCursorWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwDestroyCursorWin32 DD imagerel $LN4 DD imagerel $LN4+72 DD imagerel $unwind$_glfwDestroyCursorWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetCursorWin32 DD imagerel $LN4 DD imagerel $LN4+74 DD imagerel $unwind$_glfwSetCursorWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetClipboardStringWin32 DD imagerel $LN7 DD imagerel $LN7+327 DD imagerel $unwind$_glfwSetClipboardStringWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetClipboardStringWin32 DD imagerel $LN6 DD imagerel $LN6+226 DD imagerel $unwind$_glfwGetClipboardStringWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetEGLPlatformWin32 DD imagerel $LN15 DD imagerel $LN15+304 DD imagerel $unwind$_glfwGetEGLPlatformWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetEGLNativeDisplayWin32 DD imagerel $LN3 DD imagerel $LN3+50 DD imagerel $unwind$_glfwGetEGLNativeDisplayWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetEGLNativeWindowWin32 DD imagerel $LN3 DD imagerel $LN3+55 DD imagerel $unwind$_glfwGetEGLNativeWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetRequiredInstanceExtensionsWin32 DD imagerel $LN5 DD imagerel $LN5+115 DD imagerel $unwind$_glfwGetRequiredInstanceExtensionsWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetPhysicalDevicePresentationSupportWin32 DD imagerel $LN4 DD imagerel $LN4+119 DD imagerel $unwind$_glfwGetPhysicalDevicePresentationSupportWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwCreateWindowSurfaceWin32 DD imagerel $LN5 DD imagerel $LN5+311 DD imagerel $unwind$_glfwCreateWindowSurfaceWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$getWindowStyle DD imagerel getWindowStyle DD imagerel getWindowStyle+148 DD imagerel $unwind$getWindowStyle pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$getWindowExStyle DD imagerel getWindowExStyle DD imagerel getWindowExStyle+87 DD imagerel $unwind$getWindowExStyle pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$chooseImage DD imagerel chooseImage DD imagerel chooseImage+207 DD imagerel $unwind$chooseImage pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$createIcon DD imagerel createIcon DD imagerel createIcon+924 DD imagerel $unwind$createIcon pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$applyAspectRatio DD imagerel applyAspectRatio DD imagerel applyAspectRatio+606 DD imagerel $unwind$applyAspectRatio pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$updateCursorImage DD imagerel updateCursorImage DD imagerel updateCursorImage+148 DD imagerel $unwind$updateCursorImage pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$captureCursor DD imagerel captureCursor DD imagerel captureCursor+210 DD imagerel $unwind$captureCursor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$releaseCursor DD imagerel releaseCursor DD imagerel releaseCursor+56 DD imagerel $unwind$releaseCursor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$enableRawMouseMotion DD imagerel enableRawMouseMotion DD imagerel enableRawMouseMotion+199 DD imagerel $unwind$enableRawMouseMotion pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$disableRawMouseMotion DD imagerel disableRawMouseMotion DD imagerel disableRawMouseMotion+189 DD imagerel $unwind$disableRawMouseMotion pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$disableCursor DD imagerel disableCursor DD imagerel disableCursor+145 DD imagerel $unwind$disableCursor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$enableCursor DD imagerel enableCursor DD imagerel enableCursor+125 DD imagerel $unwind$enableCursor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$cursorInContentArea DD imagerel cursorInContentArea DD imagerel cursorInContentArea+254 DD imagerel $unwind$cursorInContentArea pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$updateWindowStyles DD imagerel updateWindowStyles DD imagerel updateWindowStyles+455 DD imagerel $unwind$updateWindowStyles pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$updateFramebufferTransparency DD imagerel updateFramebufferTransparency DD imagerel updateFramebufferTransparency+377 DD imagerel $unwind$updateFramebufferTransparency pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$getKeyMods DD imagerel getKeyMods DD imagerel getKeyMods+251 DD imagerel $unwind$getKeyMods pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$fitToMonitor DD imagerel fitToMonitor DD imagerel fitToMonitor+236 DD imagerel $unwind$fitToMonitor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$acquireMonitor DD imagerel acquireMonitor DD imagerel acquireMonitor+191 DD imagerel $unwind$acquireMonitor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$releaseMonitor DD imagerel releaseMonitor DD imagerel releaseMonitor+161 DD imagerel $unwind$releaseMonitor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$maximizeWindowManually DD imagerel maximizeWindowManually DD imagerel maximizeWindowManually+634 DD imagerel $unwind$maximizeWindowManually pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$windowProc DD imagerel windowProc DD imagerel windowProc+6625 DD imagerel $unwind$windowProc pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$createNativeWindow DD imagerel createNativeWindow DD imagerel createNativeWindow+2035 DD imagerel $unwind$createNativeWindow pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$glfwGetWin32Window DD imagerel $LN5 DD imagerel $LN5+121 DD imagerel $unwind$glfwGetWin32Window pdata ENDS ; COMDAT __xmm@80000000000000008000000000000000 CONST SEGMENT __xmm@80000000000000008000000000000000 DB 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 080H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 080H CONST ENDS ; COMDAT __real@437f0000 CONST SEGMENT __real@437f0000 DD 0437f0000r ; 255 CONST ENDS ; COMDAT __real@42c00000 CONST SEGMENT __real@42c00000 DD 042c00000r ; 96 CONST ENDS ; COMDAT __real@408f400000000000 CONST SEGMENT __real@408f400000000000 DQ 0408f400000000000r ; 1000 CONST ENDS ; COMDAT __real@405e000000000000 CONST SEGMENT __real@405e000000000000 DQ 0405e000000000000r ; 120 CONST ENDS ; COMDAT __real@3f800000 CONST SEGMENT __real@3f800000 DD 03f800000r ; 1 CONST ENDS ; COMDAT __real@00000000 CONST SEGMENT __real@00000000 DD 000000000r ; 0 CONST ENDS ; COMDAT rtc$TMZ rtc$TMZ SEGMENT _RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown rtc$TMZ ENDS ; COMDAT rtc$IMZ rtc$IMZ SEGMENT _RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase rtc$IMZ ENDS ; COMDAT ??_C@_0CA@MHMAANIG@Win32?3?5Platform?5not?5initialized@ CONST SEGMENT ??_C@_0CA@MHMAANIG@Win32?3?5Platform?5not?5initialized@ DB 'Win32: Platfo' DB 'rm not initialized', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CL@LJNEEKEI@Win32?3?5Failed?5to?5create?5Vulkan?5@ CONST SEGMENT ??_C@_0CL@LJNEEKEI@Win32?3?5Failed?5to?5create?5Vulkan?5@ DB 'Win32: Fail' DB 'ed to create Vulkan surface: %s', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BI@INMBJMIJ@vkCreateWin32SurfaceKHR@ CONST SEGMENT ??_C@_0BI@INMBJMIJ@vkCreateWin32SurfaceKHR@ DB 'vkCreateWin32SurfaceKHR', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DO@PGEACBCJ@Win32?3?5Vulkan?5instance?5missing?5@ CONST SEGMENT ??_C@_0DO@PGEACBCJ@Win32?3?5Vulkan?5instance?5missing?5@ DB 'Win32: Vulka' DB 'n instance missing VK_KHR_win32_surface extension', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CP@FOBJNCLA@vkGetPhysicalDeviceWin32Present@ CONST SEGMENT ??_C@_0CP@FOBJNCLA@vkGetPhysicalDeviceWin32Present@ DB 'vkGetPhysicalDevi' DB 'ceWin32PresentationSupportKHR', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BF@COCMEDFO@VK_KHR_win32_surface@ CONST SEGMENT ??_C@_0BF@COCMEDFO@VK_KHR_win32_surface@ DB 'VK_KHR_win32_surface', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0P@IENCOMCD@VK_KHR_surface@ CONST SEGMENT ??_C@_0P@IENCOMCD@VK_KHR_surface@ DB 'VK_KHR_surface', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CN@FGAGPCCP@Win32?3?5Failed?5to?5convert?5clipbo@ CONST SEGMENT ??_C@_0CN@FGAGPCCP@Win32?3?5Failed?5to?5convert?5clipbo@ DB 'Win32: Faile' DB 'd to convert clipboard to string', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CA@FNCFBEIG@Win32?3?5Failed?5to?5open?5clipboard@ CONST SEGMENT ??_C@_0CA@FNCFBEIG@Win32?3?5Failed?5to?5open?5clipboard@ DB 'Win32: Faile' DB 'd to open clipboard', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CE@OHDHEPIL@Win32?3?5Failed?5to?5lock?5global?5ha@ CONST SEGMENT ??_C@_0CE@OHDHEPIL@Win32?3?5Failed?5to?5lock?5global?5ha@ DB 'Win32: Fail' DB 'ed to lock global handle', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DG@CGDLBFFB@Win32?3?5Failed?5to?5allocate?5globa@ CONST SEGMENT ??_C@_0DG@CGDLBFFB@Win32?3?5Failed?5to?5allocate?5globa@ DB 'Win32: Faile' DB 'd to allocate global handle for clipboard', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CI@LDEHPBDB@Win32?3?5Failed?5to?5create?5standar@ CONST SEGMENT ??_C@_0CI@LDEHPBDB@Win32?3?5Failed?5to?5create?5standar@ DB 'Win32: Faile' DB 'd to create standard cursor', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BP@KPGBLOB@Win32?3?5Unknown?5standard?5cursor@ CONST SEGMENT ??_C@_0BP@KPGBLOB@Win32?3?5Unknown?5standard?5cursor@ DB 'Win32: Unknown ' DB 'standard cursor', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BE@IGCIBFAF@Invalid?5scancode?5?$CFi@ CONST SEGMENT ??_C@_0BE@IGCIBFAF@Invalid?5scancode?5?$CFi@ DB 'Invalid scancode %i', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BP@BFHGHOIO@Win32?3?5Failed?5to?5create?5window@ CONST SEGMENT ??_C@_0BP@BFHGHOIO@Win32?3?5Failed?5to?5create?5window@ DB 'Win32: Failed' DB ' to create window', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CH@GAPNPCHF@Win32?3?5Failed?5to?5register?5windo@ CONST SEGMENT ??_C@_0CH@GAPNPCHF@Win32?3?5Failed?5to?5register?5windo@ DB 'Win32: Faile' DB 'd to register window class', 00H ; `string' CONST ENDS ; COMDAT ??_C@_1BE@LDFMCOHA@?$AAG?$AAL?$AAF?$AAW?$AA_?$AAI?$AAC?$AAO?$AAN@ CONST SEGMENT ??_C@_1BE@LDFMCOHA@?$AAG?$AAL?$AAF?$AAW?$AA_?$AAI?$AAC?$AAO?$AAN@ DB 'G', 00H DB 'L', 00H, 'F', 00H, 'W', 00H, '_', 00H, 'I', 00H, 'C', 00H, 'O' DB 00H, 'N', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_1O@IBNLCBOC@?$AAG?$AAL?$AAF?$AAW?$AA3?$AA0@ CONST SEGMENT ??_C@_1O@IBNLCBOC@?$AAG?$AAL?$AAF?$AAW?$AA3?$AA0@ DB 'G', 00H, 'L', 00H, 'F' DB 00H, 'W', 00H, '3', 00H, '0', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CJ@GILDAIDE@Win32?3?5Failed?5to?5retrieve?5raw?5i@ CONST SEGMENT ??_C@_0CJ@GILDAIDE@Win32?3?5Failed?5to?5retrieve?5raw?5i@ DB 'Win32: Fail' DB 'ed to retrieve raw input data', 00H ; `string' CONST ENDS ; COMDAT ??_C@_19JBPKICJI@?$AAG?$AAL?$AAF?$AAW@ CONST SEGMENT ??_C@_19JBPKICJI@?$AAG?$AAL?$AAF?$AAW@ DB 'G', 00H, 'L', 00H, 'F', 00H, 'W' DB 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CJ@JFEDIEDE@Win32?3?5Failed?5to?5remove?5raw?5inp@ CONST SEGMENT ??_C@_0CJ@JFEDIEDE@Win32?3?5Failed?5to?5remove?5raw?5inp@ DB 'Win32: Fail' DB 'ed to remove raw input device', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CL@GPJNIICL@Win32?3?5Failed?5to?5register?5raw?5i@ CONST SEGMENT ??_C@_0CL@GPJNIICL@Win32?3?5Failed?5to?5register?5raw?5i@ DB 'Win32: Fail' DB 'ed to register raw input device', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BP@OHFKOFFD@Win32?3?5Failed?5to?5create?5cursor@ CONST SEGMENT ??_C@_0BP@OHFKOFFD@Win32?3?5Failed?5to?5create?5cursor@ DB 'Win32: Failed' DB ' to create cursor', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BN@HJHDCKKP@Win32?3?5Failed?5to?5create?5icon@ CONST SEGMENT ??_C@_0BN@HJHDCKKP@Win32?3?5Failed?5to?5create?5icon@ DB 'Win32: Failed t' DB 'o create icon', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CE@PKGOIGHB@Win32?3?5Failed?5to?5create?5mask?5bi@ CONST SEGMENT ??_C@_0CE@PKGOIGHB@Win32?3?5Failed?5to?5create?5mask?5bi@ DB 'Win32: Fail' DB 'ed to create mask bitmap', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CE@GCBEILKL@Win32?3?5Failed?5to?5create?5RGBA?5bi@ CONST SEGMENT ??_C@_0CE@GCBEILKL@Win32?3?5Failed?5to?5create?5RGBA?5bi@ DB 'Win32: Fail' DB 'ed to create RGBA bitmap', 00H ; `string' CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$glfwGetWin32Window DD 025051301H DD 010e2313H DD 070070021H DD 05006H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 041H DW 07d9H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$createNativeWindow DD 065064819H DD 0119631eH DD 070120098H DD 050106011H DD imagerel __GSHandlerCheck DD 04b8H xdata ENDS ; COMDAT CONST CONST SEGMENT createNativeWindow$rtcName$0 DB 077H DB 063H DB 00H ORG $+1 createNativeWindow$rtcName$1 DB 06dH DB 069H DB 00H ORG $+1 createNativeWindow$rtcName$2 DB 072H DB 065H DB 063H DB 074H DB 00H ORG $+3 createNativeWindow$rtcName$3 DB 072H DB 065H DB 063H DB 074H DB 00H ORG $+3 createNativeWindow$rtcName$4 DB 077H DB 070H DB 00H ORG $+1 createNativeWindow$rtcName$5 DB 078H DB 073H DB 063H DB 061H DB 06cH DB 065H DB 00H ORG $+1 createNativeWindow$rtcName$6 DB 079H DB 073H DB 063H DB 061H DB 06cH DB 065H DB 00H ORG $+1 createNativeWindow$rtcName$7 DB 06dH DB 069H DB 00H ORG $+1 createNativeWindow$rtcVarDesc DD 0308H DD 028H DQ FLAT:createNativeWindow$rtcName$7 DD 02e4H DD 04H DQ FLAT:createNativeWindow$rtcName$6 DD 02c4H DD 04H DQ FLAT:createNativeWindow$rtcName$5 DD 0258H DD 02cH DQ FLAT:createNativeWindow$rtcName$4 DD 0228H DD 010H DQ FLAT:createNativeWindow$rtcName$3 DD 01f8H DD 010H DQ FLAT:createNativeWindow$rtcName$2 DD 01b8H DD 028H DQ FLAT:createNativeWindow$rtcName$1 DD 0150H DD 050H DQ FLAT:createNativeWindow$rtcName$0 ORG $+384 createNativeWindow$rtcFrameData DD 08H DD 00H DQ FLAT:createNativeWindow$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 044H DW 017a4H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$windowProc DD 045054b19H DD 011c4321H DD 070150135H DD 05014H DD imagerel __GSHandlerCheck DD 0990H xdata ENDS ; COMDAT CONST CONST SEGMENT windowProc$rtcName$0 DB 06eH DB 065H DB 078H DB 074H DB 00H ORG $+3 windowProc$rtcName$1 DB 074H DB 06dH DB 065H DB 00H windowProc$rtcName$2 DB 073H DB 069H DB 07aH DB 065H DB 00H ORG $+3 windowProc$rtcName$3 DB 066H DB 072H DB 061H DB 06dH DB 065H DB 00H ORG $+2 windowProc$rtcName$4 DB 06dH DB 069H DB 00H ORG $+1 windowProc$rtcName$5 DB 073H DB 06fH DB 075H DB 072H DB 063H DB 065H DB 00H ORG $+1 windowProc$rtcName$6 DB 074H DB 061H DB 072H DB 067H DB 065H DB 074H DB 00H ORG $+1 windowProc$rtcName$7 DB 070H DB 074H DB 00H ORG $+13 windowProc$rtcVarDesc DD 05d8H DD 08H DQ FLAT:windowProc$rtcName$7 DD 0508H DD 010H DQ FLAT:windowProc$rtcName$6 DD 04d8H DD 010H DQ FLAT:windowProc$rtcName$5 DD 0478H DD 028H DQ FLAT:windowProc$rtcName$4 DD 03e8H DD 010H DQ FLAT:windowProc$rtcName$3 DD 02c4H DD 04H DQ FLAT:windowProc$rtcName$2 DD 0258H DD 018H DQ FLAT:windowProc$rtcName$1 DD 0148H DD 030H DQ FLAT:windowProc$rtcName$0 ORG $+384 windowProc$rtcFrameData DD 08H DD 00H DQ FLAT:windowProc$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 037H DW 0260H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$maximizeWindowManually DD 045063e19H DD 010f4314H DD 07008003aH DD 050066007H DD imagerel __GSHandlerCheck DD 01c8H xdata ENDS ; COMDAT CONST CONST SEGMENT maximizeWindowManually$rtcName$0 DB 072H DB 065H DB 063H DB 074H DB 00H ORG $+3 maximizeWindowManually$rtcName$1 DB 06dH DB 069H DB 00H ORG $+5 maximizeWindowManually$rtcVarDesc DD 098H DD 028H DQ FLAT:maximizeWindowManually$rtcName$1 DD 048H DD 010H DQ FLAT:maximizeWindowManually$rtcName$0 ORG $+96 maximizeWindowManually$rtcFrameData DD 02H DD 00H DQ FLAT:maximizeWindowManually$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$releaseMonitor DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$acquireMonitor DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 036H DB 0d3H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$fitToMonitor DD 045053d19H DD 010e4313H DD 070070029H DD 05006H DD imagerel __GSHandlerCheck DD 0138H xdata ENDS ; COMDAT CONST CONST SEGMENT fitToMonitor$rtcName$0 DB 06dH DB 069H DB 00H ORG $+13 fitToMonitor$rtcVarDesc DD 048H DD 028H DQ FLAT:fitToMonitor$rtcName$0 ORG $+48 fitToMonitor$rtcFrameData DD 01H DD 00H DQ FLAT:fitToMonitor$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$getKeyMods DD 025050f01H DD 010a230fH DD 070030021H DD 05002H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 036H DW 0160H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$updateFramebufferTransparency DD 025053d19H DD 010e2313H DD 070070039H DD 05006H DD imagerel __GSHandlerCheck DD 01b8H xdata ENDS ; COMDAT CONST CONST SEGMENT updateFramebufferTransparency$rtcName$0 DB 063H DB 06fH DB 06dH DB 070H DB 06fH DB 073H DB 069H DB 074H DB 069H DB 06fH DB 06eH DB 00H updateFramebufferTransparency$rtcName$1 DB 06fH DB 070H DB 061H DB 071H DB 075H DB 065H DB 00H ORG $+1 updateFramebufferTransparency$rtcName$2 DB 063H DB 06fH DB 06cH DB 06fH DB 072H DB 00H ORG $+2 updateFramebufferTransparency$rtcName$3 DB 062H DB 062H DB 00H ORG $+1 updateFramebufferTransparency$rtcName$4 DB 062H DB 062H DB 00H ORG $+13 updateFramebufferTransparency$rtcVarDesc DD 0d8H DD 018H DQ FLAT:updateFramebufferTransparency$rtcName$4 DD 0a8H DD 018H DQ FLAT:updateFramebufferTransparency$rtcName$3 DD 064H DD 04H DQ FLAT:updateFramebufferTransparency$rtcName$2 DD 044H DD 04H DQ FLAT:updateFramebufferTransparency$rtcName$1 DD 024H DD 04H DQ FLAT:updateFramebufferTransparency$rtcName$0 ORG $+240 updateFramebufferTransparency$rtcFrameData DD 05H DD 00H DQ FLAT:updateFramebufferTransparency$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 036H DW 01aeH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$updateWindowStyles DD 045053d19H DD 010e4313H DD 07007002bH DD 05006H DD imagerel __GSHandlerCheck DD 0148H xdata ENDS ; COMDAT CONST CONST SEGMENT updateWindowStyles$rtcName$0 DB 072H DB 065H DB 063H DB 074H DB 00H ORG $+11 updateWindowStyles$rtcVarDesc DD 048H DD 010H DQ FLAT:updateWindowStyles$rtcName$0 ORG $+48 updateWindowStyles$rtcFrameData DD 01H DD 00H DQ FLAT:updateWindowStyles$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 036H DB 0e5H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$cursorInContentArea DD 025053d19H DD 010e2313H DD 070070027H DD 05006H DD imagerel __GSHandlerCheck DD 0128H xdata ENDS ; COMDAT CONST CONST SEGMENT cursorInContentArea$rtcName$0 DB 061H DB 072H DB 065H DB 061H DB 00H ORG $+3 cursorInContentArea$rtcName$1 DB 070H DB 06fH DB 073H DB 00H ORG $+4 cursorInContentArea$rtcVarDesc DD 058H DD 08H DQ FLAT:cursorInContentArea$rtcName$1 DD 028H DD 010H DQ FLAT:cursorInContentArea$rtcName$0 ORG $+96 cursorInContentArea$rtcFrameData DD 02H DD 00H DQ FLAT:cursorInContentArea$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$enableCursor DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$disableCursor DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 036H DB 0a4H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$disableRawMouseMotion DD 025053d19H DD 010e2313H DD 070070023H DD 05006H DD imagerel __GSHandlerCheck DD 0108H xdata ENDS ; COMDAT CONST CONST SEGMENT disableRawMouseMotion$rtcName$0 DB 072H DB 069H DB 064H DB 00H ORG $+12 disableRawMouseMotion$rtcVarDesc DD 028H DD 010H DQ FLAT:disableRawMouseMotion$rtcName$0 ORG $+48 disableRawMouseMotion$rtcFrameData DD 01H DD 00H DQ FLAT:disableRawMouseMotion$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 036H DB 0aeH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$enableRawMouseMotion DD 025053d19H DD 010e2313H DD 070070023H DD 05006H DD imagerel __GSHandlerCheck DD 0108H xdata ENDS ; COMDAT CONST CONST SEGMENT enableRawMouseMotion$rtcName$0 DB 072H DB 069H DB 064H DB 00H ORG $+12 enableRawMouseMotion$rtcVarDesc DD 028H DD 010H DQ FLAT:enableRawMouseMotion$rtcName$0 ORG $+48 enableRawMouseMotion$rtcFrameData DD 01H DD 00H DQ FLAT:enableRawMouseMotion$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$releaseCursor DD 025050f01H DD 010a230fH DD 07003001dH DD 05002H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 036H DB 0b9H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$captureCursor DD 025053d19H DD 010e2313H DD 070070023H DD 05006H DD imagerel __GSHandlerCheck DD 0108H xdata ENDS ; COMDAT CONST CONST SEGMENT captureCursor$rtcName$0 DB 063H DB 06cH DB 069H DB 070H DB 052H DB 065H DB 063H DB 074H DB 00H ORG $+7 captureCursor$rtcVarDesc DD 028H DD 010H DQ FLAT:captureCursor$rtcName$0 ORG $+48 captureCursor$rtcFrameData DD 01H DD 00H DQ FLAT:captureCursor$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$updateCursorImage DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 03fH DW 0245H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$applyAspectRatio DD 035054619H DD 0117331cH DD 070100031H DD 0500fH DD imagerel __GSHandlerCheck DD 0178H xdata ENDS ; COMDAT CONST CONST SEGMENT applyAspectRatio$rtcName$0 DB 066H DB 072H DB 061H DB 06dH DB 065H DB 00H ORG $+10 applyAspectRatio$rtcVarDesc DD 038H DD 010H DQ FLAT:applyAspectRatio$rtcName$0 ORG $+48 applyAspectRatio$rtcFrameData DD 01H DD 00H DQ FLAT:applyAspectRatio$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 044H DW 0383H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$createIcon DD 035054b19H DD 011c3321H DD 070150057H DD 05014H DD imagerel __GSHandlerCheck DD 02a8H xdata ENDS ; COMDAT CONST CONST SEGMENT createIcon$rtcName$0 DB 062H DB 069H DB 00H ORG $+1 createIcon$rtcName$1 DB 069H DB 069H DB 00H ORG $+1 createIcon$rtcName$2 DB 074H DB 061H DB 072H DB 067H DB 065H DB 074H DB 00H ORG $+1 createIcon$rtcVarDesc DD 01b8H DD 08H DQ FLAT:createIcon$rtcName$2 DD 0178H DD 020H DQ FLAT:createIcon$rtcName$1 DD 0e0H DD 07cH DQ FLAT:createIcon$rtcName$0 ORG $+144 createIcon$rtcFrameData DD 03H DD 00H DQ FLAT:createIcon$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$chooseImage DD 025052101H DD 011c2321H DD 07015002dH DD 05014H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$getWindowExStyle DD 025051301H DD 010e2313H DD 070070021H DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$getWindowStyle DD 025051301H DD 010e2313H DD 070070021H DD 05006H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 045H DW 011eH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwCreateWindowSurfaceWin32 DD 025054c19H DD 011d2322H DD 07016002dH DD 05015H DD imagerel __GSHandlerCheck DD 0158H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwCreateWindowSurfaceWin32$rtcName$0 DB 073H DB 063H DB 069H DB 00H ORG $+12 _glfwCreateWindowSurfaceWin32$rtcVarDesc DD 048H DD 028H DQ FLAT:_glfwCreateWindowSurfaceWin32$rtcName$0 ORG $+48 _glfwCreateWindowSurfaceWin32$rtcFrameData DD 01H DD 00H DQ FLAT:_glfwCreateWindowSurfaceWin32$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetPhysicalDevicePresentationSupportWin32 DD 025051d01H DD 0118231dH DD 070110021H DD 05010H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetRequiredInstanceExtensionsWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetEGLNativeWindowWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetEGLNativeDisplayWin32 DD 025050f01H DD 010a230fH DD 07003001dH DD 05002H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetEGLPlatformWin32 DD 025051301H DD 010e2313H DD 070070021H DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetClipboardStringWin32 DD 025050f01H DD 010a230fH DD 070030025H DD 05002H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetClipboardStringWin32 DD 035051301H DD 010e3313H DD 07007002bH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetCursorWin32 DD 025051801H DD 01132318H DD 0700c001dH DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwDestroyCursorWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwCreateStandardCursorWin32 DD 035051701H DD 01123317H DD 0700b0023H DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwCreateCursorWin32 DD 025052201H DD 011d2322H DD 07016001dH DD 05015H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetKeyScancodeWin32 DD 025051201H DD 010d2312H DD 07006001dH DD 05005H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetScancodeNameWin32 DD 025051201H DD 010d2312H DD 07006001dH DD 05005H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetCursorModeWin32 DD 025051701H DD 01122317H DD 0700b001dH DD 0500aH xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 042H DB 0bfH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetCursorPosWin32 DD 025054919H DD 011a231fH DD 070130021H DD 05012H DD imagerel __GSHandlerCheck DD 0f8H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwSetCursorPosWin32$rtcName$0 DB 070H DB 06fH DB 073H DB 00H ORG $+12 _glfwSetCursorPosWin32$rtcVarDesc DD 028H DD 08H DQ FLAT:_glfwSetCursorPosWin32$rtcName$0 ORG $+48 _glfwSetCursorPosWin32$rtcFrameData DD 01H DD 00H DQ FLAT:_glfwSetCursorPosWin32$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 040H DB 0bdH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetCursorPosWin32 DD 025054719H DD 0118231dH DD 070110021H DD 05010H DD imagerel __GSHandlerCheck DD 0f8H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwGetCursorPosWin32$rtcName$0 DB 070H DB 06fH DB 073H DB 00H ORG $+12 _glfwGetCursorPosWin32$rtcVarDesc DD 028H DD 08H DQ FLAT:_glfwGetCursorPosWin32$rtcName$0 ORG $+48 _glfwGetCursorPosWin32$rtcFrameData DD 01H DD 00H DQ FLAT:_glfwGetCursorPosWin32$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwPostEmptyEventWin32 DD 025050f01H DD 010a230fH DD 07003001dH DD 05002H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwWaitEventsTimeoutWin32 DD 035051401H DD 010f3314H DD 07008001fH DD 05007H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwWaitEventsWin32 DD 025050f01H DD 010a230fH DD 07003001dH DD 05002H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 02aH DW 0297H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwPollEventsWin32 DD 035053119H DD 010a330fH DD 070030051H DD 05002H DD imagerel __GSHandlerCheck DD 0278H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwPollEventsWin32$rtcName$0 DB 06dH DB 073H DB 067H DB 00H _glfwPollEventsWin32$rtcName$1 DB 06bH DB 065H DB 079H DB 073H DB 00H ORG $+3 _glfwPollEventsWin32$rtcName$2 DB 077H DB 069H DB 064H DB 074H DB 068H DB 00H ORG $+2 _glfwPollEventsWin32$rtcName$3 DB 068H DB 065H DB 069H DB 067H DB 068H DB 074H DB 00H ORG $+5 _glfwPollEventsWin32$rtcVarDesc DD 01a4H DD 04H DQ FLAT:_glfwPollEventsWin32$rtcName$3 DD 0184H DD 04H DQ FLAT:_glfwPollEventsWin32$rtcName$2 DD 0e8H DD 020H DQ FLAT:_glfwPollEventsWin32$rtcName$1 DD 038H DD 030H DQ FLAT:_glfwPollEventsWin32$rtcName$0 ORG $+192 _glfwPollEventsWin32$rtcFrameData DD 04H DD 00H DQ FLAT:_glfwPollEventsWin32$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwRawMouseMotionSupportedWin32 DD 025050f01H DD 010a230fH DD 07003001dH DD 05002H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetRawMouseMotionWin32 DD 025051701H DD 01122317H DD 0700b001dH DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowOpacityWin32 DD 025051901H DD 01142319H DD 0700d0025H DD 0500cH xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 036H DB 0cdH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetWindowOpacityWin32 DD 035053d19H DD 010e3313H DD 070070027H DD 05006H DD imagerel __GSHandlerCheck DD 0128H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwGetWindowOpacityWin32$rtcName$0 DB 061H DB 06cH DB 070H DB 068H DB 061H DB 00H ORG $+2 _glfwGetWindowOpacityWin32$rtcName$1 DB 066H DB 06cH DB 061H DB 067H DB 073H DB 00H ORG $+2 _glfwGetWindowOpacityWin32$rtcVarDesc DD 054H DD 04H DQ FLAT:_glfwGetWindowOpacityWin32$rtcName$1 DD 034H DD 01H DQ FLAT:_glfwGetWindowOpacityWin32$rtcName$0 ORG $+96 _glfwGetWindowOpacityWin32$rtcFrameData DD 02H DD 00H DQ FLAT:_glfwGetWindowOpacityWin32$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 03aH DW 013cH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowMousePassthroughWin32 DD 025054119H DD 01122317H DD 0700b002dH DD 0500aH DD imagerel __GSHandlerCheck DD 0158H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwSetWindowMousePassthroughWin32$rtcName$0 DB 06bH DB 065H DB 079H DB 00H _glfwSetWindowMousePassthroughWin32$rtcName$1 DB 061H DB 06cH DB 070H DB 068H DB 061H DB 00H ORG $+2 _glfwSetWindowMousePassthroughWin32$rtcName$2 DB 066H DB 06cH DB 061H DB 067H DB 073H DB 00H ORG $+14 _glfwSetWindowMousePassthroughWin32$rtcVarDesc DD 064H DD 04H DQ FLAT:_glfwSetWindowMousePassthroughWin32$rtcName$2 DD 044H DD 01H DQ FLAT:_glfwSetWindowMousePassthroughWin32$rtcName$1 DD 024H DD 04H DQ FLAT:_glfwSetWindowMousePassthroughWin32$rtcName$0 ORG $+144 _glfwSetWindowMousePassthroughWin32$rtcFrameData DD 03H DD 00H DQ FLAT:_glfwSetWindowMousePassthroughWin32$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowFloatingWin32 DD 045051701H DD 01124317H DD 0700b0025H DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowDecoratedWin32 DD 025051701H DD 01122317H DD 0700b001dH DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowResizableWin32 DD 025051701H DD 01122317H DD 0700b001dH DD 0500aH xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 036H DB 0d6H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwFramebufferTransparentWin32 DD 025053d19H DD 010e2313H DD 070070029H DD 05006H DD imagerel __GSHandlerCheck DD 0138H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwFramebufferTransparentWin32$rtcName$0 DB 063H DB 06fH DB 06dH DB 070H DB 06fH DB 073H DB 069H DB 074H DB 069H DB 06fH DB 06eH DB 00H _glfwFramebufferTransparentWin32$rtcName$1 DB 06fH DB 070H DB 061H DB 071H DB 075H DB 065H DB 00H ORG $+1 _glfwFramebufferTransparentWin32$rtcName$2 DB 063H DB 06fH DB 06cH DB 06fH DB 072H DB 00H ORG $+6 _glfwFramebufferTransparentWin32$rtcVarDesc DD 064H DD 04H DQ FLAT:_glfwFramebufferTransparentWin32$rtcName$2 DD 044H DD 04H DQ FLAT:_glfwFramebufferTransparentWin32$rtcName$1 DD 024H DD 04H DQ FLAT:_glfwFramebufferTransparentWin32$rtcName$0 ORG $+144 _glfwFramebufferTransparentWin32$rtcFrameData DD 03H DD 00H DQ FLAT:_glfwFramebufferTransparentWin32$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwWindowHoveredWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwWindowMaximizedWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwWindowVisibleWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwWindowIconifiedWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwWindowFocusedWin32 DD 025051301H DD 010e2313H DD 07007001fH DD 05006H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 045H DW 0528H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowMonitorWin32 DD 045054c19H DD 011d4322H DD 07016004bH DD 05015H DD imagerel __GSHandlerCheck DD 0240H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwSetWindowMonitorWin32$rtcName$0 DB 072H DB 065H DB 063H DB 074H DB 00H ORG $+3 _glfwSetWindowMonitorWin32$rtcName$1 DB 06dH DB 069H DB 00H ORG $+1 _glfwSetWindowMonitorWin32$rtcName$2 DB 072H DB 065H DB 063H DB 074H DB 00H ORG $+15 _glfwSetWindowMonitorWin32$rtcVarDesc DD 0118H DD 010H DQ FLAT:_glfwSetWindowMonitorWin32$rtcName$2 DD 078H DD 028H DQ FLAT:_glfwSetWindowMonitorWin32$rtcName$1 DD 048H DD 010H DQ FLAT:_glfwSetWindowMonitorWin32$rtcName$0 ORG $+144 _glfwSetWindowMonitorWin32$rtcFrameData DD 03H DD 00H DQ FLAT:_glfwSetWindowMonitorWin32$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwFocusWindowWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwRequestWindowAttentionWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwHideWindowWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwShowWindowWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwMaximizeWindowWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwRestoreWindowWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwIconifyWindowWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetWindowContentScaleWin32 DD 025051d01H DD 0118231dH DD 070110021H DD 05010H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 045H DW 019fH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetWindowFrameSizeWin32 DD 035054c19H DD 011d3322H DD 07016002fH DD 05015H DD imagerel __GSHandlerCheck DD 0160H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwGetWindowFrameSizeWin32$rtcName$0 DB 072H DB 065H DB 063H DB 074H DB 00H ORG $+3 _glfwGetWindowFrameSizeWin32$rtcName$1 DB 077H DB 069H DB 064H DB 074H DB 068H DB 00H ORG $+2 _glfwGetWindowFrameSizeWin32$rtcName$2 DB 068H DB 065H DB 069H DB 067H DB 068H DB 074H DB 00H ORG $+9 _glfwGetWindowFrameSizeWin32$rtcVarDesc DD 084H DD 04H DQ FLAT:_glfwGetWindowFrameSizeWin32$rtcName$2 DD 064H DD 04H DQ FLAT:_glfwGetWindowFrameSizeWin32$rtcName$1 DD 038H DD 010H DQ FLAT:_glfwGetWindowFrameSizeWin32$rtcName$0 ORG $+144 _glfwGetWindowFrameSizeWin32$rtcFrameData DD 03H DD 00H DQ FLAT:_glfwGetWindowFrameSizeWin32$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetFramebufferSizeWin32 DD 025051d01H DD 0118231dH DD 07011001dH DD 05010H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 03fH DB 0e1H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowAspectRatioWin32 DD 035054619H DD 0117331cH DD 070100025H DD 0500fH DD imagerel __GSHandlerCheck DD 0118H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwSetWindowAspectRatioWin32$rtcName$0 DB 061H DB 072H DB 065H DB 061H DB 00H ORG $+11 _glfwSetWindowAspectRatioWin32$rtcVarDesc DD 038H DD 010H DQ FLAT:_glfwSetWindowAspectRatioWin32$rtcName$0 ORG $+48 _glfwSetWindowAspectRatioWin32$rtcFrameData DD 01H DD 00H DQ FLAT:_glfwSetWindowAspectRatioWin32$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 044H DB 0e3H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowSizeLimitsWin32 DD 035054b19H DD 011c3321H DD 070150025H DD 05014H DD imagerel __GSHandlerCheck DD 0118H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwSetWindowSizeLimitsWin32$rtcName$0 DB 061H DB 072H DB 065H DB 061H DB 00H ORG $+11 _glfwSetWindowSizeLimitsWin32$rtcVarDesc DD 038H DD 010H DQ FLAT:_glfwSetWindowSizeLimitsWin32$rtcName$0 ORG $+48 _glfwSetWindowSizeLimitsWin32$rtcFrameData DD 01H DD 00H DQ FLAT:_glfwSetWindowSizeLimitsWin32$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 03fH DW 01a7H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowSizeWin32 DD 045054619H DD 0117431cH DD 070100029H DD 0500fH DD imagerel __GSHandlerCheck DD 0130H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwSetWindowSizeWin32$rtcName$0 DB 072H DB 065H DB 063H DB 074H DB 00H ORG $+11 _glfwSetWindowSizeWin32$rtcVarDesc DD 048H DD 010H DQ FLAT:_glfwSetWindowSizeWin32$rtcName$0 ORG $+48 _glfwSetWindowSizeWin32$rtcFrameData DD 01H DD 00H DQ FLAT:_glfwSetWindowSizeWin32$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 040H DB 0a7H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetWindowSizeWin32 DD 025054719H DD 0118231dH DD 070110023H DD 05010H DD imagerel __GSHandlerCheck DD 0108H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwGetWindowSizeWin32$rtcName$0 DB 061H DB 072H DB 065H DB 061H DB 00H ORG $+11 _glfwGetWindowSizeWin32$rtcVarDesc DD 028H DD 010H DQ FLAT:_glfwGetWindowSizeWin32$rtcName$0 ORG $+48 _glfwGetWindowSizeWin32$rtcFrameData DD 01H DD 00H DQ FLAT:_glfwGetWindowSizeWin32$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 03fH DW 015bH voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowPosWin32 DD 045054619H DD 0117431cH DD 070100029H DD 0500fH DD imagerel __GSHandlerCheck DD 0130H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwSetWindowPosWin32$rtcName$0 DB 072H DB 065H DB 063H DB 074H DB 00H ORG $+11 _glfwSetWindowPosWin32$rtcVarDesc DD 048H DD 010H DQ FLAT:_glfwSetWindowPosWin32$rtcName$0 ORG $+48 _glfwSetWindowPosWin32$rtcFrameData DD 01H DD 00H DQ FLAT:_glfwSetWindowPosWin32$rtcVarDesc CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 040H DB 0b5H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetWindowPosWin32 DD 025054719H DD 0118231dH DD 070110021H DD 05010H DD imagerel __GSHandlerCheck DD 0f8H xdata ENDS ; COMDAT CONST CONST SEGMENT _glfwGetWindowPosWin32$rtcName$0 DB 070H DB 06fH DB 073H DB 00H ORG $+12 _glfwGetWindowPosWin32$rtcVarDesc DD 028H DD 08H DQ FLAT:_glfwGetWindowPosWin32$rtcName$0 ORG $+48 _glfwGetWindowPosWin32$rtcFrameData DD 01H DD 00H DQ FLAT:_glfwGetWindowPosWin32$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowIconWin32 DD 025051c01H DD 0117231cH DD 07010002dH DD 0500fH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowTitleWin32 DD 025051801H DD 01132318H DD 0700c0021H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwDestroyWindowWin32 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwCreateWindowWin32 DD 025052201H DD 011d2322H DD 07016001dH DD 05015H xdata ENDS ; Function compile flags: /Odt ; COMDAT __JustMyCode_Default _TEXT SEGMENT __JustMyCode_Default PROC ; COMDAT 00000 c2 00 00 ret 0 __JustMyCode_Default ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT glfwGetWin32Window _TEXT SEGMENT window$ = 8 handle$ = 256 glfwGetWin32Window PROC ; COMDAT ; 2489 : { $LN5: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2490 : _GLFWwindow* window = (_GLFWwindow*) handle; 0001f 48 8b 85 00 01 00 00 mov rax, QWORD PTR handle$[rbp] 00026 48 89 45 08 mov QWORD PTR window$[rbp], rax ; 2491 : _GLFW_REQUIRE_INIT_OR_RETURN(NULL); 0002a 83 3d 00 00 00 00 00 cmp DWORD PTR _glfw, 0 00031 75 10 jne SHORT $LN2@glfwGetWin 00033 33 d2 xor edx, edx 00035 b9 01 00 01 00 mov ecx, 65537 ; 00010001H 0003a e8 00 00 00 00 call _glfwInputError 0003f 33 c0 xor eax, eax 00041 eb 2c jmp SHORT $LN1@glfwGetWin $LN2@glfwGetWin: ; 2492 : ; 2493 : if (_glfw.platform.platformID != GLFW_PLATFORM_WIN32) 00043 81 3d 28 00 00 00 01 00 06 00 cmp DWORD PTR _glfw+40, 393217 ; 00060001H 0004d 74 15 je SHORT $LN3@glfwGetWin ; 2494 : { ; 2495 : _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, 0004f 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CA@MHMAANIG@Win32?3?5Platform?5not?5initialized@ 00056 b9 0e 00 01 00 mov ecx, 65550 ; 0001000eH 0005b e8 00 00 00 00 call _glfwInputError ; 2496 : "Win32: Platform not initialized"); ; 2497 : return NULL; 00060 33 c0 xor eax, eax 00062 eb 0b jmp SHORT $LN1@glfwGetWin $LN3@glfwGetWin: ; 2498 : } ; 2499 : ; 2500 : return window->win32.handle; 00064 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00068 48 8b 80 58 03 00 00 mov rax, QWORD PTR [rax+856] $LN1@glfwGetWin: ; 2501 : } 0006f 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 00076 5f pop rdi 00077 5d pop rbp 00078 c3 ret 0 glfwGetWin32Window ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT createNativeWindow _TEXT SEGMENT frameX$ = 4 frameY$ = 36 frameWidth$ = 68 frameHeight$ = 100 wideTitle$ = 136 style$ = 164 exStyle$ = 196 wc$11 = 240 mi$12 = 344 rect$13 = 408 rect$14 = 456 wp$15 = 504 mh$16 = 584 xscale$17 = 612 yscale$18 = 644 mi$19 = 680 __$ArrayPad$ = 1112 window$ = 1152 wndconfig$ = 1160 fbconfig$ = 1168 createNativeWindow PROC ; COMDAT ; 1255 : { 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 55 push rbp 00010 56 push rsi 00011 57 push rdi 00012 48 81 ec c0 04 00 00 sub rsp, 1216 ; 000004c0H 00019 48 8d 6c 24 60 lea rbp, QWORD PTR [rsp+96] 0001e 48 8d 7c 24 60 lea rdi, QWORD PTR [rsp+96] 00023 b9 b8 00 00 00 mov ecx, 184 ; 000000b8H 00028 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002d f3 ab rep stosd 0002f 48 8b 8c 24 e8 04 00 00 mov rcx, QWORD PTR [rsp+1256] 00037 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0003e 48 33 c5 xor rax, rbp 00041 48 89 85 58 04 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00048 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0004f e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1256 : int frameX, frameY, frameWidth, frameHeight; ; 1257 : WCHAR* wideTitle; ; 1258 : DWORD style = getWindowStyle(window); 00054 48 8b 8d 80 04 00 00 mov rcx, QWORD PTR window$[rbp] 0005b e8 00 00 00 00 call getWindowStyle 00060 89 85 a4 00 00 00 mov DWORD PTR style$[rbp], eax ; 1259 : DWORD exStyle = getWindowExStyle(window); 00066 48 8b 8d 80 04 00 00 mov rcx, QWORD PTR window$[rbp] 0006d e8 00 00 00 00 call getWindowExStyle 00072 89 85 c4 00 00 00 mov DWORD PTR exStyle$[rbp], eax ; 1260 : ; 1261 : if (!_glfw.win32.mainWindowClass) 00078 0f b7 05 8a 1b 00 00 movzx eax, WORD PTR _glfw+7050 0007f 85 c0 test eax, eax 00081 0f 85 0b 01 00 00 jne $LN2@createNati ; 1262 : { ; 1263 : WNDCLASSEXW wc = { sizeof(wc) }; 00087 c7 85 f0 00 00 00 50 00 00 00 mov DWORD PTR wc$11[rbp], 80 ; 00000050H 00091 48 8d 85 f4 00 00 00 lea rax, QWORD PTR wc$11[rbp+4] 00098 48 8b f8 mov rdi, rax 0009b 33 c0 xor eax, eax 0009d b9 4c 00 00 00 mov ecx, 76 ; 0000004cH 000a2 f3 aa rep stosb ; 1264 : wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; 000a4 c7 85 f4 00 00 00 23 00 00 00 mov DWORD PTR wc$11[rbp+4], 35 ; 00000023H ; 1265 : wc.lpfnWndProc = windowProc; 000ae 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:windowProc 000b5 48 89 85 f8 00 00 00 mov QWORD PTR wc$11[rbp+8], rax ; 1266 : wc.hInstance = _glfw.win32.instance; 000bc 48 8b 05 78 1b 00 00 mov rax, QWORD PTR _glfw+7032 000c3 48 89 85 08 01 00 00 mov QWORD PTR wc$11[rbp+24], rax ; 1267 : wc.hCursor = LoadCursorW(NULL, IDC_ARROW); 000ca ba 00 7f 00 00 mov edx, 32512 ; 00007f00H 000cf 33 c9 xor ecx, ecx 000d1 ff 15 00 00 00 00 call QWORD PTR __imp_LoadCursorW 000d7 48 89 85 18 01 00 00 mov QWORD PTR wc$11[rbp+40], rax ; 1268 : #if defined(_GLFW_WNDCLASSNAME) ; 1269 : wc.lpszClassName = _GLFW_WNDCLASSNAME; ; 1270 : #else ; 1271 : wc.lpszClassName = L"GLFW30"; 000de 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_1O@IBNLCBOC@?$AAG?$AAL?$AAF?$AAW?$AA3?$AA0@ 000e5 48 89 85 30 01 00 00 mov QWORD PTR wc$11[rbp+64], rax ; 1272 : #endif ; 1273 : // Load user-provided icon if available ; 1274 : wc.hIcon = LoadImageW(GetModuleHandleW(NULL), 000ec 33 c9 xor ecx, ecx 000ee ff 15 00 00 00 00 call QWORD PTR __imp_GetModuleHandleW 000f4 c7 44 24 28 40 80 00 00 mov DWORD PTR [rsp+40], 32832 ; 00008040H 000fc c7 44 24 20 00 00 00 00 mov DWORD PTR [rsp+32], 0 00104 45 33 c9 xor r9d, r9d 00107 41 b8 01 00 00 00 mov r8d, 1 0010d 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1BE@LDFMCOHA@?$AAG?$AAL?$AAF?$AAW?$AA_?$AAI?$AAC?$AAO?$AAN@ 00114 48 8b c8 mov rcx, rax 00117 ff 15 00 00 00 00 call QWORD PTR __imp_LoadImageW 0011d 48 89 85 10 01 00 00 mov QWORD PTR wc$11[rbp+32], rax ; 1275 : L"GLFW_ICON", IMAGE_ICON, ; 1276 : 0, 0, LR_DEFAULTSIZE | LR_SHARED); ; 1277 : if (!wc.hIcon) 00124 48 83 bd 10 01 00 00 00 cmp QWORD PTR wc$11[rbp+32], 0 0012c 75 2d jne SHORT $LN3@createNati ; 1278 : { ; 1279 : // No user-provided icon found, load default icon ; 1280 : wc.hIcon = LoadImageW(NULL, 0012e c7 44 24 28 40 80 00 00 mov DWORD PTR [rsp+40], 32832 ; 00008040H 00136 c7 44 24 20 00 00 00 00 mov DWORD PTR [rsp+32], 0 0013e 45 33 c9 xor r9d, r9d 00141 41 b8 01 00 00 00 mov r8d, 1 00147 ba 00 7f 00 00 mov edx, 32512 ; 00007f00H 0014c 33 c9 xor ecx, ecx 0014e ff 15 00 00 00 00 call QWORD PTR __imp_LoadImageW 00154 48 89 85 10 01 00 00 mov QWORD PTR wc$11[rbp+32], rax $LN3@createNati: ; 1281 : IDI_APPLICATION, IMAGE_ICON, ; 1282 : 0, 0, LR_DEFAULTSIZE | LR_SHARED); ; 1283 : } ; 1284 : ; 1285 : _glfw.win32.mainWindowClass = RegisterClassExW(&wc); 0015b 48 8d 8d f0 00 00 00 lea rcx, QWORD PTR wc$11[rbp] 00162 ff 15 00 00 00 00 call QWORD PTR __imp_RegisterClassExW 00168 66 89 05 8a 1b 00 00 mov WORD PTR _glfw+7050, ax ; 1286 : if (!_glfw.win32.mainWindowClass) 0016f 0f b7 05 8a 1b 00 00 movzx eax, WORD PTR _glfw+7050 00176 85 c0 test eax, eax 00178 75 18 jne SHORT $LN4@createNati ; 1287 : { ; 1288 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 0017a 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CH@GAPNPCHF@Win32?3?5Failed?5to?5register?5windo@ 00181 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00186 e8 00 00 00 00 call _glfwInputErrorWin32 ; 1289 : "Win32: Failed to register window class"); ; 1290 : return GLFW_FALSE; 0018b 33 c0 xor eax, eax 0018d e9 31 06 00 00 jmp $LN1@createNati $LN4@createNati: $LN2@createNati: ; 1291 : } ; 1292 : } ; 1293 : ; 1294 : if (window->monitor) 00192 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 00199 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 0019e 74 79 je SHORT $LN5@createNati ; 1295 : { ; 1296 : MONITORINFO mi = { sizeof(mi) }; 001a0 c7 85 58 01 00 00 28 00 00 00 mov DWORD PTR mi$12[rbp], 40 ; 00000028H 001aa 48 8d 85 5c 01 00 00 lea rax, QWORD PTR mi$12[rbp+4] 001b1 48 8b f8 mov rdi, rax 001b4 33 c0 xor eax, eax 001b6 b9 24 00 00 00 mov ecx, 36 ; 00000024H 001bb f3 aa rep stosb ; 1297 : GetMonitorInfoW(window->monitor->win32.handle, &mi); 001bd 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 001c4 48 8b 40 50 mov rax, QWORD PTR [rax+80] 001c8 48 8d 95 58 01 00 00 lea rdx, QWORD PTR mi$12[rbp] 001cf 48 8b 88 00 01 00 00 mov rcx, QWORD PTR [rax+256] 001d6 ff 15 00 00 00 00 call QWORD PTR __imp_GetMonitorInfoW ; 1298 : ; 1299 : // NOTE: This window placement is temporary and approximate, as the ; 1300 : // correct position and size cannot be known until the monitor ; 1301 : // video mode has been picked in _glfwSetVideoModeWin32 ; 1302 : frameX = mi.rcMonitor.left; 001dc 8b 85 5c 01 00 00 mov eax, DWORD PTR mi$12[rbp+4] 001e2 89 45 04 mov DWORD PTR frameX$[rbp], eax ; 1303 : frameY = mi.rcMonitor.top; 001e5 8b 85 60 01 00 00 mov eax, DWORD PTR mi$12[rbp+8] 001eb 89 45 24 mov DWORD PTR frameY$[rbp], eax ; 1304 : frameWidth = mi.rcMonitor.right - mi.rcMonitor.left; 001ee 8b 85 5c 01 00 00 mov eax, DWORD PTR mi$12[rbp+4] 001f4 8b 8d 64 01 00 00 mov ecx, DWORD PTR mi$12[rbp+12] 001fa 2b c8 sub ecx, eax 001fc 8b c1 mov eax, ecx 001fe 89 45 44 mov DWORD PTR frameWidth$[rbp], eax ; 1305 : frameHeight = mi.rcMonitor.bottom - mi.rcMonitor.top; 00201 8b 85 60 01 00 00 mov eax, DWORD PTR mi$12[rbp+8] 00207 8b 8d 68 01 00 00 mov ecx, DWORD PTR mi$12[rbp+16] 0020d 2b c8 sub ecx, eax 0020f 8b c1 mov eax, ecx 00211 89 45 64 mov DWORD PTR frameHeight$[rbp], eax ; 1306 : } 00214 e9 ff 00 00 00 jmp $LN6@createNati $LN5@createNati: ; 1307 : else ; 1308 : { ; 1309 : RECT rect = { 0, 0, wndconfig->width, wndconfig->height }; 00219 c7 85 98 01 00 00 00 00 00 00 mov DWORD PTR rect$13[rbp], 0 00223 c7 85 9c 01 00 00 00 00 00 00 mov DWORD PTR rect$13[rbp+4], 0 0022d 48 8b 85 88 04 00 00 mov rax, QWORD PTR wndconfig$[rbp] 00234 8b 40 08 mov eax, DWORD PTR [rax+8] 00237 89 85 a0 01 00 00 mov DWORD PTR rect$13[rbp+8], eax 0023d 48 8b 85 88 04 00 00 mov rax, QWORD PTR wndconfig$[rbp] 00244 8b 40 0c mov eax, DWORD PTR [rax+12] 00247 89 85 a4 01 00 00 mov DWORD PTR rect$13[rbp+12], eax ; 1310 : ; 1311 : window->win32.maximized = wndconfig->maximized; 0024d 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 00254 48 8b 8d 88 04 00 00 mov rcx, QWORD PTR wndconfig$[rbp] 0025b 8b 49 30 mov ecx, DWORD PTR [rcx+48] 0025e 89 88 7c 03 00 00 mov DWORD PTR [rax+892], ecx ; 1312 : if (wndconfig->maximized) 00264 48 8b 85 88 04 00 00 mov rax, QWORD PTR wndconfig$[rbp] 0026b 83 78 30 00 cmp DWORD PTR [rax+48], 0 0026f 74 10 je SHORT $LN7@createNati ; 1313 : style |= WS_MAXIMIZE; 00271 8b 85 a4 00 00 00 mov eax, DWORD PTR style$[rbp] 00277 0f ba e8 18 bts eax, 24 0027b 89 85 a4 00 00 00 mov DWORD PTR style$[rbp], eax $LN7@createNati: ; 1314 : ; 1315 : AdjustWindowRectEx(&rect, style, FALSE, exStyle); 00281 44 8b 8d c4 00 00 00 mov r9d, DWORD PTR exStyle$[rbp] 00288 45 33 c0 xor r8d, r8d 0028b 8b 95 a4 00 00 00 mov edx, DWORD PTR style$[rbp] 00291 48 8d 8d 98 01 00 00 lea rcx, QWORD PTR rect$13[rbp] 00298 ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx ; 1316 : ; 1317 : if (wndconfig->xpos == GLFW_ANY_POSITION && wndconfig->ypos == GLFW_ANY_POSITION) 0029e 48 8b 85 88 04 00 00 mov rax, QWORD PTR wndconfig$[rbp] 002a5 81 38 00 00 00 80 cmp DWORD PTR [rax], -2147483648 ; 80000000H 002ab 75 20 jne SHORT $LN8@createNati 002ad 48 8b 85 88 04 00 00 mov rax, QWORD PTR wndconfig$[rbp] 002b4 81 78 04 00 00 00 80 cmp DWORD PTR [rax+4], -2147483648 ; 80000000H 002bb 75 10 jne SHORT $LN8@createNati ; 1318 : { ; 1319 : frameX = CW_USEDEFAULT; 002bd c7 45 04 00 00 00 80 mov DWORD PTR frameX$[rbp], -2147483648 ; ffffffff80000000H ; 1320 : frameY = CW_USEDEFAULT; 002c4 c7 45 24 00 00 00 80 mov DWORD PTR frameY$[rbp], -2147483648 ; ffffffff80000000H ; 1321 : } 002cb eb 25 jmp SHORT $LN9@createNati $LN8@createNati: ; 1322 : else ; 1323 : { ; 1324 : frameX = wndconfig->xpos + rect.left; 002cd 48 8b 85 88 04 00 00 mov rax, QWORD PTR wndconfig$[rbp] 002d4 8b 00 mov eax, DWORD PTR [rax] 002d6 03 85 98 01 00 00 add eax, DWORD PTR rect$13[rbp] 002dc 89 45 04 mov DWORD PTR frameX$[rbp], eax ; 1325 : frameY = wndconfig->ypos + rect.top; 002df 48 8b 85 88 04 00 00 mov rax, QWORD PTR wndconfig$[rbp] 002e6 8b 40 04 mov eax, DWORD PTR [rax+4] 002e9 03 85 9c 01 00 00 add eax, DWORD PTR rect$13[rbp+4] 002ef 89 45 24 mov DWORD PTR frameY$[rbp], eax $LN9@createNati: ; 1326 : } ; 1327 : ; 1328 : frameWidth = rect.right - rect.left; 002f2 8b 85 98 01 00 00 mov eax, DWORD PTR rect$13[rbp] 002f8 8b 8d a0 01 00 00 mov ecx, DWORD PTR rect$13[rbp+8] 002fe 2b c8 sub ecx, eax 00300 8b c1 mov eax, ecx 00302 89 45 44 mov DWORD PTR frameWidth$[rbp], eax ; 1329 : frameHeight = rect.bottom - rect.top; 00305 8b 85 9c 01 00 00 mov eax, DWORD PTR rect$13[rbp+4] 0030b 8b 8d a4 01 00 00 mov ecx, DWORD PTR rect$13[rbp+12] 00311 2b c8 sub ecx, eax 00313 8b c1 mov eax, ecx 00315 89 45 64 mov DWORD PTR frameHeight$[rbp], eax $LN6@createNati: ; 1330 : } ; 1331 : ; 1332 : wideTitle = _glfwCreateWideStringFromUTF8Win32(wndconfig->title); 00318 48 8b 85 88 04 00 00 mov rax, QWORD PTR wndconfig$[rbp] 0031f 48 8b 48 10 mov rcx, QWORD PTR [rax+16] 00323 e8 00 00 00 00 call _glfwCreateWideStringFromUTF8Win32 00328 48 89 85 88 00 00 00 mov QWORD PTR wideTitle$[rbp], rax ; 1333 : if (!wideTitle) 0032f 48 83 bd 88 00 00 00 00 cmp QWORD PTR wideTitle$[rbp], 0 00337 75 07 jne SHORT $LN10@createNati ; 1334 : return GLFW_FALSE; 00339 33 c0 xor eax, eax 0033b e9 83 04 00 00 jmp $LN1@createNati $LN10@createNati: ; 1335 : ; 1336 : window->win32.handle = CreateWindowExW(exStyle, 00340 0f b7 05 8a 1b 00 00 movzx eax, WORD PTR _glfw+7050 00347 48 8b 8d 88 04 00 00 mov rcx, QWORD PTR wndconfig$[rbp] 0034e 48 89 4c 24 58 mov QWORD PTR [rsp+88], rcx 00353 48 8b 0d 78 1b 00 00 mov rcx, QWORD PTR _glfw+7032 0035a 48 89 4c 24 50 mov QWORD PTR [rsp+80], rcx 0035f 48 c7 44 24 48 00 00 00 00 mov QWORD PTR [rsp+72], 0 00368 48 c7 44 24 40 00 00 00 00 mov QWORD PTR [rsp+64], 0 00371 8b 4d 64 mov ecx, DWORD PTR frameHeight$[rbp] 00374 89 4c 24 38 mov DWORD PTR [rsp+56], ecx 00378 8b 4d 44 mov ecx, DWORD PTR frameWidth$[rbp] 0037b 89 4c 24 30 mov DWORD PTR [rsp+48], ecx 0037f 8b 4d 24 mov ecx, DWORD PTR frameY$[rbp] 00382 89 4c 24 28 mov DWORD PTR [rsp+40], ecx 00386 8b 4d 04 mov ecx, DWORD PTR frameX$[rbp] 00389 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 0038d 44 8b 8d a4 00 00 00 mov r9d, DWORD PTR style$[rbp] 00394 4c 8b 85 88 00 00 00 mov r8, QWORD PTR wideTitle$[rbp] 0039b 8b d0 mov edx, eax 0039d 8b 8d c4 00 00 00 mov ecx, DWORD PTR exStyle$[rbp] 003a3 ff 15 00 00 00 00 call QWORD PTR __imp_CreateWindowExW 003a9 48 8b 8d 80 04 00 00 mov rcx, QWORD PTR window$[rbp] 003b0 48 89 81 58 03 00 00 mov QWORD PTR [rcx+856], rax ; 1337 : MAKEINTATOM(_glfw.win32.mainWindowClass), ; 1338 : wideTitle, ; 1339 : style, ; 1340 : frameX, frameY, ; 1341 : frameWidth, frameHeight, ; 1342 : NULL, // No parent window ; 1343 : NULL, // No window menu ; 1344 : _glfw.win32.instance, ; 1345 : (LPVOID) wndconfig); ; 1346 : ; 1347 : _glfw_free(wideTitle); 003b7 48 8b 8d 88 00 00 00 mov rcx, QWORD PTR wideTitle$[rbp] 003be e8 00 00 00 00 call _glfw_free ; 1348 : ; 1349 : if (!window->win32.handle) 003c3 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 003ca 48 83 b8 58 03 00 00 00 cmp QWORD PTR [rax+856], 0 003d2 75 18 jne SHORT $LN11@createNati ; 1350 : { ; 1351 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 003d4 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BP@BFHGHOIO@Win32?3?5Failed?5to?5create?5window@ 003db b9 08 00 01 00 mov ecx, 65544 ; 00010008H 003e0 e8 00 00 00 00 call _glfwInputErrorWin32 ; 1352 : "Win32: Failed to create window"); ; 1353 : return GLFW_FALSE; 003e5 33 c0 xor eax, eax 003e7 e9 d7 03 00 00 jmp $LN1@createNati $LN11@createNati: ; 1354 : } ; 1355 : ; 1356 : SetPropW(window->win32.handle, L"GLFW", window); 003ec 4c 8b 85 80 04 00 00 mov r8, QWORD PTR window$[rbp] 003f3 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_19JBPKICJI@?$AAG?$AAL?$AAF?$AAW@ 003fa 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 00401 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00408 ff 15 00 00 00 00 call QWORD PTR __imp_SetPropW ; 1357 : ; 1358 : if (IsWindows7OrGreater()) 0040e 45 33 c0 xor r8d, r8d 00411 66 ba 01 00 mov dx, 1 00415 66 b9 06 00 mov cx, 6 00419 e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 0041e 85 c0 test eax, eax 00420 74 66 je SHORT $LN12@createNati ; 1359 : { ; 1360 : ChangeWindowMessageFilterEx(window->win32.handle, 00422 45 33 c9 xor r9d, r9d 00425 41 b8 01 00 00 00 mov r8d, 1 0042b ba 33 02 00 00 mov edx, 563 ; 00000233H 00430 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 00437 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0043e ff 15 a8 29 00 00 call QWORD PTR _glfw+10664 ; 1361 : WM_DROPFILES, MSGFLT_ALLOW, NULL); ; 1362 : ChangeWindowMessageFilterEx(window->win32.handle, 00444 45 33 c9 xor r9d, r9d 00447 41 b8 01 00 00 00 mov r8d, 1 0044d ba 4a 00 00 00 mov edx, 74 ; 0000004aH 00452 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 00459 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00460 ff 15 a8 29 00 00 call QWORD PTR _glfw+10664 ; 1363 : WM_COPYDATA, MSGFLT_ALLOW, NULL); ; 1364 : ChangeWindowMessageFilterEx(window->win32.handle, 00466 45 33 c9 xor r9d, r9d 00469 41 b8 01 00 00 00 mov r8d, 1 0046f ba 49 00 00 00 mov edx, 73 ; 00000049H 00474 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 0047b 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00482 ff 15 a8 29 00 00 call QWORD PTR _glfw+10664 $LN12@createNati: ; 1365 : WM_COPYGLOBALDATA, MSGFLT_ALLOW, NULL); ; 1366 : } ; 1367 : ; 1368 : window->win32.scaleToMonitor = wndconfig->scaleToMonitor; 00488 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 0048f 48 8b 8d 88 04 00 00 mov rcx, QWORD PTR wndconfig$[rbp] 00496 8b 49 40 mov ecx, DWORD PTR [rcx+64] 00499 89 88 84 03 00 00 mov DWORD PTR [rax+900], ecx ; 1369 : window->win32.keymenu = wndconfig->win32.keymenu; 0049f 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 004a6 48 8b 8d 88 04 00 00 mov rcx, QWORD PTR wndconfig$[rbp] 004ad 8b 89 48 03 00 00 mov ecx, DWORD PTR [rcx+840] 004b3 89 88 88 03 00 00 mov DWORD PTR [rax+904], ecx ; 1370 : ; 1371 : if (!window->monitor) 004b9 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 004c0 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 004c5 0f 85 83 02 00 00 jne $LN13@createNati ; 1372 : { ; 1373 : RECT rect = { 0, 0, wndconfig->width, wndconfig->height }; 004cb c7 85 c8 01 00 00 00 00 00 00 mov DWORD PTR rect$14[rbp], 0 004d5 c7 85 cc 01 00 00 00 00 00 00 mov DWORD PTR rect$14[rbp+4], 0 004df 48 8b 85 88 04 00 00 mov rax, QWORD PTR wndconfig$[rbp] 004e6 8b 40 08 mov eax, DWORD PTR [rax+8] 004e9 89 85 d0 01 00 00 mov DWORD PTR rect$14[rbp+8], eax 004ef 48 8b 85 88 04 00 00 mov rax, QWORD PTR wndconfig$[rbp] 004f6 8b 40 0c mov eax, DWORD PTR [rax+12] 004f9 89 85 d4 01 00 00 mov DWORD PTR rect$14[rbp+12], eax ; 1374 : WINDOWPLACEMENT wp = { sizeof(wp) }; 004ff c7 85 f8 01 00 00 2c 00 00 00 mov DWORD PTR wp$15[rbp], 44 ; 0000002cH 00509 48 8d 85 fc 01 00 00 lea rax, QWORD PTR wp$15[rbp+4] 00510 48 8b f8 mov rdi, rax 00513 33 c0 xor eax, eax 00515 b9 28 00 00 00 mov ecx, 40 ; 00000028H 0051a f3 aa rep stosb ; 1375 : const HMONITOR mh = MonitorFromWindow(window->win32.handle, 0051c ba 02 00 00 00 mov edx, 2 00521 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 00528 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0052f ff 15 00 00 00 00 call QWORD PTR __imp_MonitorFromWindow 00535 48 89 85 48 02 00 00 mov QWORD PTR mh$16[rbp], rax ; 1376 : MONITOR_DEFAULTTONEAREST); ; 1377 : ; 1378 : // Adjust window rect to account for DPI scaling of the window frame and ; 1379 : // (if enabled) DPI scaling of the content area ; 1380 : // This cannot be done until we know what monitor the window was placed on ; 1381 : // Only update the restored window rect as the window may be maximized ; 1382 : ; 1383 : if (wndconfig->scaleToMonitor) 0053c 48 8b 85 88 04 00 00 mov rax, QWORD PTR wndconfig$[rbp] 00543 83 78 40 00 cmp DWORD PTR [rax+64], 0 00547 74 70 je SHORT $LN14@createNati ; 1384 : { ; 1385 : float xscale, yscale; ; 1386 : _glfwGetHMONITORContentScaleWin32(mh, &xscale, &yscale); 00549 4c 8d 85 84 02 00 00 lea r8, QWORD PTR yscale$18[rbp] 00550 48 8d 95 64 02 00 00 lea rdx, QWORD PTR xscale$17[rbp] 00557 48 8b 8d 48 02 00 00 mov rcx, QWORD PTR mh$16[rbp] 0055e e8 00 00 00 00 call _glfwGetHMONITORContentScaleWin32 ; 1387 : ; 1388 : if (xscale > 0.f && yscale > 0.f) 00563 f3 0f 10 85 64 02 00 00 movss xmm0, DWORD PTR xscale$17[rbp] 0056b 0f 2f 05 00 00 00 00 comiss xmm0, DWORD PTR __real@00000000 00572 76 45 jbe SHORT $LN15@createNati 00574 f3 0f 10 85 84 02 00 00 movss xmm0, DWORD PTR yscale$18[rbp] 0057c 0f 2f 05 00 00 00 00 comiss xmm0, DWORD PTR __real@00000000 00583 76 34 jbe SHORT $LN15@createNati ; 1389 : { ; 1390 : rect.right = (int) (rect.right * xscale); 00585 f3 0f 2a 85 d0 01 00 00 cvtsi2ss xmm0, DWORD PTR rect$14[rbp+8] 0058d f3 0f 59 85 64 02 00 00 mulss xmm0, DWORD PTR xscale$17[rbp] 00595 f3 0f 2c c0 cvttss2si eax, xmm0 00599 89 85 d0 01 00 00 mov DWORD PTR rect$14[rbp+8], eax ; 1391 : rect.bottom = (int) (rect.bottom * yscale); 0059f f3 0f 2a 85 d4 01 00 00 cvtsi2ss xmm0, DWORD PTR rect$14[rbp+12] 005a7 f3 0f 59 85 84 02 00 00 mulss xmm0, DWORD PTR yscale$18[rbp] 005af f3 0f 2c c0 cvttss2si eax, xmm0 005b3 89 85 d4 01 00 00 mov DWORD PTR rect$14[rbp+12], eax $LN15@createNati: $LN14@createNati: ; 1392 : } ; 1393 : } ; 1394 : ; 1395 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 005b9 66 b9 39 38 mov cx, 14393 ; 00003839H 005bd e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 005c2 85 c0 test eax, eax 005c4 74 37 je SHORT $LN16@createNati ; 1396 : { ; 1397 : AdjustWindowRectExForDpi(&rect, style, FALSE, exStyle, 005c6 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 005cd 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 005d4 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 005da 89 44 24 20 mov DWORD PTR [rsp+32], eax 005de 44 8b 8d c4 00 00 00 mov r9d, DWORD PTR exStyle$[rbp] 005e5 45 33 c0 xor r8d, r8d 005e8 8b 95 a4 00 00 00 mov edx, DWORD PTR style$[rbp] 005ee 48 8d 8d c8 01 00 00 lea rcx, QWORD PTR rect$14[rbp] 005f5 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1398 : GetDpiForWindow(window->win32.handle)); ; 1399 : } 005fb eb 1d jmp SHORT $LN17@createNati $LN16@createNati: ; 1400 : else ; 1401 : AdjustWindowRectEx(&rect, style, FALSE, exStyle); 005fd 44 8b 8d c4 00 00 00 mov r9d, DWORD PTR exStyle$[rbp] 00604 45 33 c0 xor r8d, r8d 00607 8b 95 a4 00 00 00 mov edx, DWORD PTR style$[rbp] 0060d 48 8d 8d c8 01 00 00 lea rcx, QWORD PTR rect$14[rbp] 00614 ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx $LN17@createNati: ; 1402 : ; 1403 : GetWindowPlacement(window->win32.handle, &wp); 0061a 48 8d 95 f8 01 00 00 lea rdx, QWORD PTR wp$15[rbp] 00621 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 00628 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0062f ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowPlacement ; 1404 : OffsetRect(&rect, 00635 8b 85 cc 01 00 00 mov eax, DWORD PTR rect$14[rbp+4] 0063b 8b 8d 18 02 00 00 mov ecx, DWORD PTR wp$15[rbp+32] 00641 2b c8 sub ecx, eax 00643 8b c1 mov eax, ecx 00645 8b 8d c8 01 00 00 mov ecx, DWORD PTR rect$14[rbp] 0064b 8b 95 14 02 00 00 mov edx, DWORD PTR wp$15[rbp+28] 00651 2b d1 sub edx, ecx 00653 8b ca mov ecx, edx 00655 44 8b c0 mov r8d, eax 00658 8b d1 mov edx, ecx 0065a 48 8d 8d c8 01 00 00 lea rcx, QWORD PTR rect$14[rbp] 00661 ff 15 00 00 00 00 call QWORD PTR __imp_OffsetRect ; 1405 : wp.rcNormalPosition.left - rect.left, ; 1406 : wp.rcNormalPosition.top - rect.top); ; 1407 : ; 1408 : wp.rcNormalPosition = rect; 00667 48 8d 85 14 02 00 00 lea rax, QWORD PTR wp$15[rbp+28] 0066e 48 8d 8d c8 01 00 00 lea rcx, QWORD PTR rect$14[rbp] 00675 48 8b f8 mov rdi, rax 00678 48 8b f1 mov rsi, rcx 0067b b9 10 00 00 00 mov ecx, 16 00680 f3 a4 rep movsb ; 1409 : wp.showCmd = SW_HIDE; 00682 c7 85 00 02 00 00 00 00 00 00 mov DWORD PTR wp$15[rbp+8], 0 ; 1410 : SetWindowPlacement(window->win32.handle, &wp); 0068c 48 8d 95 f8 01 00 00 lea rdx, QWORD PTR wp$15[rbp] 00693 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 0069a 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 006a1 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPlacement ; 1411 : ; 1412 : // Adjust rect of maximized undecorated window, because by default Windows will ; 1413 : // make such a window cover the whole monitor instead of its workarea ; 1414 : ; 1415 : if (wndconfig->maximized && !wndconfig->decorated) 006a7 48 8b 85 88 04 00 00 mov rax, QWORD PTR wndconfig$[rbp] 006ae 83 78 30 00 cmp DWORD PTR [rax+48], 0 006b2 0f 84 96 00 00 00 je $LN18@createNati 006b8 48 8b 85 88 04 00 00 mov rax, QWORD PTR wndconfig$[rbp] 006bf 83 78 20 00 cmp DWORD PTR [rax+32], 0 006c3 0f 85 85 00 00 00 jne $LN18@createNati ; 1416 : { ; 1417 : MONITORINFO mi = { sizeof(mi) }; 006c9 c7 85 a8 02 00 00 28 00 00 00 mov DWORD PTR mi$19[rbp], 40 ; 00000028H 006d3 48 8d 85 ac 02 00 00 lea rax, QWORD PTR mi$19[rbp+4] 006da 48 8b f8 mov rdi, rax 006dd 33 c0 xor eax, eax 006df b9 24 00 00 00 mov ecx, 36 ; 00000024H 006e4 f3 aa rep stosb ; 1418 : GetMonitorInfoW(mh, &mi); 006e6 48 8d 95 a8 02 00 00 lea rdx, QWORD PTR mi$19[rbp] 006ed 48 8b 8d 48 02 00 00 mov rcx, QWORD PTR mh$16[rbp] 006f4 ff 15 00 00 00 00 call QWORD PTR __imp_GetMonitorInfoW ; 1419 : ; 1420 : SetWindowPos(window->win32.handle, HWND_TOP, 006fa 8b 85 c0 02 00 00 mov eax, DWORD PTR mi$19[rbp+24] 00700 8b 8d c8 02 00 00 mov ecx, DWORD PTR mi$19[rbp+32] 00706 2b c8 sub ecx, eax 00708 8b c1 mov eax, ecx 0070a 8b 8d bc 02 00 00 mov ecx, DWORD PTR mi$19[rbp+20] 00710 8b 95 c4 02 00 00 mov edx, DWORD PTR mi$19[rbp+28] 00716 2b d1 sub edx, ecx 00718 8b ca mov ecx, edx 0071a c7 44 24 30 14 00 00 00 mov DWORD PTR [rsp+48], 20 00722 89 44 24 28 mov DWORD PTR [rsp+40], eax 00726 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 0072a 44 8b 8d c0 02 00 00 mov r9d, DWORD PTR mi$19[rbp+24] 00731 44 8b 85 bc 02 00 00 mov r8d, DWORD PTR mi$19[rbp+20] 00738 33 d2 xor edx, edx 0073a 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 00741 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00748 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos $LN18@createNati: $LN13@createNati: ; 1421 : mi.rcWork.left, ; 1422 : mi.rcWork.top, ; 1423 : mi.rcWork.right - mi.rcWork.left, ; 1424 : mi.rcWork.bottom - mi.rcWork.top, ; 1425 : SWP_NOACTIVATE | SWP_NOZORDER); ; 1426 : } ; 1427 : } ; 1428 : ; 1429 : DragAcceptFiles(window->win32.handle, TRUE); 0074e ba 01 00 00 00 mov edx, 1 00753 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 0075a 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00761 ff 15 00 00 00 00 call QWORD PTR __imp_DragAcceptFiles ; 1430 : ; 1431 : if (fbconfig->transparent) 00767 48 8b 85 90 04 00 00 mov rax, QWORD PTR fbconfig$[rbp] 0076e 83 78 3c 00 cmp DWORD PTR [rax+60], 0 00772 74 1d je SHORT $LN19@createNati ; 1432 : { ; 1433 : updateFramebufferTransparency(window); 00774 48 8b 8d 80 04 00 00 mov rcx, QWORD PTR window$[rbp] 0077b e8 00 00 00 00 call updateFramebufferTransparency ; 1434 : window->win32.transparent = GLFW_TRUE; 00780 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 00787 c7 80 80 03 00 00 01 00 00 00 mov DWORD PTR [rax+896], 1 $LN19@createNati: ; 1435 : } ; 1436 : ; 1437 : _glfwGetWindowSizeWin32(window, &window->win32.width, &window->win32.height); 00791 48 8b 85 80 04 00 00 mov rax, QWORD PTR window$[rbp] 00798 48 05 90 03 00 00 add rax, 912 ; 00000390H 0079e 48 8b 8d 80 04 00 00 mov rcx, QWORD PTR window$[rbp] 007a5 48 81 c1 8c 03 00 00 add rcx, 908 ; 0000038cH 007ac 4c 8b c0 mov r8, rax 007af 48 8b d1 mov rdx, rcx 007b2 48 8b 8d 80 04 00 00 mov rcx, QWORD PTR window$[rbp] 007b9 e8 00 00 00 00 call _glfwGetWindowSizeWin32 ; 1438 : ; 1439 : return GLFW_TRUE; 007be b8 01 00 00 00 mov eax, 1 $LN1@createNati: ; 1440 : } 007c3 48 8b f8 mov rdi, rax 007c6 48 8d 4d a0 lea rcx, QWORD PTR [rbp-96] 007ca 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:createNativeWindow$rtcFrameData 007d1 e8 00 00 00 00 call _RTC_CheckStackVars 007d6 48 8b c7 mov rax, rdi 007d9 48 8b 8d 58 04 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 007e0 48 33 cd xor rcx, rbp 007e3 e8 00 00 00 00 call __security_check_cookie 007e8 48 8d a5 60 04 00 00 lea rsp, QWORD PTR [rbp+1120] 007ef 5f pop rdi 007f0 5e pop rsi 007f1 5d pop rbp 007f2 c3 ret 0 createNativeWindow ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT windowProc _TEXT SEGMENT window$ = 8 cs$11 = 40 wndconfig$12 = 72 codepoint$13 = 100 key$14 = 132 scancode$15 = 164 action$16 = 196 mods$17 = 228 next$18 = 264 time$19 = 340 i$20 = 372 button$21 = 404 action$22 = 436 x$23 = 468 y$24 = 500 tme$25 = 536 dx$26 = 580 dy$27 = 612 size$28 = 644 ri$29 = 680 data$30 = 712 dx$31 = 740 dy$32 = 772 width$33 = 804 height$34 = 836 iconified$35 = 868 maximized$36 = 900 frame$37 = 936 mmi$38 = 984 style$39 = 1012 exStyle$40 = 1044 mi$41 = 1080 mh$42 = 1144 source$43 = 1176 target$44 = 1224 size$45 = 1272 xscale$46 = 1300 yscale$47 = 1332 suggested$48 = 1368 drop$49 = 1400 pt$50 = 1432 i$51 = 1460 count$52 = 1492 paths$53 = 1528 length$54 = 1556 buffer$55 = 1592 tv684 = 2372 tv638 = 2372 tv498 = 2372 tv493 = 2372 tv208 = 2372 tv187 = 2372 tv82 = 2372 tv686 = 2376 tv674 = 2376 tv158 = 2376 __$ArrayPad$ = 2384 hWnd$ = 2432 uMsg$ = 2440 wParam$ = 2448 lParam$ = 2456 windowProc PROC ; COMDAT ; 531 : { 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00013 55 push rbp 00014 57 push rdi 00015 48 81 ec a8 09 00 00 sub rsp, 2472 ; 000009a8H 0001c 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] 00021 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64] 00026 b9 9a 01 00 00 mov ecx, 410 ; 0000019aH 0002b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00030 f3 ab rep stosd 00032 48 8b 8c 24 c8 09 00 00 mov rcx, QWORD PTR [rsp+2504] 0003a 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00041 48 33 c5 xor rax, rbp 00044 48 89 85 50 09 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0004b 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00052 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 532 : _GLFWwindow* window = GetPropW(hWnd, L"GLFW"); 00057 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_19JBPKICJI@?$AAG?$AAL?$AAF?$AAW@ 0005e 48 8b 8d 80 09 00 00 mov rcx, QWORD PTR hWnd$[rbp] 00065 ff 15 00 00 00 00 call QWORD PTR __imp_GetPropW 0006b 48 89 45 08 mov QWORD PTR window$[rbp], rax ; 533 : if (!window) 0006f 48 83 7d 08 00 cmp QWORD PTR window$[rbp], 0 00074 75 73 jne SHORT $LN18@windowProc ; 534 : { ; 535 : if (uMsg == WM_NCCREATE) 00076 81 bd 88 09 00 00 81 00 00 00 cmp DWORD PTR uMsg$[rbp], 129 ; 00000081H 00080 75 41 jne SHORT $LN19@windowProc ; 536 : { ; 537 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 00082 66 b9 39 38 mov cx, 14393 ; 00003839H 00086 e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 0008b 85 c0 test eax, eax 0008d 74 34 je SHORT $LN20@windowProc ; 538 : { ; 539 : const CREATESTRUCTW* cs = (const CREATESTRUCTW*) lParam; 0008f 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 00096 48 89 45 28 mov QWORD PTR cs$11[rbp], rax ; 540 : const _GLFWwndconfig* wndconfig = cs->lpCreateParams; 0009a 48 8b 45 28 mov rax, QWORD PTR cs$11[rbp] 0009e 48 8b 00 mov rax, QWORD PTR [rax] 000a1 48 89 45 48 mov QWORD PTR wndconfig$12[rbp], rax ; 541 : ; 542 : // On per-monitor DPI aware V1 systems, only enable ; 543 : // non-client scaling for windows that scale the client area ; 544 : // We need WM_GETDPISCALEDSIZE from V2 to keep the client ; 545 : // area static when the non-client area is scaled ; 546 : if (wndconfig && wndconfig->scaleToMonitor) 000a5 48 83 7d 48 00 cmp QWORD PTR wndconfig$12[rbp], 0 000aa 74 17 je SHORT $LN21@windowProc 000ac 48 8b 45 48 mov rax, QWORD PTR wndconfig$12[rbp] 000b0 83 78 40 00 cmp DWORD PTR [rax+64], 0 000b4 74 0d je SHORT $LN21@windowProc ; 547 : EnableNonClientDpiScaling(hWnd); 000b6 48 8b 8d 80 09 00 00 mov rcx, QWORD PTR hWnd$[rbp] 000bd ff 15 b0 29 00 00 call QWORD PTR _glfw+10672 $LN21@windowProc: $LN20@windowProc: $LN19@windowProc: ; 548 : } ; 549 : } ; 550 : ; 551 : return DefWindowProcW(hWnd, uMsg, wParam, lParam); 000c3 4c 8b 8d 98 09 00 00 mov r9, QWORD PTR lParam$[rbp] 000ca 4c 8b 85 90 09 00 00 mov r8, QWORD PTR wParam$[rbp] 000d1 8b 95 88 09 00 00 mov edx, DWORD PTR uMsg$[rbp] 000d7 48 8b 8d 80 09 00 00 mov rcx, QWORD PTR hWnd$[rbp] 000de ff 15 00 00 00 00 call QWORD PTR __imp_DefWindowProcW 000e4 e9 a5 16 00 00 jmp $LN1@windowProc $LN18@windowProc: ; 552 : } ; 553 : ; 554 : switch (uMsg) 000e9 8b 85 88 09 00 00 mov eax, DWORD PTR uMsg$[rbp] 000ef 89 85 44 09 00 00 mov DWORD PTR tv82[rbp], eax 000f5 81 bd 44 09 00 00 ff 00 00 00 cmp DWORD PTR tv82[rbp], 255 ; 000000ffH 000ff 77 50 ja SHORT $LN184@windowProc 00101 81 bd 44 09 00 00 ff 00 00 00 cmp DWORD PTR tv82[rbp], 255 ; 000000ffH 0010b 0f 84 43 0a 00 00 je $LN114@windowProc 00111 8b 85 44 09 00 00 mov eax, DWORD PTR tv82[rbp] 00117 83 e8 03 sub eax, 3 0011a 89 85 44 09 00 00 mov DWORD PTR tv82[rbp], eax 00120 81 bd 44 09 00 00 83 00 00 00 cmp DWORD PTR tv82[rbp], 131 ; 00000083H 0012a 0f 87 3d 16 00 00 ja $LN2@windowProc 00130 8b 85 44 09 00 00 mov eax, DWORD PTR tv82[rbp] 00136 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__ImageBase 0013d 0f b6 84 01 00 00 00 00 movzx eax, BYTE PTR $LN190@windowProc[rcx+rax] 00145 8b 84 81 00 00 00 00 mov eax, DWORD PTR $LN191@windowProc[rcx+rax*4] 0014c 48 03 c1 add rax, rcx 0014f ff e0 jmp rax $LN184@windowProc: 00151 81 bd 44 09 00 00 12 01 00 00 cmp DWORD PTR tv82[rbp], 274 ; 00000112H 0015b 77 47 ja SHORT $LN185@windowProc 0015d 81 bd 44 09 00 00 12 01 00 00 cmp DWORD PTR tv82[rbp], 274 ; 00000112H 00167 0f 84 06 02 00 00 je $LN40@windowProc 0016d 8b 85 44 09 00 00 mov eax, DWORD PTR tv82[rbp] 00173 2d 00 01 00 00 sub eax, 256 ; 00000100H 00178 89 85 44 09 00 00 mov DWORD PTR tv82[rbp], eax 0017e 83 bd 44 09 00 00 09 cmp DWORD PTR tv82[rbp], 9 00185 0f 87 e2 15 00 00 ja $LN2@windowProc 0018b 8b 85 44 09 00 00 mov eax, DWORD PTR tv82[rbp] 00191 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__ImageBase 00198 8b 84 81 00 00 00 00 mov eax, DWORD PTR $LN189@windowProc[rcx+rax*4] 0019f 48 03 c1 add rax, rcx 001a2 ff e0 jmp rax $LN185@windowProc: 001a4 81 bd 44 09 00 00 1e 03 00 00 cmp DWORD PTR tv82[rbp], 798 ; 0000031eH 001ae 77 52 ja SHORT $LN186@windowProc 001b0 81 bd 44 09 00 00 1e 03 00 00 cmp DWORD PTR tv82[rbp], 798 ; 0000031eH 001ba 0f 84 41 11 00 00 je $LN162@windowProc 001c0 8b 85 44 09 00 00 mov eax, DWORD PTR tv82[rbp] 001c6 2d 00 02 00 00 sub eax, 512 ; 00000200H 001cb 89 85 44 09 00 00 mov DWORD PTR tv82[rbp], eax 001d1 81 bd 44 09 00 00 e4 00 00 00 cmp DWORD PTR tv82[rbp], 228 ; 000000e4H 001db 0f 87 8c 15 00 00 ja $LN2@windowProc 001e1 8b 85 44 09 00 00 mov eax, DWORD PTR tv82[rbp] 001e7 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__ImageBase 001ee 0f b6 84 01 00 00 00 00 movzx eax, BYTE PTR $LN187@windowProc[rcx+rax] 001f6 8b 84 81 00 00 00 00 mov eax, DWORD PTR $LN188@windowProc[rcx+rax*4] 001fd 48 03 c1 add rax, rcx 00200 ff e0 jmp rax $LN186@windowProc: 00202 81 bd 44 09 00 00 20 03 00 00 cmp DWORD PTR tv82[rbp], 800 ; 00000320H 0020c 0f 84 ef 10 00 00 je $LN163@windowProc 00212 e9 56 15 00 00 jmp $LN2@windowProc $LN22@windowProc: ; 555 : { ; 556 : case WM_MOUSEACTIVATE: ; 557 : { ; 558 : // HACK: Postpone cursor disabling when the window was activated by ; 559 : // clicking a caption button ; 560 : if (HIWORD(lParam) == WM_LBUTTONDOWN) 00217 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 0021e 48 c1 e8 10 shr rax, 16 00222 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 00228 0f b7 c0 movzx eax, ax 0022b 3d 01 02 00 00 cmp eax, 513 ; 00000201H 00230 75 23 jne SHORT $LN23@windowProc ; 561 : { ; 562 : if (LOWORD(lParam) != HTCLIENT) 00232 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 00239 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 0023f 0f b7 c0 movzx eax, ax 00242 83 f8 01 cmp eax, 1 00245 74 0e je SHORT $LN24@windowProc ; 563 : window->win32.frameAction = GLFW_TRUE; 00247 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 0024b c7 80 74 03 00 00 01 00 00 00 mov DWORD PTR [rax+884], 1 $LN24@windowProc: $LN23@windowProc: ; 564 : } ; 565 : ; 566 : break; 00255 e9 13 15 00 00 jmp $LN2@windowProc $LN25@windowProc: ; 567 : } ; 568 : ; 569 : case WM_CAPTURECHANGED: ; 570 : { ; 571 : // HACK: Disable the cursor once the caption button action has been ; 572 : // completed or cancelled ; 573 : if (lParam == 0 && window->win32.frameAction) 0025a 48 83 bd 98 09 00 00 00 cmp QWORD PTR lParam$[rbp], 0 00262 75 4f jne SHORT $LN26@windowProc 00264 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00268 83 b8 74 03 00 00 00 cmp DWORD PTR [rax+884], 0 0026f 74 42 je SHORT $LN26@windowProc ; 574 : { ; 575 : if (window->cursorMode == GLFW_CURSOR_DISABLED) 00271 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00275 81 b8 84 00 00 00 03 40 03 00 cmp DWORD PTR [rax+132], 212995 ; 00034003H 0027f 75 0b jne SHORT $LN27@windowProc ; 576 : disableCursor(window); 00281 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00285 e8 00 00 00 00 call disableCursor 0028a eb 19 jmp SHORT $LN28@windowProc $LN27@windowProc: ; 577 : else if (window->cursorMode == GLFW_CURSOR_CAPTURED) 0028c 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00290 81 b8 84 00 00 00 04 40 03 00 cmp DWORD PTR [rax+132], 212996 ; 00034004H 0029a 75 09 jne SHORT $LN29@windowProc ; 578 : captureCursor(window); 0029c 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 002a0 e8 00 00 00 00 call captureCursor $LN29@windowProc: $LN28@windowProc: ; 579 : ; 580 : window->win32.frameAction = GLFW_FALSE; 002a5 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 002a9 c7 80 74 03 00 00 00 00 00 00 mov DWORD PTR [rax+884], 0 $LN26@windowProc: ; 581 : } ; 582 : ; 583 : break; 002b3 e9 b5 14 00 00 jmp $LN2@windowProc $LN30@windowProc: ; 584 : } ; 585 : ; 586 : case WM_SETFOCUS: ; 587 : { ; 588 : _glfwInputWindowFocus(window, GLFW_TRUE); 002b8 ba 01 00 00 00 mov edx, 1 002bd 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 002c1 e8 00 00 00 00 call _glfwInputWindowFocus ; 589 : ; 590 : // HACK: Do not disable cursor while the user is interacting with ; 591 : // a caption button ; 592 : if (window->win32.frameAction) 002c6 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 002ca 83 b8 74 03 00 00 00 cmp DWORD PTR [rax+884], 0 002d1 74 05 je SHORT $LN31@windowProc ; 593 : break; 002d3 e9 95 14 00 00 jmp $LN2@windowProc $LN31@windowProc: ; 594 : ; 595 : if (window->cursorMode == GLFW_CURSOR_DISABLED) 002d8 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 002dc 81 b8 84 00 00 00 03 40 03 00 cmp DWORD PTR [rax+132], 212995 ; 00034003H 002e6 75 0b jne SHORT $LN32@windowProc ; 596 : disableCursor(window); 002e8 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 002ec e8 00 00 00 00 call disableCursor 002f1 eb 19 jmp SHORT $LN33@windowProc $LN32@windowProc: ; 597 : else if (window->cursorMode == GLFW_CURSOR_CAPTURED) 002f3 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 002f7 81 b8 84 00 00 00 04 40 03 00 cmp DWORD PTR [rax+132], 212996 ; 00034004H 00301 75 09 jne SHORT $LN34@windowProc ; 598 : captureCursor(window); 00303 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00307 e8 00 00 00 00 call captureCursor $LN34@windowProc: $LN33@windowProc: ; 599 : ; 600 : return 0; 0030c 33 c0 xor eax, eax 0030e e9 7b 14 00 00 jmp $LN1@windowProc $LN35@windowProc: ; 601 : } ; 602 : ; 603 : case WM_KILLFOCUS: ; 604 : { ; 605 : if (window->cursorMode == GLFW_CURSOR_DISABLED) 00313 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00317 81 b8 84 00 00 00 03 40 03 00 cmp DWORD PTR [rax+132], 212995 ; 00034003H 00321 75 0b jne SHORT $LN36@windowProc ; 606 : enableCursor(window); 00323 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00327 e8 00 00 00 00 call enableCursor 0032c eb 15 jmp SHORT $LN37@windowProc $LN36@windowProc: ; 607 : else if (window->cursorMode == GLFW_CURSOR_CAPTURED) 0032e 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00332 81 b8 84 00 00 00 04 40 03 00 cmp DWORD PTR [rax+132], 212996 ; 00034004H 0033c 75 05 jne SHORT $LN38@windowProc ; 608 : releaseCursor(); 0033e e8 00 00 00 00 call releaseCursor $LN38@windowProc: $LN37@windowProc: ; 609 : ; 610 : if (window->monitor && window->autoIconify) 00343 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00347 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 0034c 74 13 je SHORT $LN39@windowProc 0034e 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00352 83 78 10 00 cmp DWORD PTR [rax+16], 0 00356 74 09 je SHORT $LN39@windowProc ; 611 : _glfwIconifyWindowWin32(window); 00358 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 0035c e8 00 00 00 00 call _glfwIconifyWindowWin32 $LN39@windowProc: ; 612 : ; 613 : _glfwInputWindowFocus(window, GLFW_FALSE); 00361 33 d2 xor edx, edx 00363 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00367 e8 00 00 00 00 call _glfwInputWindowFocus ; 614 : return 0; 0036c 33 c0 xor eax, eax 0036e e9 1b 14 00 00 jmp $LN1@windowProc $LN40@windowProc: ; 615 : } ; 616 : ; 617 : case WM_SYSCOMMAND: ; 618 : { ; 619 : switch (wParam & 0xfff0) 00373 48 8b 85 90 09 00 00 mov rax, QWORD PTR wParam$[rbp] 0037a 48 25 f0 ff 00 00 and rax, 65520 ; 0000fff0H 00380 48 89 85 48 09 00 00 mov QWORD PTR tv158[rbp], rax 00387 48 81 bd 48 09 00 00 00 f1 00 00 cmp QWORD PTR tv158[rbp], 61696 ; 0000f100H 00392 74 32 je SHORT $LN45@windowProc 00394 48 81 bd 48 09 00 00 40 f1 00 00 cmp QWORD PTR tv158[rbp], 61760 ; 0000f140H 0039f 74 0f je SHORT $LN41@windowProc 003a1 48 81 bd 48 09 00 00 70 f1 00 00 cmp QWORD PTR tv158[rbp], 61808 ; 0000f170H 003ac 74 02 je SHORT $LN42@windowProc 003ae eb 2a jmp SHORT $LN4@windowProc $LN41@windowProc: $LN42@windowProc: ; 620 : { ; 621 : case SC_SCREENSAVE: ; 622 : case SC_MONITORPOWER: ; 623 : { ; 624 : if (window->monitor) 003b0 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 003b4 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 003b9 74 09 je SHORT $LN43@windowProc ; 625 : { ; 626 : // We are running in full screen mode, so disallow ; 627 : // screen saver and screen blanking ; 628 : return 0; 003bb 33 c0 xor eax, eax 003bd e9 cc 13 00 00 jmp $LN1@windowProc ; 629 : } 003c2 eb 02 jmp SHORT $LN44@windowProc $LN43@windowProc: ; 630 : else ; 631 : break; 003c4 eb 14 jmp SHORT $LN4@windowProc $LN44@windowProc: $LN45@windowProc: ; 632 : } ; 633 : ; 634 : // User trying to access application menu using ALT? ; 635 : case SC_KEYMENU: ; 636 : { ; 637 : if (!window->win32.keymenu) 003c6 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 003ca 83 b8 88 03 00 00 00 cmp DWORD PTR [rax+904], 0 003d1 75 07 jne SHORT $LN46@windowProc ; 638 : return 0; 003d3 33 c0 xor eax, eax 003d5 e9 b4 13 00 00 jmp $LN1@windowProc $LN46@windowProc: $LN4@windowProc: ; 639 : ; 640 : break; ; 641 : } ; 642 : } ; 643 : break; 003da e9 8e 13 00 00 jmp $LN2@windowProc $LN47@windowProc: ; 644 : } ; 645 : ; 646 : case WM_CLOSE: ; 647 : { ; 648 : _glfwInputWindowCloseRequest(window); 003df 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 003e3 e8 00 00 00 00 call _glfwInputWindowCloseRequest ; 649 : return 0; 003e8 33 c0 xor eax, eax 003ea e9 9f 13 00 00 jmp $LN1@windowProc $LN48@windowProc: ; 650 : } ; 651 : ; 652 : case WM_INPUTLANGCHANGE: ; 653 : { ; 654 : _glfwUpdateKeyNamesWin32(); 003ef e8 00 00 00 00 call _glfwUpdateKeyNamesWin32 ; 655 : break; 003f4 e9 74 13 00 00 jmp $LN2@windowProc $LN49@windowProc: $LN50@windowProc: ; 656 : } ; 657 : ; 658 : case WM_CHAR: ; 659 : case WM_SYSCHAR: ; 660 : { ; 661 : if (wParam >= 0xd800 && wParam <= 0xdbff) 003f9 48 81 bd 90 09 00 00 00 d8 00 00 cmp QWORD PTR wParam$[rbp], 55296 ; 0000d800H 00404 72 24 jb SHORT $LN51@windowProc 00406 48 81 bd 90 09 00 00 ff db 00 00 cmp QWORD PTR wParam$[rbp], 56319 ; 0000dbffH 00411 77 17 ja SHORT $LN51@windowProc ; 662 : window->win32.highSurrogate = (WCHAR) wParam; 00413 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00417 0f b7 8d 90 09 00 00 movzx ecx, WORD PTR wParam$[rbp] 0041e 66 89 88 9c 03 00 00 mov WORD PTR [rax+924], cx 00425 e9 c2 00 00 00 jmp $LN52@windowProc $LN51@windowProc: ; 663 : else ; 664 : { ; 665 : uint32_t codepoint = 0; 0042a c7 45 64 00 00 00 00 mov DWORD PTR codepoint$13[rbp], 0 ; 666 : ; 667 : if (wParam >= 0xdc00 && wParam <= 0xdfff) 00431 48 81 bd 90 09 00 00 00 dc 00 00 cmp QWORD PTR wParam$[rbp], 56320 ; 0000dc00H 0043c 72 5a jb SHORT $LN53@windowProc 0043e 48 81 bd 90 09 00 00 ff df 00 00 cmp QWORD PTR wParam$[rbp], 57343 ; 0000dfffH 00449 77 4d ja SHORT $LN53@windowProc ; 668 : { ; 669 : if (window->win32.highSurrogate) 0044b 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 0044f 0f b7 80 9c 03 00 00 movzx eax, WORD PTR [rax+924] 00456 85 c0 test eax, eax 00458 74 3c je SHORT $LN55@windowProc ; 670 : { ; 671 : codepoint += (window->win32.highSurrogate - 0xd800) << 10; 0045a 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 0045e 0f b7 80 9c 03 00 00 movzx eax, WORD PTR [rax+924] 00465 2d 00 d8 00 00 sub eax, 55296 ; 0000d800H 0046a c1 e0 0a shl eax, 10 0046d 8b 4d 64 mov ecx, DWORD PTR codepoint$13[rbp] 00470 03 c8 add ecx, eax 00472 8b c1 mov eax, ecx 00474 89 45 64 mov DWORD PTR codepoint$13[rbp], eax ; 672 : codepoint += (WCHAR) wParam - 0xdc00; 00477 0f b7 85 90 09 00 00 movzx eax, WORD PTR wParam$[rbp] 0047e 8b 4d 64 mov ecx, DWORD PTR codepoint$13[rbp] 00481 8d 84 01 00 24 ff ff lea eax, DWORD PTR [rcx+rax-56320] 00488 89 45 64 mov DWORD PTR codepoint$13[rbp], eax ; 673 : codepoint += 0x10000; 0048b 8b 45 64 mov eax, DWORD PTR codepoint$13[rbp] 0048e 05 00 00 01 00 add eax, 65536 ; 00010000H 00493 89 45 64 mov DWORD PTR codepoint$13[rbp], eax $LN55@windowProc: ; 674 : } ; 675 : } 00496 eb 0a jmp SHORT $LN54@windowProc $LN53@windowProc: ; 676 : else ; 677 : codepoint = (WCHAR) wParam; 00498 0f b7 85 90 09 00 00 movzx eax, WORD PTR wParam$[rbp] 0049f 89 45 64 mov DWORD PTR codepoint$13[rbp], eax $LN54@windowProc: ; 678 : ; 679 : window->win32.highSurrogate = 0; 004a2 33 c0 xor eax, eax 004a4 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 004a8 66 89 81 9c 03 00 00 mov WORD PTR [rcx+924], ax ; 680 : _glfwInputChar(window, codepoint, getKeyMods(), uMsg != WM_SYSCHAR); 004af 81 bd 88 09 00 00 06 01 00 00 cmp DWORD PTR uMsg$[rbp], 262 ; 00000106H 004b9 74 0c je SHORT $LN175@windowProc 004bb c7 85 44 09 00 00 01 00 00 00 mov DWORD PTR tv187[rbp], 1 004c5 eb 0a jmp SHORT $LN176@windowProc $LN175@windowProc: 004c7 c7 85 44 09 00 00 00 00 00 00 mov DWORD PTR tv187[rbp], 0 $LN176@windowProc: 004d1 e8 00 00 00 00 call getKeyMods 004d6 44 8b 8d 44 09 00 00 mov r9d, DWORD PTR tv187[rbp] 004dd 44 8b c0 mov r8d, eax 004e0 8b 55 64 mov edx, DWORD PTR codepoint$13[rbp] 004e3 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 004e7 e8 00 00 00 00 call _glfwInputChar $LN52@windowProc: ; 681 : } ; 682 : ; 683 : if (uMsg == WM_SYSCHAR && window->win32.keymenu) 004ec 81 bd 88 09 00 00 06 01 00 00 cmp DWORD PTR uMsg$[rbp], 262 ; 00000106H 004f6 75 12 jne SHORT $LN56@windowProc 004f8 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 004fc 83 b8 88 03 00 00 00 cmp DWORD PTR [rax+904], 0 00503 74 05 je SHORT $LN56@windowProc ; 684 : break; 00505 e9 63 12 00 00 jmp $LN2@windowProc $LN56@windowProc: ; 685 : ; 686 : return 0; 0050a 33 c0 xor eax, eax 0050c e9 7d 12 00 00 jmp $LN1@windowProc $LN57@windowProc: ; 687 : } ; 688 : ; 689 : case WM_UNICHAR: ; 690 : { ; 691 : if (wParam == UNICODE_NOCHAR) 00511 48 81 bd 90 09 00 00 ff ff 00 00 cmp QWORD PTR wParam$[rbp], 65535 ; 0000ffffH 0051c 75 0a jne SHORT $LN58@windowProc ; 692 : { ; 693 : // WM_UNICHAR is not sent by Windows, but is sent by some ; 694 : // third-party input method engine ; 695 : // Returning TRUE here announces support for this message ; 696 : return TRUE; 0051e b8 01 00 00 00 mov eax, 1 00523 e9 66 12 00 00 jmp $LN1@windowProc $LN58@windowProc: ; 697 : } ; 698 : ; 699 : _glfwInputChar(window, (uint32_t) wParam, getKeyMods(), GLFW_TRUE); 00528 e8 00 00 00 00 call getKeyMods 0052d 41 b9 01 00 00 00 mov r9d, 1 00533 44 8b c0 mov r8d, eax 00536 8b 95 90 09 00 00 mov edx, DWORD PTR wParam$[rbp] 0053c 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00540 e8 00 00 00 00 call _glfwInputChar ; 700 : return 0; 00545 33 c0 xor eax, eax 00547 e9 42 12 00 00 jmp $LN1@windowProc $LN59@windowProc: $LN60@windowProc: $LN61@windowProc: $LN62@windowProc: ; 701 : } ; 702 : ; 703 : case WM_KEYDOWN: ; 704 : case WM_SYSKEYDOWN: ; 705 : case WM_KEYUP: ; 706 : case WM_SYSKEYUP: ; 707 : { ; 708 : int key, scancode; ; 709 : const int action = (HIWORD(lParam) & KF_UP) ? GLFW_RELEASE : GLFW_PRESS; 0054c 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 00553 48 c1 e8 10 shr rax, 16 00557 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 0055d 0f b7 c0 movzx eax, ax 00560 25 00 80 00 00 and eax, 32768 ; 00008000H 00565 85 c0 test eax, eax 00567 74 0c je SHORT $LN177@windowProc 00569 c7 85 44 09 00 00 00 00 00 00 mov DWORD PTR tv208[rbp], 0 00573 eb 0a jmp SHORT $LN178@windowProc $LN177@windowProc: 00575 c7 85 44 09 00 00 01 00 00 00 mov DWORD PTR tv208[rbp], 1 $LN178@windowProc: 0057f 8b 85 44 09 00 00 mov eax, DWORD PTR tv208[rbp] 00585 89 85 c4 00 00 00 mov DWORD PTR action$16[rbp], eax ; 710 : const int mods = getKeyMods(); 0058b e8 00 00 00 00 call getKeyMods 00590 89 85 e4 00 00 00 mov DWORD PTR mods$17[rbp], eax ; 711 : ; 712 : scancode = (HIWORD(lParam) & (KF_EXTENDED | 0xff)); 00596 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 0059d 48 c1 e8 10 shr rax, 16 005a1 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 005a7 0f b7 c0 movzx eax, ax 005aa 25 ff 01 00 00 and eax, 511 ; 000001ffH 005af 89 85 a4 00 00 00 mov DWORD PTR scancode$15[rbp], eax ; 713 : if (!scancode) 005b5 83 bd a4 00 00 00 00 cmp DWORD PTR scancode$15[rbp], 0 005bc 75 14 jne SHORT $LN63@windowProc ; 714 : { ; 715 : // NOTE: Some synthetic key messages have a scancode of zero ; 716 : // HACK: Map the virtual key back to a usable scancode ; 717 : scancode = MapVirtualKeyW((UINT) wParam, MAPVK_VK_TO_VSC); 005be 33 d2 xor edx, edx 005c0 8b 8d 90 09 00 00 mov ecx, DWORD PTR wParam$[rbp] 005c6 ff 15 00 00 00 00 call QWORD PTR __imp_MapVirtualKeyW 005cc 89 85 a4 00 00 00 mov DWORD PTR scancode$15[rbp], eax $LN63@windowProc: ; 718 : } ; 719 : ; 720 : // HACK: Alt+PrtSc has a different scancode than just PrtSc ; 721 : if (scancode == 0x54) 005d2 83 bd a4 00 00 00 54 cmp DWORD PTR scancode$15[rbp], 84 ; 00000054H 005d9 75 0a jne SHORT $LN64@windowProc ; 722 : scancode = 0x137; 005db c7 85 a4 00 00 00 37 01 00 00 mov DWORD PTR scancode$15[rbp], 311 ; 00000137H $LN64@windowProc: ; 723 : ; 724 : // HACK: Ctrl+Pause has a different scancode than just Pause ; 725 : if (scancode == 0x146) 005e5 81 bd a4 00 00 00 46 01 00 00 cmp DWORD PTR scancode$15[rbp], 326 ; 00000146H 005ef 75 0a jne SHORT $LN65@windowProc ; 726 : scancode = 0x45; 005f1 c7 85 a4 00 00 00 45 00 00 00 mov DWORD PTR scancode$15[rbp], 69 ; 00000045H $LN65@windowProc: ; 727 : ; 728 : // HACK: CJK IME sets the extended bit for right Shift ; 729 : if (scancode == 0x136) 005fb 81 bd a4 00 00 00 36 01 00 00 cmp DWORD PTR scancode$15[rbp], 310 ; 00000136H 00605 75 0a jne SHORT $LN66@windowProc ; 730 : scancode = 0x36; 00607 c7 85 a4 00 00 00 36 00 00 00 mov DWORD PTR scancode$15[rbp], 54 ; 00000036H $LN66@windowProc: ; 731 : ; 732 : key = _glfw.win32.keycodes[scancode]; 00611 48 63 85 a4 00 00 00 movsxd rax, DWORD PTR scancode$15[rbp] 00618 48 8d 0d a8 1b 00 00 lea rcx, OFFSET FLAT:_glfw+7080 0061f 0f bf 04 41 movsx eax, WORD PTR [rcx+rax*2] 00623 89 85 84 00 00 00 mov DWORD PTR key$14[rbp], eax ; 733 : ; 734 : // The Ctrl keys require special handling ; 735 : if (wParam == VK_CONTROL) 00629 48 83 bd 90 09 00 00 11 cmp QWORD PTR wParam$[rbp], 17 00631 0f 85 cf 00 00 00 jne $LN67@windowProc ; 736 : { ; 737 : if (HIWORD(lParam) & KF_EXTENDED) 00637 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 0063e 48 c1 e8 10 shr rax, 16 00642 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 00648 0f b7 c0 movzx eax, ax 0064b 25 00 01 00 00 and eax, 256 ; 00000100H 00650 85 c0 test eax, eax 00652 74 0f je SHORT $LN69@windowProc ; 738 : { ; 739 : // Right side keys have the extended key bit set ; 740 : key = GLFW_KEY_RIGHT_CONTROL; 00654 c7 85 84 00 00 00 59 01 00 00 mov DWORD PTR key$14[rbp], 345 ; 00000159H ; 741 : } 0065e e9 a1 00 00 00 jmp $LN70@windowProc $LN69@windowProc: ; 742 : else ; 743 : { ; 744 : // NOTE: Alt Gr sends Left Ctrl followed by Right Alt ; 745 : // HACK: We only want one event for Alt Gr, so if we detect ; 746 : // this sequence we discard this Left Ctrl message now ; 747 : // and later report Right Alt normally ; 748 : MSG next; ; 749 : const DWORD time = GetMessageTime(); 00663 ff 15 00 00 00 00 call QWORD PTR __imp_GetMessageTime 00669 89 85 54 01 00 00 mov DWORD PTR time$19[rbp], eax ; 750 : ; 751 : if (PeekMessageW(&next, NULL, 0, 0, PM_NOREMOVE)) 0066f c7 44 24 20 00 00 00 00 mov DWORD PTR [rsp+32], 0 00677 45 33 c9 xor r9d, r9d 0067a 45 33 c0 xor r8d, r8d 0067d 33 d2 xor edx, edx 0067f 48 8d 8d 08 01 00 00 lea rcx, QWORD PTR next$18[rbp] 00686 ff 15 00 00 00 00 call QWORD PTR __imp_PeekMessageW 0068c 85 c0 test eax, eax 0068e 74 6a je SHORT $LN71@windowProc ; 752 : { ; 753 : if (next.message == WM_KEYDOWN || ; 754 : next.message == WM_SYSKEYDOWN || ; 755 : next.message == WM_KEYUP || 00690 81 bd 10 01 00 00 00 01 00 00 cmp DWORD PTR next$18[rbp+8], 256 ; 00000100H 0069a 74 24 je SHORT $LN73@windowProc 0069c 81 bd 10 01 00 00 04 01 00 00 cmp DWORD PTR next$18[rbp+8], 260 ; 00000104H 006a6 74 18 je SHORT $LN73@windowProc 006a8 81 bd 10 01 00 00 01 01 00 00 cmp DWORD PTR next$18[rbp+8], 257 ; 00000101H 006b2 74 0c je SHORT $LN73@windowProc 006b4 81 bd 10 01 00 00 05 01 00 00 cmp DWORD PTR next$18[rbp+8], 261 ; 00000105H 006be 75 3a jne SHORT $LN72@windowProc $LN73@windowProc: ; 756 : next.message == WM_SYSKEYUP) ; 757 : { ; 758 : if (next.wParam == VK_MENU && ; 759 : (HIWORD(next.lParam) & KF_EXTENDED) && 006c0 48 83 bd 18 01 00 00 12 cmp QWORD PTR next$18[rbp+16], 18 006c8 75 30 jne SHORT $LN74@windowProc 006ca 48 8b 85 20 01 00 00 mov rax, QWORD PTR next$18[rbp+24] 006d1 48 c1 e8 10 shr rax, 16 006d5 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 006db 0f b7 c0 movzx eax, ax 006de 25 00 01 00 00 and eax, 256 ; 00000100H 006e3 85 c0 test eax, eax 006e5 74 13 je SHORT $LN74@windowProc 006e7 8b 85 54 01 00 00 mov eax, DWORD PTR time$19[rbp] 006ed 39 85 28 01 00 00 cmp DWORD PTR next$18[rbp+32], eax 006f3 75 05 jne SHORT $LN74@windowProc ; 760 : next.time == time) ; 761 : { ; 762 : // Next message is Right Alt down so discard this ; 763 : break; 006f5 e9 73 10 00 00 jmp $LN2@windowProc $LN74@windowProc: $LN72@windowProc: $LN71@windowProc: ; 764 : } ; 765 : } ; 766 : } ; 767 : ; 768 : // This is a regular Left Ctrl message ; 769 : key = GLFW_KEY_LEFT_CONTROL; 006fa c7 85 84 00 00 00 55 01 00 00 mov DWORD PTR key$14[rbp], 341 ; 00000155H $LN70@windowProc: ; 770 : } ; 771 : } 00704 eb 12 jmp SHORT $LN68@windowProc $LN67@windowProc: ; 772 : else if (wParam == VK_PROCESSKEY) 00706 48 81 bd 90 09 00 00 e5 00 00 00 cmp QWORD PTR wParam$[rbp], 229 ; 000000e5H 00711 75 05 jne SHORT $LN75@windowProc ; 773 : { ; 774 : // IME notifies that keys have been filtered by setting the ; 775 : // virtual key-code to VK_PROCESSKEY ; 776 : break; 00713 e9 55 10 00 00 jmp $LN2@windowProc $LN75@windowProc: $LN68@windowProc: ; 777 : } ; 778 : ; 779 : if (action == GLFW_RELEASE && wParam == VK_SHIFT) 00718 83 bd c4 00 00 00 00 cmp DWORD PTR action$16[rbp], 0 0071f 75 58 jne SHORT $LN76@windowProc 00721 48 83 bd 90 09 00 00 10 cmp QWORD PTR wParam$[rbp], 16 00729 75 4e jne SHORT $LN76@windowProc ; 780 : { ; 781 : // HACK: Release both Shift keys on Shift up event, as when both ; 782 : // are pressed the first release does not emit any event ; 783 : // NOTE: The other half of this is in _glfwPollEventsWin32 ; 784 : _glfwInputKey(window, GLFW_KEY_LEFT_SHIFT, scancode, action, mods); 0072b 8b 85 e4 00 00 00 mov eax, DWORD PTR mods$17[rbp] 00731 89 44 24 20 mov DWORD PTR [rsp+32], eax 00735 44 8b 8d c4 00 00 00 mov r9d, DWORD PTR action$16[rbp] 0073c 44 8b 85 a4 00 00 00 mov r8d, DWORD PTR scancode$15[rbp] 00743 ba 54 01 00 00 mov edx, 340 ; 00000154H 00748 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 0074c e8 00 00 00 00 call _glfwInputKey ; 785 : _glfwInputKey(window, GLFW_KEY_RIGHT_SHIFT, scancode, action, mods); 00751 8b 85 e4 00 00 00 mov eax, DWORD PTR mods$17[rbp] 00757 89 44 24 20 mov DWORD PTR [rsp+32], eax 0075b 44 8b 8d c4 00 00 00 mov r9d, DWORD PTR action$16[rbp] 00762 44 8b 85 a4 00 00 00 mov r8d, DWORD PTR scancode$15[rbp] 00769 ba 58 01 00 00 mov edx, 344 ; 00000158H 0076e 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00772 e8 00 00 00 00 call _glfwInputKey ; 786 : } 00777 eb 7c jmp SHORT $LN77@windowProc $LN76@windowProc: ; 787 : else if (wParam == VK_SNAPSHOT) 00779 48 83 bd 90 09 00 00 2c cmp QWORD PTR wParam$[rbp], 44 ; 0000002cH 00781 75 4b jne SHORT $LN78@windowProc ; 788 : { ; 789 : // HACK: Key down is not reported for the Print Screen key ; 790 : _glfwInputKey(window, key, scancode, GLFW_PRESS, mods); 00783 8b 85 e4 00 00 00 mov eax, DWORD PTR mods$17[rbp] 00789 89 44 24 20 mov DWORD PTR [rsp+32], eax 0078d 41 b9 01 00 00 00 mov r9d, 1 00793 44 8b 85 a4 00 00 00 mov r8d, DWORD PTR scancode$15[rbp] 0079a 8b 95 84 00 00 00 mov edx, DWORD PTR key$14[rbp] 007a0 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 007a4 e8 00 00 00 00 call _glfwInputKey ; 791 : _glfwInputKey(window, key, scancode, GLFW_RELEASE, mods); 007a9 8b 85 e4 00 00 00 mov eax, DWORD PTR mods$17[rbp] 007af 89 44 24 20 mov DWORD PTR [rsp+32], eax 007b3 45 33 c9 xor r9d, r9d 007b6 44 8b 85 a4 00 00 00 mov r8d, DWORD PTR scancode$15[rbp] 007bd 8b 95 84 00 00 00 mov edx, DWORD PTR key$14[rbp] 007c3 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 007c7 e8 00 00 00 00 call _glfwInputKey ; 792 : } 007cc eb 27 jmp SHORT $LN79@windowProc $LN78@windowProc: ; 793 : else ; 794 : _glfwInputKey(window, key, scancode, action, mods); 007ce 8b 85 e4 00 00 00 mov eax, DWORD PTR mods$17[rbp] 007d4 89 44 24 20 mov DWORD PTR [rsp+32], eax 007d8 44 8b 8d c4 00 00 00 mov r9d, DWORD PTR action$16[rbp] 007df 44 8b 85 a4 00 00 00 mov r8d, DWORD PTR scancode$15[rbp] 007e6 8b 95 84 00 00 00 mov edx, DWORD PTR key$14[rbp] 007ec 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 007f0 e8 00 00 00 00 call _glfwInputKey $LN79@windowProc: $LN77@windowProc: ; 795 : ; 796 : break; 007f5 e9 73 0f 00 00 jmp $LN2@windowProc $LN80@windowProc: $LN81@windowProc: $LN82@windowProc: $LN83@windowProc: $LN84@windowProc: $LN85@windowProc: $LN86@windowProc: $LN87@windowProc: ; 797 : } ; 798 : ; 799 : case WM_LBUTTONDOWN: ; 800 : case WM_RBUTTONDOWN: ; 801 : case WM_MBUTTONDOWN: ; 802 : case WM_XBUTTONDOWN: ; 803 : case WM_LBUTTONUP: ; 804 : case WM_RBUTTONUP: ; 805 : case WM_MBUTTONUP: ; 806 : case WM_XBUTTONUP: ; 807 : { ; 808 : int i, button, action; ; 809 : ; 810 : if (uMsg == WM_LBUTTONDOWN || uMsg == WM_LBUTTONUP) 007fa 81 bd 88 09 00 00 01 02 00 00 cmp DWORD PTR uMsg$[rbp], 513 ; 00000201H 00804 74 0c je SHORT $LN90@windowProc 00806 81 bd 88 09 00 00 02 02 00 00 cmp DWORD PTR uMsg$[rbp], 514 ; 00000202H 00810 75 0c jne SHORT $LN88@windowProc $LN90@windowProc: ; 811 : button = GLFW_MOUSE_BUTTON_LEFT; 00812 c7 85 94 01 00 00 00 00 00 00 mov DWORD PTR button$21[rbp], 0 0081c eb 77 jmp SHORT $LN89@windowProc $LN88@windowProc: ; 812 : else if (uMsg == WM_RBUTTONDOWN || uMsg == WM_RBUTTONUP) 0081e 81 bd 88 09 00 00 04 02 00 00 cmp DWORD PTR uMsg$[rbp], 516 ; 00000204H 00828 74 0c je SHORT $LN93@windowProc 0082a 81 bd 88 09 00 00 05 02 00 00 cmp DWORD PTR uMsg$[rbp], 517 ; 00000205H 00834 75 0c jne SHORT $LN91@windowProc $LN93@windowProc: ; 813 : button = GLFW_MOUSE_BUTTON_RIGHT; 00836 c7 85 94 01 00 00 01 00 00 00 mov DWORD PTR button$21[rbp], 1 00840 eb 53 jmp SHORT $LN92@windowProc $LN91@windowProc: ; 814 : else if (uMsg == WM_MBUTTONDOWN || uMsg == WM_MBUTTONUP) 00842 81 bd 88 09 00 00 07 02 00 00 cmp DWORD PTR uMsg$[rbp], 519 ; 00000207H 0084c 74 0c je SHORT $LN96@windowProc 0084e 81 bd 88 09 00 00 08 02 00 00 cmp DWORD PTR uMsg$[rbp], 520 ; 00000208H 00858 75 0c jne SHORT $LN94@windowProc $LN96@windowProc: ; 815 : button = GLFW_MOUSE_BUTTON_MIDDLE; 0085a c7 85 94 01 00 00 02 00 00 00 mov DWORD PTR button$21[rbp], 2 00864 eb 2f jmp SHORT $LN95@windowProc $LN94@windowProc: ; 816 : else if (GET_XBUTTON_WPARAM(wParam) == XBUTTON1) 00866 48 8b 85 90 09 00 00 mov rax, QWORD PTR wParam$[rbp] 0086d 48 c1 e8 10 shr rax, 16 00871 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 00877 0f b7 c0 movzx eax, ax 0087a 83 f8 01 cmp eax, 1 0087d 75 0c jne SHORT $LN97@windowProc ; 817 : button = GLFW_MOUSE_BUTTON_4; 0087f c7 85 94 01 00 00 03 00 00 00 mov DWORD PTR button$21[rbp], 3 00889 eb 0a jmp SHORT $LN98@windowProc $LN97@windowProc: ; 818 : else ; 819 : button = GLFW_MOUSE_BUTTON_5; 0088b c7 85 94 01 00 00 04 00 00 00 mov DWORD PTR button$21[rbp], 4 $LN98@windowProc: $LN95@windowProc: $LN92@windowProc: $LN89@windowProc: ; 820 : ; 821 : if (uMsg == WM_LBUTTONDOWN || uMsg == WM_RBUTTONDOWN || ; 822 : uMsg == WM_MBUTTONDOWN || uMsg == WM_XBUTTONDOWN) 00895 81 bd 88 09 00 00 01 02 00 00 cmp DWORD PTR uMsg$[rbp], 513 ; 00000201H 0089f 74 24 je SHORT $LN101@windowProc 008a1 81 bd 88 09 00 00 04 02 00 00 cmp DWORD PTR uMsg$[rbp], 516 ; 00000204H 008ab 74 18 je SHORT $LN101@windowProc 008ad 81 bd 88 09 00 00 07 02 00 00 cmp DWORD PTR uMsg$[rbp], 519 ; 00000207H 008b7 74 0c je SHORT $LN101@windowProc 008b9 81 bd 88 09 00 00 0b 02 00 00 cmp DWORD PTR uMsg$[rbp], 523 ; 0000020bH 008c3 75 0c jne SHORT $LN99@windowProc $LN101@windowProc: ; 823 : { ; 824 : action = GLFW_PRESS; 008c5 c7 85 b4 01 00 00 01 00 00 00 mov DWORD PTR action$22[rbp], 1 ; 825 : } 008cf eb 0a jmp SHORT $LN100@windowProc $LN99@windowProc: ; 826 : else ; 827 : action = GLFW_RELEASE; 008d1 c7 85 b4 01 00 00 00 00 00 00 mov DWORD PTR action$22[rbp], 0 $LN100@windowProc: ; 828 : ; 829 : for (i = 0; i <= GLFW_MOUSE_BUTTON_LAST; i++) 008db c7 85 74 01 00 00 00 00 00 00 mov DWORD PTR i$20[rbp], 0 008e5 eb 0e jmp SHORT $LN8@windowProc $LN6@windowProc: 008e7 8b 85 74 01 00 00 mov eax, DWORD PTR i$20[rbp] 008ed ff c0 inc eax 008ef 89 85 74 01 00 00 mov DWORD PTR i$20[rbp], eax $LN8@windowProc: 008f5 83 bd 74 01 00 00 07 cmp DWORD PTR i$20[rbp], 7 008fc 7f 1c jg SHORT $LN7@windowProc ; 830 : { ; 831 : if (window->mouseButtons[i] == GLFW_PRESS) 008fe 48 63 85 74 01 00 00 movsxd rax, DWORD PTR i$20[rbp] 00905 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00909 0f be 84 01 88 00 00 00 movsx eax, BYTE PTR [rcx+rax+136] 00911 83 f8 01 cmp eax, 1 00914 75 02 jne SHORT $LN102@windowProc ; 832 : break; 00916 eb 02 jmp SHORT $LN7@windowProc $LN102@windowProc: ; 833 : } 00918 eb cd jmp SHORT $LN6@windowProc $LN7@windowProc: ; 834 : ; 835 : if (i > GLFW_MOUSE_BUTTON_LAST) 0091a 83 bd 74 01 00 00 07 cmp DWORD PTR i$20[rbp], 7 00921 7e 0d jle SHORT $LN103@windowProc ; 836 : SetCapture(hWnd); 00923 48 8b 8d 80 09 00 00 mov rcx, QWORD PTR hWnd$[rbp] 0092a ff 15 00 00 00 00 call QWORD PTR __imp_SetCapture $LN103@windowProc: ; 837 : ; 838 : _glfwInputMouseClick(window, button, action, getKeyMods()); 00930 e8 00 00 00 00 call getKeyMods 00935 44 8b c8 mov r9d, eax 00938 44 8b 85 b4 01 00 00 mov r8d, DWORD PTR action$22[rbp] 0093f 8b 95 94 01 00 00 mov edx, DWORD PTR button$21[rbp] 00945 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00949 e8 00 00 00 00 call _glfwInputMouseClick ; 839 : ; 840 : for (i = 0; i <= GLFW_MOUSE_BUTTON_LAST; i++) 0094e c7 85 74 01 00 00 00 00 00 00 mov DWORD PTR i$20[rbp], 0 00958 eb 0e jmp SHORT $LN11@windowProc $LN9@windowProc: 0095a 8b 85 74 01 00 00 mov eax, DWORD PTR i$20[rbp] 00960 ff c0 inc eax 00962 89 85 74 01 00 00 mov DWORD PTR i$20[rbp], eax $LN11@windowProc: 00968 83 bd 74 01 00 00 07 cmp DWORD PTR i$20[rbp], 7 0096f 7f 1c jg SHORT $LN10@windowProc ; 841 : { ; 842 : if (window->mouseButtons[i] == GLFW_PRESS) 00971 48 63 85 74 01 00 00 movsxd rax, DWORD PTR i$20[rbp] 00978 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 0097c 0f be 84 01 88 00 00 00 movsx eax, BYTE PTR [rcx+rax+136] 00984 83 f8 01 cmp eax, 1 00987 75 02 jne SHORT $LN104@windowProc ; 843 : break; 00989 eb 02 jmp SHORT $LN10@windowProc $LN104@windowProc: ; 844 : } 0098b eb cd jmp SHORT $LN9@windowProc $LN10@windowProc: ; 845 : ; 846 : if (i > GLFW_MOUSE_BUTTON_LAST) 0098d 83 bd 74 01 00 00 07 cmp DWORD PTR i$20[rbp], 7 00994 7e 06 jle SHORT $LN105@windowProc ; 847 : ReleaseCapture(); 00996 ff 15 00 00 00 00 call QWORD PTR __imp_ReleaseCapture $LN105@windowProc: ; 848 : ; 849 : if (uMsg == WM_XBUTTONDOWN || uMsg == WM_XBUTTONUP) 0099c 81 bd 88 09 00 00 0b 02 00 00 cmp DWORD PTR uMsg$[rbp], 523 ; 0000020bH 009a6 74 0c je SHORT $LN107@windowProc 009a8 81 bd 88 09 00 00 0c 02 00 00 cmp DWORD PTR uMsg$[rbp], 524 ; 0000020cH 009b2 75 0a jne SHORT $LN106@windowProc $LN107@windowProc: ; 850 : return TRUE; 009b4 b8 01 00 00 00 mov eax, 1 009b9 e9 d0 0d 00 00 jmp $LN1@windowProc $LN106@windowProc: ; 851 : ; 852 : return 0; 009be 33 c0 xor eax, eax 009c0 e9 c9 0d 00 00 jmp $LN1@windowProc $LN108@windowProc: ; 853 : } ; 854 : ; 855 : case WM_MOUSEMOVE: ; 856 : { ; 857 : const int x = GET_X_LPARAM(lParam); 009c5 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 009cc 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 009d2 98 cwde 009d3 89 85 d4 01 00 00 mov DWORD PTR x$23[rbp], eax ; 858 : const int y = GET_Y_LPARAM(lParam); 009d9 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 009e0 48 c1 e8 10 shr rax, 16 009e4 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 009ea 98 cwde 009eb 89 85 f4 01 00 00 mov DWORD PTR y$24[rbp], eax ; 859 : ; 860 : if (!window->win32.cursorTracked) 009f1 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 009f5 83 b8 70 03 00 00 00 cmp DWORD PTR [rax+880], 0 009fc 75 63 jne SHORT $LN109@windowProc ; 861 : { ; 862 : TRACKMOUSEEVENT tme; ; 863 : ZeroMemory(&tme, sizeof(tme)); 009fe 41 b8 18 00 00 00 mov r8d, 24 00a04 33 d2 xor edx, edx 00a06 48 8d 8d 18 02 00 00 lea rcx, QWORD PTR tme$25[rbp] 00a0d e8 00 00 00 00 call memset ; 864 : tme.cbSize = sizeof(tme); 00a12 c7 85 18 02 00 00 18 00 00 00 mov DWORD PTR tme$25[rbp], 24 ; 865 : tme.dwFlags = TME_LEAVE; 00a1c c7 85 1c 02 00 00 02 00 00 00 mov DWORD PTR tme$25[rbp+4], 2 ; 866 : tme.hwndTrack = window->win32.handle; 00a26 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00a2a 48 8b 80 58 03 00 00 mov rax, QWORD PTR [rax+856] 00a31 48 89 85 20 02 00 00 mov QWORD PTR tme$25[rbp+8], rax ; 867 : TrackMouseEvent(&tme); 00a38 48 8d 8d 18 02 00 00 lea rcx, QWORD PTR tme$25[rbp] 00a3f ff 15 00 00 00 00 call QWORD PTR __imp_TrackMouseEvent ; 868 : ; 869 : window->win32.cursorTracked = GLFW_TRUE; 00a45 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00a49 c7 80 70 03 00 00 01 00 00 00 mov DWORD PTR [rax+880], 1 ; 870 : _glfwInputCursorEnter(window, GLFW_TRUE); 00a53 ba 01 00 00 00 mov edx, 1 00a58 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00a5c e8 00 00 00 00 call _glfwInputCursorEnter $LN109@windowProc: ; 871 : } ; 872 : ; 873 : if (window->cursorMode == GLFW_CURSOR_DISABLED) 00a61 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00a65 81 b8 84 00 00 00 03 40 03 00 cmp DWORD PTR [rax+132], 212995 ; 00034003H 00a6f 0f 85 9c 00 00 00 jne $LN110@windowProc ; 874 : { ; 875 : const int dx = x - window->win32.lastCursorPosX; 00a75 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00a79 8b 80 94 03 00 00 mov eax, DWORD PTR [rax+916] 00a7f 8b 8d d4 01 00 00 mov ecx, DWORD PTR x$23[rbp] 00a85 2b c8 sub ecx, eax 00a87 8b c1 mov eax, ecx 00a89 89 85 44 02 00 00 mov DWORD PTR dx$26[rbp], eax ; 876 : const int dy = y - window->win32.lastCursorPosY; 00a8f 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00a93 8b 80 98 03 00 00 mov eax, DWORD PTR [rax+920] 00a99 8b 8d f4 01 00 00 mov ecx, DWORD PTR y$24[rbp] 00a9f 2b c8 sub ecx, eax 00aa1 8b c1 mov eax, ecx 00aa3 89 85 64 02 00 00 mov DWORD PTR dy$27[rbp], eax ; 877 : ; 878 : if (_glfw.win32.disabledCursorWindow != window) 00aa9 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00aad 48 39 05 48 29 00 00 cmp QWORD PTR _glfw+10568, rax 00ab4 74 05 je SHORT $LN112@windowProc ; 879 : break; 00ab6 e9 b2 0c 00 00 jmp $LN2@windowProc $LN112@windowProc: ; 880 : if (window->rawMouseMotion) 00abb 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00abf 83 b8 00 02 00 00 00 cmp DWORD PTR [rax+512], 0 00ac6 74 05 je SHORT $LN113@windowProc ; 881 : break; 00ac8 e9 a0 0c 00 00 jmp $LN2@windowProc $LN113@windowProc: ; 882 : ; 883 : _glfwInputCursorPos(window, 00acd f2 0f 2a 85 64 02 00 00 cvtsi2sd xmm0, DWORD PTR dy$27[rbp] 00ad5 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00ad9 f2 0f 10 88 f8 01 00 00 movsd xmm1, QWORD PTR [rax+504] 00ae1 f2 0f 58 c8 addsd xmm1, xmm0 00ae5 0f 28 c1 movaps xmm0, xmm1 00ae8 f2 0f 2a 8d 44 02 00 00 cvtsi2sd xmm1, DWORD PTR dx$26[rbp] 00af0 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00af4 f2 0f 10 90 f0 01 00 00 movsd xmm2, QWORD PTR [rax+496] 00afc f2 0f 58 d1 addsd xmm2, xmm1 00b00 0f 28 ca movaps xmm1, xmm2 00b03 0f 28 d0 movaps xmm2, xmm0 00b06 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00b0a e8 00 00 00 00 call _glfwInputCursorPos ; 884 : window->virtualCursorPosX + dx, ; 885 : window->virtualCursorPosY + dy); ; 886 : } 00b0f eb 1c jmp SHORT $LN111@windowProc $LN110@windowProc: ; 887 : else ; 888 : _glfwInputCursorPos(window, x, y); 00b11 f2 0f 2a 85 f4 01 00 00 cvtsi2sd xmm0, DWORD PTR y$24[rbp] 00b19 f2 0f 2a 8d d4 01 00 00 cvtsi2sd xmm1, DWORD PTR x$23[rbp] 00b21 0f 28 d0 movaps xmm2, xmm0 00b24 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00b28 e8 00 00 00 00 call _glfwInputCursorPos $LN111@windowProc: ; 889 : ; 890 : window->win32.lastCursorPosX = x; 00b2d 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00b31 8b 8d d4 01 00 00 mov ecx, DWORD PTR x$23[rbp] 00b37 89 88 94 03 00 00 mov DWORD PTR [rax+916], ecx ; 891 : window->win32.lastCursorPosY = y; 00b3d 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00b41 8b 8d f4 01 00 00 mov ecx, DWORD PTR y$24[rbp] 00b47 89 88 98 03 00 00 mov DWORD PTR [rax+920], ecx ; 892 : ; 893 : return 0; 00b4d 33 c0 xor eax, eax 00b4f e9 3a 0c 00 00 jmp $LN1@windowProc $LN114@windowProc: ; 894 : } ; 895 : ; 896 : case WM_INPUT: ; 897 : { ; 898 : UINT size = 0; 00b54 c7 85 84 02 00 00 00 00 00 00 mov DWORD PTR size$28[rbp], 0 ; 899 : HRAWINPUT ri = (HRAWINPUT) lParam; 00b5e 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 00b65 48 89 85 a8 02 00 00 mov QWORD PTR ri$29[rbp], rax ; 900 : RAWINPUT* data = NULL; 00b6c 48 c7 85 c8 02 00 00 00 00 00 00 mov QWORD PTR data$30[rbp], 0 ; 901 : int dx, dy; ; 902 : ; 903 : if (_glfw.win32.disabledCursorWindow != window) 00b77 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00b7b 48 39 05 48 29 00 00 cmp QWORD PTR _glfw+10568, rax 00b82 74 05 je SHORT $LN115@windowProc ; 904 : break; 00b84 e9 e4 0b 00 00 jmp $LN2@windowProc $LN115@windowProc: ; 905 : if (!window->rawMouseMotion) 00b89 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00b8d 83 b8 00 02 00 00 00 cmp DWORD PTR [rax+512], 0 00b94 75 05 jne SHORT $LN116@windowProc ; 906 : break; 00b96 e9 d2 0b 00 00 jmp $LN2@windowProc $LN116@windowProc: ; 907 : ; 908 : GetRawInputData(ri, RID_INPUT, NULL, &size, sizeof(RAWINPUTHEADER)); 00b9b c7 44 24 20 18 00 00 00 mov DWORD PTR [rsp+32], 24 00ba3 4c 8d 8d 84 02 00 00 lea r9, QWORD PTR size$28[rbp] 00baa 45 33 c0 xor r8d, r8d 00bad ba 03 00 00 10 mov edx, 268435459 ; 10000003H 00bb2 48 8b 8d a8 02 00 00 mov rcx, QWORD PTR ri$29[rbp] 00bb9 ff 15 00 00 00 00 call QWORD PTR __imp_GetRawInputData ; 909 : if (size > (UINT) _glfw.win32.rawInputSize) 00bbf 8b 05 60 29 00 00 mov eax, DWORD PTR _glfw+10592 00bc5 39 85 84 02 00 00 cmp DWORD PTR size$28[rbp], eax 00bcb 76 31 jbe SHORT $LN117@windowProc ; 910 : { ; 911 : _glfw_free(_glfw.win32.rawInput); 00bcd 48 8b 0d 58 29 00 00 mov rcx, QWORD PTR _glfw+10584 00bd4 e8 00 00 00 00 call _glfw_free ; 912 : _glfw.win32.rawInput = _glfw_calloc(size, 1); 00bd9 8b 85 84 02 00 00 mov eax, DWORD PTR size$28[rbp] 00bdf ba 01 00 00 00 mov edx, 1 00be4 8b c8 mov ecx, eax 00be6 e8 00 00 00 00 call _glfw_calloc 00beb 48 89 05 58 29 00 00 mov QWORD PTR _glfw+10584, rax ; 913 : _glfw.win32.rawInputSize = size; 00bf2 8b 85 84 02 00 00 mov eax, DWORD PTR size$28[rbp] 00bf8 89 05 60 29 00 00 mov DWORD PTR _glfw+10592, eax $LN117@windowProc: ; 914 : } ; 915 : ; 916 : size = _glfw.win32.rawInputSize; 00bfe 8b 05 60 29 00 00 mov eax, DWORD PTR _glfw+10592 00c04 89 85 84 02 00 00 mov DWORD PTR size$28[rbp], eax ; 917 : if (GetRawInputData(ri, RID_INPUT, ; 918 : _glfw.win32.rawInput, &size, ; 919 : sizeof(RAWINPUTHEADER)) == (UINT) -1) 00c0a c7 44 24 20 18 00 00 00 mov DWORD PTR [rsp+32], 24 00c12 4c 8d 8d 84 02 00 00 lea r9, QWORD PTR size$28[rbp] 00c19 4c 8b 05 58 29 00 00 mov r8, QWORD PTR _glfw+10584 00c20 ba 03 00 00 10 mov edx, 268435459 ; 10000003H 00c25 48 8b 8d a8 02 00 00 mov rcx, QWORD PTR ri$29[rbp] 00c2c ff 15 00 00 00 00 call QWORD PTR __imp_GetRawInputData 00c32 83 f8 ff cmp eax, -1 ; ffffffffH 00c35 75 16 jne SHORT $LN118@windowProc ; 920 : { ; 921 : _glfwInputError(GLFW_PLATFORM_ERROR, 00c37 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CJ@GILDAIDE@Win32?3?5Failed?5to?5retrieve?5raw?5i@ 00c3e b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00c43 e8 00 00 00 00 call _glfwInputError ; 922 : "Win32: Failed to retrieve raw input data"); ; 923 : break; 00c48 e9 20 0b 00 00 jmp $LN2@windowProc $LN118@windowProc: ; 924 : } ; 925 : ; 926 : data = _glfw.win32.rawInput; 00c4d 48 8b 05 58 29 00 00 mov rax, QWORD PTR _glfw+10584 00c54 48 89 85 c8 02 00 00 mov QWORD PTR data$30[rbp], rax ; 927 : if (data->data.mouse.usFlags & MOUSE_MOVE_ABSOLUTE) 00c5b 48 8b 85 c8 02 00 00 mov rax, QWORD PTR data$30[rbp] 00c62 0f b7 40 18 movzx eax, WORD PTR [rax+24] 00c66 83 e0 01 and eax, 1 00c69 85 c0 test eax, eax 00c6b 74 3a je SHORT $LN119@windowProc ; 928 : { ; 929 : dx = data->data.mouse.lLastX - window->win32.lastCursorPosX; 00c6d 48 8b 85 c8 02 00 00 mov rax, QWORD PTR data$30[rbp] 00c74 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00c78 8b 89 94 03 00 00 mov ecx, DWORD PTR [rcx+916] 00c7e 8b 40 24 mov eax, DWORD PTR [rax+36] 00c81 2b c1 sub eax, ecx 00c83 89 85 e4 02 00 00 mov DWORD PTR dx$31[rbp], eax ; 930 : dy = data->data.mouse.lLastY - window->win32.lastCursorPosY; 00c89 48 8b 85 c8 02 00 00 mov rax, QWORD PTR data$30[rbp] 00c90 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00c94 8b 89 98 03 00 00 mov ecx, DWORD PTR [rcx+920] 00c9a 8b 40 28 mov eax, DWORD PTR [rax+40] 00c9d 2b c1 sub eax, ecx 00c9f 89 85 04 03 00 00 mov DWORD PTR dy$32[rbp], eax ; 931 : } 00ca5 eb 20 jmp SHORT $LN120@windowProc $LN119@windowProc: ; 932 : else ; 933 : { ; 934 : dx = data->data.mouse.lLastX; 00ca7 48 8b 85 c8 02 00 00 mov rax, QWORD PTR data$30[rbp] 00cae 8b 40 24 mov eax, DWORD PTR [rax+36] 00cb1 89 85 e4 02 00 00 mov DWORD PTR dx$31[rbp], eax ; 935 : dy = data->data.mouse.lLastY; 00cb7 48 8b 85 c8 02 00 00 mov rax, QWORD PTR data$30[rbp] 00cbe 8b 40 28 mov eax, DWORD PTR [rax+40] 00cc1 89 85 04 03 00 00 mov DWORD PTR dy$32[rbp], eax $LN120@windowProc: ; 936 : } ; 937 : ; 938 : _glfwInputCursorPos(window, 00cc7 f2 0f 2a 85 04 03 00 00 cvtsi2sd xmm0, DWORD PTR dy$32[rbp] 00ccf 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00cd3 f2 0f 10 88 f8 01 00 00 movsd xmm1, QWORD PTR [rax+504] 00cdb f2 0f 58 c8 addsd xmm1, xmm0 00cdf 0f 28 c1 movaps xmm0, xmm1 00ce2 f2 0f 2a 8d e4 02 00 00 cvtsi2sd xmm1, DWORD PTR dx$31[rbp] 00cea 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00cee f2 0f 10 90 f0 01 00 00 movsd xmm2, QWORD PTR [rax+496] 00cf6 f2 0f 58 d1 addsd xmm2, xmm1 00cfa 0f 28 ca movaps xmm1, xmm2 00cfd 0f 28 d0 movaps xmm2, xmm0 00d00 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00d04 e8 00 00 00 00 call _glfwInputCursorPos ; 939 : window->virtualCursorPosX + dx, ; 940 : window->virtualCursorPosY + dy); ; 941 : ; 942 : window->win32.lastCursorPosX += dx; 00d09 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00d0d 8b 80 94 03 00 00 mov eax, DWORD PTR [rax+916] 00d13 03 85 e4 02 00 00 add eax, DWORD PTR dx$31[rbp] 00d19 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00d1d 89 81 94 03 00 00 mov DWORD PTR [rcx+916], eax ; 943 : window->win32.lastCursorPosY += dy; 00d23 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00d27 8b 80 98 03 00 00 mov eax, DWORD PTR [rax+920] 00d2d 03 85 04 03 00 00 add eax, DWORD PTR dy$32[rbp] 00d33 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00d37 89 81 98 03 00 00 mov DWORD PTR [rcx+920], eax ; 944 : break; 00d3d e9 2b 0a 00 00 jmp $LN2@windowProc $LN121@windowProc: ; 945 : } ; 946 : ; 947 : case WM_MOUSELEAVE: ; 948 : { ; 949 : window->win32.cursorTracked = GLFW_FALSE; 00d42 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00d46 c7 80 70 03 00 00 00 00 00 00 mov DWORD PTR [rax+880], 0 ; 950 : _glfwInputCursorEnter(window, GLFW_FALSE); 00d50 33 d2 xor edx, edx 00d52 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00d56 e8 00 00 00 00 call _glfwInputCursorEnter ; 951 : return 0; 00d5b 33 c0 xor eax, eax 00d5d e9 2c 0a 00 00 jmp $LN1@windowProc $LN122@windowProc: ; 952 : } ; 953 : ; 954 : case WM_MOUSEWHEEL: ; 955 : { ; 956 : _glfwInputScroll(window, 0.0, (SHORT) HIWORD(wParam) / (double) WHEEL_DELTA); 00d62 48 8b 85 90 09 00 00 mov rax, QWORD PTR wParam$[rbp] 00d69 48 c1 e8 10 shr rax, 16 00d6d 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 00d73 98 cwde 00d74 f2 0f 2a c0 cvtsi2sd xmm0, eax 00d78 f2 0f 5e 05 00 00 00 00 divsd xmm0, QWORD PTR __real@405e000000000000 00d80 0f 28 d0 movaps xmm2, xmm0 00d83 0f 57 c9 xorps xmm1, xmm1 00d86 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00d8a e8 00 00 00 00 call _glfwInputScroll ; 957 : return 0; 00d8f 33 c0 xor eax, eax 00d91 e9 f8 09 00 00 jmp $LN1@windowProc $LN123@windowProc: ; 958 : } ; 959 : ; 960 : case WM_MOUSEHWHEEL: ; 961 : { ; 962 : // This message is only sent on Windows Vista and later ; 963 : // NOTE: The X-axis is inverted for consistency with macOS and X11 ; 964 : _glfwInputScroll(window, -((SHORT) HIWORD(wParam) / (double) WHEEL_DELTA), 0.0); 00d96 48 8b 85 90 09 00 00 mov rax, QWORD PTR wParam$[rbp] 00d9d 48 c1 e8 10 shr rax, 16 00da1 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 00da7 98 cwde 00da8 f2 0f 2a c0 cvtsi2sd xmm0, eax 00dac f2 0f 5e 05 00 00 00 00 divsd xmm0, QWORD PTR __real@405e000000000000 00db4 0f 57 05 00 00 00 00 xorps xmm0, QWORD PTR __xmm@80000000000000008000000000000000 00dbb 0f 57 d2 xorps xmm2, xmm2 00dbe 0f 28 c8 movaps xmm1, xmm0 00dc1 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00dc5 e8 00 00 00 00 call _glfwInputScroll ; 965 : return 0; 00dca 33 c0 xor eax, eax 00dcc e9 bd 09 00 00 jmp $LN1@windowProc $LN124@windowProc: $LN125@windowProc: ; 966 : } ; 967 : ; 968 : case WM_ENTERSIZEMOVE: ; 969 : case WM_ENTERMENULOOP: ; 970 : { ; 971 : if (window->win32.frameAction) 00dd1 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00dd5 83 b8 74 03 00 00 00 cmp DWORD PTR [rax+884], 0 00ddc 74 05 je SHORT $LN126@windowProc ; 972 : break; 00dde e9 8a 09 00 00 jmp $LN2@windowProc $LN126@windowProc: ; 973 : ; 974 : // HACK: Enable the cursor while the user is moving or ; 975 : // resizing the window or using the window menu ; 976 : if (window->cursorMode == GLFW_CURSOR_DISABLED) 00de3 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00de7 81 b8 84 00 00 00 03 40 03 00 cmp DWORD PTR [rax+132], 212995 ; 00034003H 00df1 75 0b jne SHORT $LN127@windowProc ; 977 : enableCursor(window); 00df3 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00df7 e8 00 00 00 00 call enableCursor 00dfc eb 15 jmp SHORT $LN128@windowProc $LN127@windowProc: ; 978 : else if (window->cursorMode == GLFW_CURSOR_CAPTURED) 00dfe 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00e02 81 b8 84 00 00 00 04 40 03 00 cmp DWORD PTR [rax+132], 212996 ; 00034004H 00e0c 75 05 jne SHORT $LN129@windowProc ; 979 : releaseCursor(); 00e0e e8 00 00 00 00 call releaseCursor $LN129@windowProc: $LN128@windowProc: ; 980 : ; 981 : break; 00e13 e9 55 09 00 00 jmp $LN2@windowProc $LN130@windowProc: $LN131@windowProc: ; 982 : } ; 983 : ; 984 : case WM_EXITSIZEMOVE: ; 985 : case WM_EXITMENULOOP: ; 986 : { ; 987 : if (window->win32.frameAction) 00e18 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00e1c 83 b8 74 03 00 00 00 cmp DWORD PTR [rax+884], 0 00e23 74 05 je SHORT $LN132@windowProc ; 988 : break; 00e25 e9 43 09 00 00 jmp $LN2@windowProc $LN132@windowProc: ; 989 : ; 990 : // HACK: Disable the cursor once the user is done moving or ; 991 : // resizing the window or using the menu ; 992 : if (window->cursorMode == GLFW_CURSOR_DISABLED) 00e2a 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00e2e 81 b8 84 00 00 00 03 40 03 00 cmp DWORD PTR [rax+132], 212995 ; 00034003H 00e38 75 0b jne SHORT $LN133@windowProc ; 993 : disableCursor(window); 00e3a 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00e3e e8 00 00 00 00 call disableCursor 00e43 eb 19 jmp SHORT $LN134@windowProc $LN133@windowProc: ; 994 : else if (window->cursorMode == GLFW_CURSOR_CAPTURED) 00e45 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00e49 81 b8 84 00 00 00 04 40 03 00 cmp DWORD PTR [rax+132], 212996 ; 00034004H 00e53 75 09 jne SHORT $LN135@windowProc ; 995 : captureCursor(window); 00e55 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00e59 e8 00 00 00 00 call captureCursor $LN135@windowProc: $LN134@windowProc: ; 996 : ; 997 : break; 00e5e e9 0a 09 00 00 jmp $LN2@windowProc $LN136@windowProc: ; 998 : } ; 999 : ; 1000 : case WM_SIZE: ; 1001 : { ; 1002 : const int width = LOWORD(lParam); 00e63 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 00e6a 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 00e70 0f b7 c0 movzx eax, ax 00e73 89 85 24 03 00 00 mov DWORD PTR width$33[rbp], eax ; 1003 : const int height = HIWORD(lParam); 00e79 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 00e80 48 c1 e8 10 shr rax, 16 00e84 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 00e8a 0f b7 c0 movzx eax, ax 00e8d 89 85 44 03 00 00 mov DWORD PTR height$34[rbp], eax ; 1004 : const GLFWbool iconified = wParam == SIZE_MINIMIZED; 00e93 48 83 bd 90 09 00 00 01 cmp QWORD PTR wParam$[rbp], 1 00e9b 75 0c jne SHORT $LN179@windowProc 00e9d c7 85 44 09 00 00 01 00 00 00 mov DWORD PTR tv493[rbp], 1 00ea7 eb 0a jmp SHORT $LN180@windowProc $LN179@windowProc: 00ea9 c7 85 44 09 00 00 00 00 00 00 mov DWORD PTR tv493[rbp], 0 $LN180@windowProc: 00eb3 8b 85 44 09 00 00 mov eax, DWORD PTR tv493[rbp] 00eb9 89 85 64 03 00 00 mov DWORD PTR iconified$35[rbp], eax ; 1005 : const GLFWbool maximized = wParam == SIZE_MAXIMIZED || 00ebf 48 83 bd 90 09 00 00 02 cmp QWORD PTR wParam$[rbp], 2 00ec7 74 23 je SHORT $LN182@windowProc 00ec9 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00ecd 83 b8 7c 03 00 00 00 cmp DWORD PTR [rax+892], 0 00ed4 74 0a je SHORT $LN181@windowProc 00ed6 48 83 bd 90 09 00 00 00 cmp QWORD PTR wParam$[rbp], 0 00ede 75 0c jne SHORT $LN182@windowProc $LN181@windowProc: 00ee0 c7 85 44 09 00 00 00 00 00 00 mov DWORD PTR tv498[rbp], 0 00eea eb 0a jmp SHORT $LN183@windowProc $LN182@windowProc: 00eec c7 85 44 09 00 00 01 00 00 00 mov DWORD PTR tv498[rbp], 1 $LN183@windowProc: 00ef6 8b 85 44 09 00 00 mov eax, DWORD PTR tv498[rbp] 00efc 89 85 84 03 00 00 mov DWORD PTR maximized$36[rbp], eax ; 1006 : (window->win32.maximized && ; 1007 : wParam != SIZE_RESTORED); ; 1008 : ; 1009 : if (_glfw.win32.capturedCursorWindow == window) 00f02 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00f06 48 39 05 50 29 00 00 cmp QWORD PTR _glfw+10576, rax 00f0d 75 09 jne SHORT $LN137@windowProc ; 1010 : captureCursor(window); 00f0f 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00f13 e8 00 00 00 00 call captureCursor $LN137@windowProc: ; 1011 : ; 1012 : if (window->win32.iconified != iconified) 00f18 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00f1c 8b 8d 64 03 00 00 mov ecx, DWORD PTR iconified$35[rbp] 00f22 39 88 78 03 00 00 cmp DWORD PTR [rax+888], ecx 00f28 74 0f je SHORT $LN138@windowProc ; 1013 : _glfwInputWindowIconify(window, iconified); 00f2a 8b 95 64 03 00 00 mov edx, DWORD PTR iconified$35[rbp] 00f30 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00f34 e8 00 00 00 00 call _glfwInputWindowIconify $LN138@windowProc: ; 1014 : ; 1015 : if (window->win32.maximized != maximized) 00f39 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00f3d 8b 8d 84 03 00 00 mov ecx, DWORD PTR maximized$36[rbp] 00f43 39 88 7c 03 00 00 cmp DWORD PTR [rax+892], ecx 00f49 74 0f je SHORT $LN139@windowProc ; 1016 : _glfwInputWindowMaximize(window, maximized); 00f4b 8b 95 84 03 00 00 mov edx, DWORD PTR maximized$36[rbp] 00f51 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00f55 e8 00 00 00 00 call _glfwInputWindowMaximize $LN139@windowProc: ; 1017 : ; 1018 : if (width != window->win32.width || height != window->win32.height) 00f5a 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00f5e 8b 80 8c 03 00 00 mov eax, DWORD PTR [rax+908] 00f64 39 85 24 03 00 00 cmp DWORD PTR width$33[rbp], eax 00f6a 75 12 jne SHORT $LN141@windowProc 00f6c 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00f70 8b 80 90 03 00 00 mov eax, DWORD PTR [rax+912] 00f76 39 85 44 03 00 00 cmp DWORD PTR height$34[rbp], eax 00f7c 74 4c je SHORT $LN140@windowProc $LN141@windowProc: ; 1019 : { ; 1020 : window->win32.width = width; 00f7e 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00f82 8b 8d 24 03 00 00 mov ecx, DWORD PTR width$33[rbp] 00f88 89 88 8c 03 00 00 mov DWORD PTR [rax+908], ecx ; 1021 : window->win32.height = height; 00f8e 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00f92 8b 8d 44 03 00 00 mov ecx, DWORD PTR height$34[rbp] 00f98 89 88 90 03 00 00 mov DWORD PTR [rax+912], ecx ; 1022 : ; 1023 : _glfwInputFramebufferSize(window, width, height); 00f9e 44 8b 85 44 03 00 00 mov r8d, DWORD PTR height$34[rbp] 00fa5 8b 95 24 03 00 00 mov edx, DWORD PTR width$33[rbp] 00fab 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00faf e8 00 00 00 00 call _glfwInputFramebufferSize ; 1024 : _glfwInputWindowSize(window, width, height); 00fb4 44 8b 85 44 03 00 00 mov r8d, DWORD PTR height$34[rbp] 00fbb 8b 95 24 03 00 00 mov edx, DWORD PTR width$33[rbp] 00fc1 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00fc5 e8 00 00 00 00 call _glfwInputWindowSize $LN140@windowProc: ; 1025 : } ; 1026 : ; 1027 : if (window->monitor && window->win32.iconified != iconified) 00fca 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00fce 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 00fd3 74 38 je SHORT $LN142@windowProc 00fd5 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 00fd9 8b 8d 64 03 00 00 mov ecx, DWORD PTR iconified$35[rbp] 00fdf 39 88 78 03 00 00 cmp DWORD PTR [rax+888], ecx 00fe5 74 26 je SHORT $LN142@windowProc ; 1028 : { ; 1029 : if (iconified) 00fe7 83 bd 64 03 00 00 00 cmp DWORD PTR iconified$35[rbp], 0 00fee 74 0b je SHORT $LN143@windowProc ; 1030 : releaseMonitor(window); 00ff0 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00ff4 e8 00 00 00 00 call releaseMonitor 00ff9 eb 12 jmp SHORT $LN144@windowProc $LN143@windowProc: ; 1031 : else ; 1032 : { ; 1033 : acquireMonitor(window); 00ffb 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 00fff e8 00 00 00 00 call acquireMonitor ; 1034 : fitToMonitor(window); 01004 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 01008 e8 00 00 00 00 call fitToMonitor $LN144@windowProc: $LN142@windowProc: ; 1035 : } ; 1036 : } ; 1037 : ; 1038 : window->win32.iconified = iconified; 0100d 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 01011 8b 8d 64 03 00 00 mov ecx, DWORD PTR iconified$35[rbp] 01017 89 88 78 03 00 00 mov DWORD PTR [rax+888], ecx ; 1039 : window->win32.maximized = maximized; 0101d 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 01021 8b 8d 84 03 00 00 mov ecx, DWORD PTR maximized$36[rbp] 01027 89 88 7c 03 00 00 mov DWORD PTR [rax+892], ecx ; 1040 : return 0; 0102d 33 c0 xor eax, eax 0102f e9 5a 07 00 00 jmp $LN1@windowProc $LN145@windowProc: ; 1041 : } ; 1042 : ; 1043 : case WM_MOVE: ; 1044 : { ; 1045 : if (_glfw.win32.capturedCursorWindow == window) 01034 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 01038 48 39 05 50 29 00 00 cmp QWORD PTR _glfw+10576, rax 0103f 75 09 jne SHORT $LN146@windowProc ; 1046 : captureCursor(window); 01041 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 01045 e8 00 00 00 00 call captureCursor $LN146@windowProc: ; 1047 : ; 1048 : // NOTE: This cannot use LOWORD/HIWORD recommended by MSDN, as ; 1049 : // those macros do not handle negative window positions correctly ; 1050 : _glfwInputWindowPos(window, 0104a 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 01051 48 c1 e8 10 shr rax, 16 01055 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 0105b 98 cwde 0105c 48 8b 8d 98 09 00 00 mov rcx, QWORD PTR lParam$[rbp] 01063 48 81 e1 ff ff 00 00 and rcx, 65535 ; 0000ffffH 0106a 0f bf c9 movsx ecx, cx 0106d 44 8b c0 mov r8d, eax 01070 8b d1 mov edx, ecx 01072 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 01076 e8 00 00 00 00 call _glfwInputWindowPos ; 1051 : GET_X_LPARAM(lParam), ; 1052 : GET_Y_LPARAM(lParam)); ; 1053 : return 0; 0107b 33 c0 xor eax, eax 0107d e9 0c 07 00 00 jmp $LN1@windowProc $LN147@windowProc: ; 1054 : } ; 1055 : ; 1056 : case WM_SIZING: ; 1057 : { ; 1058 : if (window->numer == GLFW_DONT_CARE || 01082 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 01086 83 78 70 ff cmp DWORD PTR [rax+112], -1 0108a 74 0a je SHORT $LN149@windowProc 0108c 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 01090 83 78 74 ff cmp DWORD PTR [rax+116], -1 01094 75 05 jne SHORT $LN148@windowProc $LN149@windowProc: ; 1059 : window->denom == GLFW_DONT_CARE) ; 1060 : { ; 1061 : break; 01096 e9 d2 06 00 00 jmp $LN2@windowProc $LN148@windowProc: ; 1062 : } ; 1063 : ; 1064 : applyAspectRatio(window, (int) wParam, (RECT*) lParam); 0109b 4c 8b 85 98 09 00 00 mov r8, QWORD PTR lParam$[rbp] 010a2 8b 95 90 09 00 00 mov edx, DWORD PTR wParam$[rbp] 010a8 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 010ac e8 00 00 00 00 call applyAspectRatio ; 1065 : return TRUE; 010b1 b8 01 00 00 00 mov eax, 1 010b6 e9 d3 06 00 00 jmp $LN1@windowProc $LN150@windowProc: ; 1066 : } ; 1067 : ; 1068 : case WM_GETMINMAXINFO: ; 1069 : { ; 1070 : RECT frame = {0}; 010bb 48 8d 85 a8 03 00 00 lea rax, QWORD PTR frame$37[rbp] 010c2 48 8b f8 mov rdi, rax 010c5 33 c0 xor eax, eax 010c7 b9 10 00 00 00 mov ecx, 16 010cc f3 aa rep stosb ; 1071 : MINMAXINFO* mmi = (MINMAXINFO*) lParam; 010ce 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 010d5 48 89 85 d8 03 00 00 mov QWORD PTR mmi$38[rbp], rax ; 1072 : const DWORD style = getWindowStyle(window); 010dc 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 010e0 e8 00 00 00 00 call getWindowStyle 010e5 89 85 f4 03 00 00 mov DWORD PTR style$39[rbp], eax ; 1073 : const DWORD exStyle = getWindowExStyle(window); 010eb 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 010ef e8 00 00 00 00 call getWindowExStyle 010f4 89 85 14 04 00 00 mov DWORD PTR exStyle$40[rbp], eax ; 1074 : ; 1075 : if (window->monitor) 010fa 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 010fe 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 01103 74 05 je SHORT $LN151@windowProc ; 1076 : break; 01105 e9 63 06 00 00 jmp $LN2@windowProc $LN151@windowProc: ; 1077 : ; 1078 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 0110a 66 b9 39 38 mov cx, 14393 ; 00003839H 0110e e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 01113 85 c0 test eax, eax 01115 74 34 je SHORT $LN152@windowProc ; 1079 : { ; 1080 : AdjustWindowRectExForDpi(&frame, style, FALSE, exStyle, 01117 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 0111b 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 01122 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 01128 89 44 24 20 mov DWORD PTR [rsp+32], eax 0112c 44 8b 8d 14 04 00 00 mov r9d, DWORD PTR exStyle$40[rbp] 01133 45 33 c0 xor r8d, r8d 01136 8b 95 f4 03 00 00 mov edx, DWORD PTR style$39[rbp] 0113c 48 8d 8d a8 03 00 00 lea rcx, QWORD PTR frame$37[rbp] 01143 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1081 : GetDpiForWindow(window->win32.handle)); ; 1082 : } 01149 eb 1d jmp SHORT $LN153@windowProc $LN152@windowProc: ; 1083 : else ; 1084 : AdjustWindowRectEx(&frame, style, FALSE, exStyle); 0114b 44 8b 8d 14 04 00 00 mov r9d, DWORD PTR exStyle$40[rbp] 01152 45 33 c0 xor r8d, r8d 01155 8b 95 f4 03 00 00 mov edx, DWORD PTR style$39[rbp] 0115b 48 8d 8d a8 03 00 00 lea rcx, QWORD PTR frame$37[rbp] 01162 ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx $LN153@windowProc: ; 1085 : ; 1086 : if (window->minwidth != GLFW_DONT_CARE && 01168 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 0116c 83 78 60 ff cmp DWORD PTR [rax+96], -1 01170 74 44 je SHORT $LN154@windowProc 01172 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 01176 83 78 64 ff cmp DWORD PTR [rax+100], -1 0117a 74 3a je SHORT $LN154@windowProc ; 1087 : window->minheight != GLFW_DONT_CARE) ; 1088 : { ; 1089 : mmi->ptMinTrackSize.x = window->minwidth + frame.right - frame.left; 0117c 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 01180 8b 40 60 mov eax, DWORD PTR [rax+96] 01183 03 85 b0 03 00 00 add eax, DWORD PTR frame$37[rbp+8] 01189 2b 85 a8 03 00 00 sub eax, DWORD PTR frame$37[rbp] 0118f 48 8b 8d d8 03 00 00 mov rcx, QWORD PTR mmi$38[rbp] 01196 89 41 18 mov DWORD PTR [rcx+24], eax ; 1090 : mmi->ptMinTrackSize.y = window->minheight + frame.bottom - frame.top; 01199 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 0119d 8b 40 64 mov eax, DWORD PTR [rax+100] 011a0 03 85 b4 03 00 00 add eax, DWORD PTR frame$37[rbp+12] 011a6 2b 85 ac 03 00 00 sub eax, DWORD PTR frame$37[rbp+4] 011ac 48 8b 8d d8 03 00 00 mov rcx, QWORD PTR mmi$38[rbp] 011b3 89 41 1c mov DWORD PTR [rcx+28], eax $LN154@windowProc: ; 1091 : } ; 1092 : ; 1093 : if (window->maxwidth != GLFW_DONT_CARE && 011b6 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 011ba 83 78 68 ff cmp DWORD PTR [rax+104], -1 011be 74 44 je SHORT $LN155@windowProc 011c0 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 011c4 83 78 6c ff cmp DWORD PTR [rax+108], -1 011c8 74 3a je SHORT $LN155@windowProc ; 1094 : window->maxheight != GLFW_DONT_CARE) ; 1095 : { ; 1096 : mmi->ptMaxTrackSize.x = window->maxwidth + frame.right - frame.left; 011ca 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 011ce 8b 40 68 mov eax, DWORD PTR [rax+104] 011d1 03 85 b0 03 00 00 add eax, DWORD PTR frame$37[rbp+8] 011d7 2b 85 a8 03 00 00 sub eax, DWORD PTR frame$37[rbp] 011dd 48 8b 8d d8 03 00 00 mov rcx, QWORD PTR mmi$38[rbp] 011e4 89 41 20 mov DWORD PTR [rcx+32], eax ; 1097 : mmi->ptMaxTrackSize.y = window->maxheight + frame.bottom - frame.top; 011e7 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 011eb 8b 40 6c mov eax, DWORD PTR [rax+108] 011ee 03 85 b4 03 00 00 add eax, DWORD PTR frame$37[rbp+12] 011f4 2b 85 ac 03 00 00 sub eax, DWORD PTR frame$37[rbp+4] 011fa 48 8b 8d d8 03 00 00 mov rcx, QWORD PTR mmi$38[rbp] 01201 89 41 24 mov DWORD PTR [rcx+36], eax $LN155@windowProc: ; 1098 : } ; 1099 : ; 1100 : if (!window->decorated) 01204 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 01208 83 78 0c 00 cmp DWORD PTR [rax+12], 0 0120c 0f 85 b7 00 00 00 jne $LN156@windowProc ; 1101 : { ; 1102 : MONITORINFO mi; ; 1103 : const HMONITOR mh = MonitorFromWindow(window->win32.handle, 01212 ba 02 00 00 00 mov edx, 2 01217 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 0121b 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 01222 ff 15 00 00 00 00 call QWORD PTR __imp_MonitorFromWindow 01228 48 89 85 78 04 00 00 mov QWORD PTR mh$42[rbp], rax ; 1104 : MONITOR_DEFAULTTONEAREST); ; 1105 : ; 1106 : ZeroMemory(&mi, sizeof(mi)); 0122f 41 b8 28 00 00 00 mov r8d, 40 ; 00000028H 01235 33 d2 xor edx, edx 01237 48 8d 8d 38 04 00 00 lea rcx, QWORD PTR mi$41[rbp] 0123e e8 00 00 00 00 call memset ; 1107 : mi.cbSize = sizeof(mi); 01243 c7 85 38 04 00 00 28 00 00 00 mov DWORD PTR mi$41[rbp], 40 ; 00000028H ; 1108 : GetMonitorInfoW(mh, &mi); 0124d 48 8d 95 38 04 00 00 lea rdx, QWORD PTR mi$41[rbp] 01254 48 8b 8d 78 04 00 00 mov rcx, QWORD PTR mh$42[rbp] 0125b ff 15 00 00 00 00 call QWORD PTR __imp_GetMonitorInfoW ; 1109 : ; 1110 : mmi->ptMaxPosition.x = mi.rcWork.left - mi.rcMonitor.left; 01261 8b 85 3c 04 00 00 mov eax, DWORD PTR mi$41[rbp+4] 01267 8b 8d 4c 04 00 00 mov ecx, DWORD PTR mi$41[rbp+20] 0126d 2b c8 sub ecx, eax 0126f 8b c1 mov eax, ecx 01271 48 8b 8d d8 03 00 00 mov rcx, QWORD PTR mmi$38[rbp] 01278 89 41 10 mov DWORD PTR [rcx+16], eax ; 1111 : mmi->ptMaxPosition.y = mi.rcWork.top - mi.rcMonitor.top; 0127b 8b 85 40 04 00 00 mov eax, DWORD PTR mi$41[rbp+8] 01281 8b 8d 50 04 00 00 mov ecx, DWORD PTR mi$41[rbp+24] 01287 2b c8 sub ecx, eax 01289 8b c1 mov eax, ecx 0128b 48 8b 8d d8 03 00 00 mov rcx, QWORD PTR mmi$38[rbp] 01292 89 41 14 mov DWORD PTR [rcx+20], eax ; 1112 : mmi->ptMaxSize.x = mi.rcWork.right - mi.rcWork.left; 01295 8b 85 4c 04 00 00 mov eax, DWORD PTR mi$41[rbp+20] 0129b 8b 8d 54 04 00 00 mov ecx, DWORD PTR mi$41[rbp+28] 012a1 2b c8 sub ecx, eax 012a3 8b c1 mov eax, ecx 012a5 48 8b 8d d8 03 00 00 mov rcx, QWORD PTR mmi$38[rbp] 012ac 89 41 08 mov DWORD PTR [rcx+8], eax ; 1113 : mmi->ptMaxSize.y = mi.rcWork.bottom - mi.rcWork.top; 012af 8b 85 50 04 00 00 mov eax, DWORD PTR mi$41[rbp+24] 012b5 8b 8d 58 04 00 00 mov ecx, DWORD PTR mi$41[rbp+32] 012bb 2b c8 sub ecx, eax 012bd 8b c1 mov eax, ecx 012bf 48 8b 8d d8 03 00 00 mov rcx, QWORD PTR mmi$38[rbp] 012c6 89 41 0c mov DWORD PTR [rcx+12], eax $LN156@windowProc: ; 1114 : } ; 1115 : ; 1116 : return 0; 012c9 33 c0 xor eax, eax 012cb e9 be 04 00 00 jmp $LN1@windowProc $LN157@windowProc: ; 1117 : } ; 1118 : ; 1119 : case WM_PAINT: ; 1120 : { ; 1121 : _glfwInputWindowDamage(window); 012d0 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 012d4 e8 00 00 00 00 call _glfwInputWindowDamage ; 1122 : break; 012d9 e9 8f 04 00 00 jmp $LN2@windowProc $LN158@windowProc: ; 1123 : } ; 1124 : ; 1125 : case WM_ERASEBKGND: ; 1126 : { ; 1127 : return TRUE; 012de b8 01 00 00 00 mov eax, 1 012e3 e9 a6 04 00 00 jmp $LN1@windowProc $LN159@windowProc: $LN160@windowProc: ; 1128 : } ; 1129 : ; 1130 : case WM_NCACTIVATE: ; 1131 : case WM_NCPAINT: ; 1132 : { ; 1133 : // Prevent title bar from being drawn after restoring a minimized ; 1134 : // undecorated window ; 1135 : if (!window->decorated) 012e8 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 012ec 83 78 0c 00 cmp DWORD PTR [rax+12], 0 012f0 75 0a jne SHORT $LN161@windowProc ; 1136 : return TRUE; 012f2 b8 01 00 00 00 mov eax, 1 012f7 e9 92 04 00 00 jmp $LN1@windowProc $LN161@windowProc: ; 1137 : ; 1138 : break; 012fc e9 6c 04 00 00 jmp $LN2@windowProc $LN162@windowProc: $LN163@windowProc: ; 1139 : } ; 1140 : ; 1141 : case WM_DWMCOMPOSITIONCHANGED: ; 1142 : case WM_DWMCOLORIZATIONCOLORCHANGED: ; 1143 : { ; 1144 : if (window->win32.transparent) 01301 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 01305 83 b8 80 03 00 00 00 cmp DWORD PTR [rax+896], 0 0130c 74 09 je SHORT $LN164@windowProc ; 1145 : updateFramebufferTransparency(window); 0130e 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 01312 e8 00 00 00 00 call updateFramebufferTransparency $LN164@windowProc: ; 1146 : return 0; 01317 33 c0 xor eax, eax 01319 e9 70 04 00 00 jmp $LN1@windowProc $LN165@windowProc: ; 1147 : } ; 1148 : ; 1149 : case WM_GETDPISCALEDSIZE: ; 1150 : { ; 1151 : if (window->win32.scaleToMonitor) 0131e 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 01322 83 b8 84 03 00 00 00 cmp DWORD PTR [rax+900], 0 01329 74 05 je SHORT $LN166@windowProc ; 1152 : break; 0132b e9 3d 04 00 00 jmp $LN2@windowProc $LN166@windowProc: ; 1153 : ; 1154 : // Adjust the window size to keep the content area size constant ; 1155 : if (_glfwIsWindows10Version1703OrGreaterWin32()) 01330 66 b9 d7 3a mov cx, 15063 ; 00003ad7H 01334 e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 01339 85 c0 test eax, eax 0133b 0f 84 4f 01 00 00 je $LN167@windowProc ; 1156 : { ; 1157 : RECT source = {0}, target = {0}; 01341 48 8d 85 98 04 00 00 lea rax, QWORD PTR source$43[rbp] 01348 48 8b f8 mov rdi, rax 0134b 33 c0 xor eax, eax 0134d b9 10 00 00 00 mov ecx, 16 01352 f3 aa rep stosb 01354 48 8d 85 c8 04 00 00 lea rax, QWORD PTR target$44[rbp] 0135b 48 8b f8 mov rdi, rax 0135e 33 c0 xor eax, eax 01360 b9 10 00 00 00 mov ecx, 16 01365 f3 aa rep stosb ; 1158 : SIZE* size = (SIZE*) lParam; 01367 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 0136e 48 89 85 f8 04 00 00 mov QWORD PTR size$45[rbp], rax ; 1159 : ; 1160 : AdjustWindowRectExForDpi(&source, getWindowStyle(window), 01375 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 01379 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 01380 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 01386 89 85 44 09 00 00 mov DWORD PTR tv638[rbp], eax 0138c 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 01390 e8 00 00 00 00 call getWindowExStyle 01395 89 85 48 09 00 00 mov DWORD PTR tv674[rbp], eax 0139b 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 0139f e8 00 00 00 00 call getWindowStyle 013a4 8b 8d 44 09 00 00 mov ecx, DWORD PTR tv638[rbp] 013aa 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 013ae 8b 8d 48 09 00 00 mov ecx, DWORD PTR tv674[rbp] 013b4 44 8b c9 mov r9d, ecx 013b7 45 33 c0 xor r8d, r8d 013ba 8b d0 mov edx, eax 013bc 48 8d 8d 98 04 00 00 lea rcx, QWORD PTR source$43[rbp] 013c3 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1161 : FALSE, getWindowExStyle(window), ; 1162 : GetDpiForWindow(window->win32.handle)); ; 1163 : AdjustWindowRectExForDpi(&target, getWindowStyle(window), 013c9 48 8b 85 90 09 00 00 mov rax, QWORD PTR wParam$[rbp] 013d0 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 013d6 0f b7 c0 movzx eax, ax 013d9 89 85 44 09 00 00 mov DWORD PTR tv684[rbp], eax 013df 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 013e3 e8 00 00 00 00 call getWindowExStyle 013e8 89 85 48 09 00 00 mov DWORD PTR tv686[rbp], eax 013ee 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 013f2 e8 00 00 00 00 call getWindowStyle 013f7 8b 8d 44 09 00 00 mov ecx, DWORD PTR tv684[rbp] 013fd 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 01401 8b 8d 48 09 00 00 mov ecx, DWORD PTR tv686[rbp] 01407 44 8b c9 mov r9d, ecx 0140a 45 33 c0 xor r8d, r8d 0140d 8b d0 mov edx, eax 0140f 48 8d 8d c8 04 00 00 lea rcx, QWORD PTR target$44[rbp] 01416 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1164 : FALSE, getWindowExStyle(window), ; 1165 : LOWORD(wParam)); ; 1166 : ; 1167 : size->cx += (target.right - target.left) - 0141c 8b 85 c8 04 00 00 mov eax, DWORD PTR target$44[rbp] 01422 8b 8d d0 04 00 00 mov ecx, DWORD PTR target$44[rbp+8] 01428 2b c8 sub ecx, eax 0142a 8b c1 mov eax, ecx 0142c 8b 8d 98 04 00 00 mov ecx, DWORD PTR source$43[rbp] 01432 8b 95 a0 04 00 00 mov edx, DWORD PTR source$43[rbp+8] 01438 2b d1 sub edx, ecx 0143a 8b ca mov ecx, edx 0143c 2b c1 sub eax, ecx 0143e 48 8b 8d f8 04 00 00 mov rcx, QWORD PTR size$45[rbp] 01445 03 01 add eax, DWORD PTR [rcx] 01447 48 8b 8d f8 04 00 00 mov rcx, QWORD PTR size$45[rbp] 0144e 89 01 mov DWORD PTR [rcx], eax ; 1168 : (source.right - source.left); ; 1169 : size->cy += (target.bottom - target.top) - 01450 8b 85 cc 04 00 00 mov eax, DWORD PTR target$44[rbp+4] 01456 8b 8d d4 04 00 00 mov ecx, DWORD PTR target$44[rbp+12] 0145c 2b c8 sub ecx, eax 0145e 8b c1 mov eax, ecx 01460 8b 8d 9c 04 00 00 mov ecx, DWORD PTR source$43[rbp+4] 01466 8b 95 a4 04 00 00 mov edx, DWORD PTR source$43[rbp+12] 0146c 2b d1 sub edx, ecx 0146e 8b ca mov ecx, edx 01470 2b c1 sub eax, ecx 01472 48 8b 8d f8 04 00 00 mov rcx, QWORD PTR size$45[rbp] 01479 03 41 04 add eax, DWORD PTR [rcx+4] 0147c 48 8b 8d f8 04 00 00 mov rcx, QWORD PTR size$45[rbp] 01483 89 41 04 mov DWORD PTR [rcx+4], eax ; 1170 : (source.bottom - source.top); ; 1171 : return TRUE; 01486 b8 01 00 00 00 mov eax, 1 0148b e9 fe 02 00 00 jmp $LN1@windowProc $LN167@windowProc: ; 1172 : } ; 1173 : ; 1174 : break; 01490 e9 d8 02 00 00 jmp $LN2@windowProc $LN168@windowProc: ; 1175 : } ; 1176 : ; 1177 : case WM_DPICHANGED: ; 1178 : { ; 1179 : const float xscale = HIWORD(wParam) / (float) USER_DEFAULT_SCREEN_DPI; 01495 48 8b 85 90 09 00 00 mov rax, QWORD PTR wParam$[rbp] 0149c 48 c1 e8 10 shr rax, 16 014a0 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 014a6 0f b7 c0 movzx eax, ax 014a9 f3 0f 2a c0 cvtsi2ss xmm0, eax 014ad f3 0f 5e 05 00 00 00 00 divss xmm0, DWORD PTR __real@42c00000 014b5 f3 0f 11 85 14 05 00 00 movss DWORD PTR xscale$46[rbp], xmm0 ; 1180 : const float yscale = LOWORD(wParam) / (float) USER_DEFAULT_SCREEN_DPI; 014bd 48 8b 85 90 09 00 00 mov rax, QWORD PTR wParam$[rbp] 014c4 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 014ca 0f b7 c0 movzx eax, ax 014cd f3 0f 2a c0 cvtsi2ss xmm0, eax 014d1 f3 0f 5e 05 00 00 00 00 divss xmm0, DWORD PTR __real@42c00000 014d9 f3 0f 11 85 34 05 00 00 movss DWORD PTR yscale$47[rbp], xmm0 ; 1181 : ; 1182 : // Resize windowed mode windows that either permit rescaling or that ; 1183 : // need it to compensate for non-client area scaling ; 1184 : if (!window->monitor && 014e1 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 014e5 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 014ea 0f 85 8b 00 00 00 jne $LN169@windowProc 014f0 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 014f4 83 b8 84 03 00 00 00 cmp DWORD PTR [rax+900], 0 014fb 75 0d jne SHORT $LN170@windowProc 014fd 66 b9 d7 3a mov cx, 15063 ; 00003ad7H 01501 e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 01506 85 c0 test eax, eax 01508 74 71 je SHORT $LN169@windowProc $LN170@windowProc: ; 1185 : (window->win32.scaleToMonitor || ; 1186 : _glfwIsWindows10Version1703OrGreaterWin32())) ; 1187 : { ; 1188 : RECT* suggested = (RECT*) lParam; 0150a 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 01511 48 89 85 58 05 00 00 mov QWORD PTR suggested$48[rbp], rax ; 1189 : SetWindowPos(window->win32.handle, HWND_TOP, 01518 48 8b 85 58 05 00 00 mov rax, QWORD PTR suggested$48[rbp] 0151f 48 8b 8d 58 05 00 00 mov rcx, QWORD PTR suggested$48[rbp] 01526 8b 49 04 mov ecx, DWORD PTR [rcx+4] 01529 8b 40 0c mov eax, DWORD PTR [rax+12] 0152c 2b c1 sub eax, ecx 0152e 48 8b 8d 58 05 00 00 mov rcx, QWORD PTR suggested$48[rbp] 01535 48 8b 95 58 05 00 00 mov rdx, QWORD PTR suggested$48[rbp] 0153c 8b 12 mov edx, DWORD PTR [rdx] 0153e 8b 49 08 mov ecx, DWORD PTR [rcx+8] 01541 2b ca sub ecx, edx 01543 c7 44 24 30 14 00 00 00 mov DWORD PTR [rsp+48], 20 0154b 89 44 24 28 mov DWORD PTR [rsp+40], eax 0154f 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 01553 48 8b 85 58 05 00 00 mov rax, QWORD PTR suggested$48[rbp] 0155a 44 8b 48 04 mov r9d, DWORD PTR [rax+4] 0155e 48 8b 85 58 05 00 00 mov rax, QWORD PTR suggested$48[rbp] 01565 44 8b 00 mov r8d, DWORD PTR [rax] 01568 33 d2 xor edx, edx 0156a 48 8b 45 08 mov rax, QWORD PTR window$[rbp] 0156e 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 01575 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos $LN169@windowProc: ; 1190 : suggested->left, ; 1191 : suggested->top, ; 1192 : suggested->right - suggested->left, ; 1193 : suggested->bottom - suggested->top, ; 1194 : SWP_NOACTIVATE | SWP_NOZORDER); ; 1195 : } ; 1196 : ; 1197 : _glfwInputWindowContentScale(window, xscale, yscale); 0157b f3 0f 10 95 34 05 00 00 movss xmm2, DWORD PTR yscale$47[rbp] 01583 f3 0f 10 8d 14 05 00 00 movss xmm1, DWORD PTR xscale$46[rbp] 0158b 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 0158f e8 00 00 00 00 call _glfwInputWindowContentScale ; 1198 : break; 01594 e9 d4 01 00 00 jmp $LN2@windowProc $LN171@windowProc: ; 1199 : } ; 1200 : ; 1201 : case WM_SETCURSOR: ; 1202 : { ; 1203 : if (LOWORD(lParam) == HTCLIENT) 01599 48 8b 85 98 09 00 00 mov rax, QWORD PTR lParam$[rbp] 015a0 48 25 ff ff 00 00 and rax, 65535 ; 0000ffffH 015a6 0f b7 c0 movzx eax, ax 015a9 83 f8 01 cmp eax, 1 015ac 75 13 jne SHORT $LN172@windowProc ; 1204 : { ; 1205 : updateCursorImage(window); 015ae 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 015b2 e8 00 00 00 00 call updateCursorImage ; 1206 : return TRUE; 015b7 b8 01 00 00 00 mov eax, 1 015bc e9 cd 01 00 00 jmp $LN1@windowProc $LN172@windowProc: ; 1207 : } ; 1208 : ; 1209 : break; 015c1 e9 a7 01 00 00 jmp $LN2@windowProc $LN173@windowProc: ; 1210 : } ; 1211 : ; 1212 : case WM_DROPFILES: ; 1213 : { ; 1214 : HDROP drop = (HDROP) wParam; 015c6 48 8b 85 90 09 00 00 mov rax, QWORD PTR wParam$[rbp] 015cd 48 89 85 78 05 00 00 mov QWORD PTR drop$49[rbp], rax ; 1215 : POINT pt; ; 1216 : int i; ; 1217 : ; 1218 : const int count = DragQueryFileW(drop, 0xffffffff, NULL, 0); 015d4 45 33 c9 xor r9d, r9d 015d7 45 33 c0 xor r8d, r8d 015da ba ff ff ff ff mov edx, -1 ; ffffffffH 015df 48 8b 8d 78 05 00 00 mov rcx, QWORD PTR drop$49[rbp] 015e6 ff 15 00 00 00 00 call QWORD PTR __imp_DragQueryFileW 015ec 89 85 d4 05 00 00 mov DWORD PTR count$52[rbp], eax ; 1219 : char** paths = _glfw_calloc(count, sizeof(char*)); 015f2 48 63 85 d4 05 00 00 movsxd rax, DWORD PTR count$52[rbp] 015f9 ba 08 00 00 00 mov edx, 8 015fe 48 8b c8 mov rcx, rax 01601 e8 00 00 00 00 call _glfw_calloc 01606 48 89 85 f8 05 00 00 mov QWORD PTR paths$53[rbp], rax ; 1220 : ; 1221 : // Move the mouse to the position of the drop ; 1222 : DragQueryPoint(drop, &pt); 0160d 48 8d 95 98 05 00 00 lea rdx, QWORD PTR pt$50[rbp] 01614 48 8b 8d 78 05 00 00 mov rcx, QWORD PTR drop$49[rbp] 0161b ff 15 00 00 00 00 call QWORD PTR __imp_DragQueryPoint ; 1223 : _glfwInputCursorPos(window, pt.x, pt.y); 01621 f2 0f 2a 85 9c 05 00 00 cvtsi2sd xmm0, DWORD PTR pt$50[rbp+4] 01629 f2 0f 2a 8d 98 05 00 00 cvtsi2sd xmm1, DWORD PTR pt$50[rbp] 01631 0f 28 d0 movaps xmm2, xmm0 01634 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 01638 e8 00 00 00 00 call _glfwInputCursorPos ; 1224 : ; 1225 : for (i = 0; i < count; i++) 0163d c7 85 b4 05 00 00 00 00 00 00 mov DWORD PTR i$51[rbp], 0 01647 eb 0e jmp SHORT $LN14@windowProc $LN12@windowProc: 01649 8b 85 b4 05 00 00 mov eax, DWORD PTR i$51[rbp] 0164f ff c0 inc eax 01651 89 85 b4 05 00 00 mov DWORD PTR i$51[rbp], eax $LN14@windowProc: 01657 8b 85 d4 05 00 00 mov eax, DWORD PTR count$52[rbp] 0165d 39 85 b4 05 00 00 cmp DWORD PTR i$51[rbp], eax 01663 0f 8d 90 00 00 00 jge $LN13@windowProc ; 1226 : { ; 1227 : const UINT length = DragQueryFileW(drop, i, NULL, 0); 01669 45 33 c9 xor r9d, r9d 0166c 45 33 c0 xor r8d, r8d 0166f 8b 95 b4 05 00 00 mov edx, DWORD PTR i$51[rbp] 01675 48 8b 8d 78 05 00 00 mov rcx, QWORD PTR drop$49[rbp] 0167c ff 15 00 00 00 00 call QWORD PTR __imp_DragQueryFileW 01682 89 85 14 06 00 00 mov DWORD PTR length$54[rbp], eax ; 1228 : WCHAR* buffer = _glfw_calloc((size_t) length + 1, sizeof(WCHAR)); 01688 8b 85 14 06 00 00 mov eax, DWORD PTR length$54[rbp] 0168e 48 ff c0 inc rax 01691 ba 02 00 00 00 mov edx, 2 01696 48 8b c8 mov rcx, rax 01699 e8 00 00 00 00 call _glfw_calloc 0169e 48 89 85 38 06 00 00 mov QWORD PTR buffer$55[rbp], rax ; 1229 : ; 1230 : DragQueryFileW(drop, i, buffer, length + 1); 016a5 8b 85 14 06 00 00 mov eax, DWORD PTR length$54[rbp] 016ab ff c0 inc eax 016ad 44 8b c8 mov r9d, eax 016b0 4c 8b 85 38 06 00 00 mov r8, QWORD PTR buffer$55[rbp] 016b7 8b 95 b4 05 00 00 mov edx, DWORD PTR i$51[rbp] 016bd 48 8b 8d 78 05 00 00 mov rcx, QWORD PTR drop$49[rbp] 016c4 ff 15 00 00 00 00 call QWORD PTR __imp_DragQueryFileW ; 1231 : paths[i] = _glfwCreateUTF8FromWideStringWin32(buffer); 016ca 48 8b 8d 38 06 00 00 mov rcx, QWORD PTR buffer$55[rbp] 016d1 e8 00 00 00 00 call _glfwCreateUTF8FromWideStringWin32 016d6 48 63 8d b4 05 00 00 movsxd rcx, DWORD PTR i$51[rbp] 016dd 48 8b 95 f8 05 00 00 mov rdx, QWORD PTR paths$53[rbp] 016e4 48 89 04 ca mov QWORD PTR [rdx+rcx*8], rax ; 1232 : ; 1233 : _glfw_free(buffer); 016e8 48 8b 8d 38 06 00 00 mov rcx, QWORD PTR buffer$55[rbp] 016ef e8 00 00 00 00 call _glfw_free ; 1234 : } 016f4 e9 50 ff ff ff jmp $LN12@windowProc $LN13@windowProc: ; 1235 : ; 1236 : _glfwInputDrop(window, count, (const char**) paths); 016f9 4c 8b 85 f8 05 00 00 mov r8, QWORD PTR paths$53[rbp] 01700 8b 95 d4 05 00 00 mov edx, DWORD PTR count$52[rbp] 01706 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp] 0170a e8 00 00 00 00 call _glfwInputDrop ; 1237 : ; 1238 : for (i = 0; i < count; i++) 0170f c7 85 b4 05 00 00 00 00 00 00 mov DWORD PTR i$51[rbp], 0 01719 eb 0e jmp SHORT $LN17@windowProc $LN15@windowProc: 0171b 8b 85 b4 05 00 00 mov eax, DWORD PTR i$51[rbp] 01721 ff c0 inc eax 01723 89 85 b4 05 00 00 mov DWORD PTR i$51[rbp], eax $LN17@windowProc: 01729 8b 85 d4 05 00 00 mov eax, DWORD PTR count$52[rbp] 0172f 39 85 b4 05 00 00 cmp DWORD PTR i$51[rbp], eax 01735 7d 19 jge SHORT $LN16@windowProc ; 1239 : _glfw_free(paths[i]); 01737 48 63 85 b4 05 00 00 movsxd rax, DWORD PTR i$51[rbp] 0173e 48 8b 8d f8 05 00 00 mov rcx, QWORD PTR paths$53[rbp] 01745 48 8b 0c c1 mov rcx, QWORD PTR [rcx+rax*8] 01749 e8 00 00 00 00 call _glfw_free 0174e eb cb jmp SHORT $LN15@windowProc $LN16@windowProc: ; 1240 : _glfw_free(paths); 01750 48 8b 8d f8 05 00 00 mov rcx, QWORD PTR paths$53[rbp] 01757 e8 00 00 00 00 call _glfw_free ; 1241 : ; 1242 : DragFinish(drop); 0175c 48 8b 8d 78 05 00 00 mov rcx, QWORD PTR drop$49[rbp] 01763 ff 15 00 00 00 00 call QWORD PTR __imp_DragFinish ; 1243 : return 0; 01769 33 c0 xor eax, eax 0176b eb 21 jmp SHORT $LN1@windowProc $LN2@windowProc: ; 1244 : } ; 1245 : } ; 1246 : ; 1247 : return DefWindowProcW(hWnd, uMsg, wParam, lParam); 0176d 4c 8b 8d 98 09 00 00 mov r9, QWORD PTR lParam$[rbp] 01774 4c 8b 85 90 09 00 00 mov r8, QWORD PTR wParam$[rbp] 0177b 8b 95 88 09 00 00 mov edx, DWORD PTR uMsg$[rbp] 01781 48 8b 8d 80 09 00 00 mov rcx, QWORD PTR hWnd$[rbp] 01788 ff 15 00 00 00 00 call QWORD PTR __imp_DefWindowProcW $LN1@windowProc: ; 1248 : } 0178e 48 8b f8 mov rdi, rax 01791 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64] 01795 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:windowProc$rtcFrameData 0179c e8 00 00 00 00 call _RTC_CheckStackVars 017a1 48 8b c7 mov rax, rdi 017a4 48 8b 8d 50 09 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 017ab 48 33 cd xor rcx, rbp 017ae e8 00 00 00 00 call __security_check_cookie 017b3 48 8d a5 68 09 00 00 lea rsp, QWORD PTR [rbp+2408] 017ba 5f pop rdi 017bb 5d pop rbp 017bc c3 ret 0 017bd 0f 1f 00 npad 3 $LN191@windowProc: 017c0 00 00 00 00 DD $LN145@windowProc 017c4 00 00 00 00 DD $LN136@windowProc 017c8 00 00 00 00 DD $LN30@windowProc 017cc 00 00 00 00 DD $LN35@windowProc 017d0 00 00 00 00 DD $LN157@windowProc 017d4 00 00 00 00 DD $LN47@windowProc 017d8 00 00 00 00 DD $LN158@windowProc 017dc 00 00 00 00 DD $LN171@windowProc 017e0 00 00 00 00 DD $LN22@windowProc 017e4 00 00 00 00 DD $LN150@windowProc 017e8 00 00 00 00 DD $LN48@windowProc 017ec 00 00 00 00 DD $LN160@windowProc 017f0 00 00 00 00 DD $LN159@windowProc 017f4 00 00 00 00 DD $LN2@windowProc $LN190@windowProc: 017f8 00 DB 0 017f9 0d DB 13 017fa 01 DB 1 017fb 0d DB 13 017fc 02 DB 2 017fd 03 DB 3 017fe 0d DB 13 017ff 0d DB 13 01800 0d DB 13 01801 0d DB 13 01802 0d DB 13 01803 0d DB 13 01804 04 DB 4 01805 05 DB 5 01806 0d DB 13 01807 0d DB 13 01808 0d DB 13 01809 06 DB 6 0180a 0d DB 13 0180b 0d DB 13 0180c 0d DB 13 0180d 0d DB 13 0180e 0d DB 13 0180f 0d DB 13 01810 0d DB 13 01811 0d DB 13 01812 0d DB 13 01813 0d DB 13 01814 0d DB 13 01815 07 DB 7 01816 08 DB 8 01817 0d DB 13 01818 0d DB 13 01819 09 DB 9 0181a 0d DB 13 0181b 0d DB 13 0181c 0d DB 13 0181d 0d DB 13 0181e 0d DB 13 0181f 0d DB 13 01820 0d DB 13 01821 0d DB 13 01822 0d DB 13 01823 0d DB 13 01824 0d DB 13 01825 0d DB 13 01826 0d DB 13 01827 0d DB 13 01828 0d DB 13 01829 0d DB 13 0182a 0d DB 13 0182b 0d DB 13 0182c 0d DB 13 0182d 0d DB 13 0182e 0d DB 13 0182f 0d DB 13 01830 0d DB 13 01831 0d DB 13 01832 0d DB 13 01833 0d DB 13 01834 0d DB 13 01835 0d DB 13 01836 0d DB 13 01837 0d DB 13 01838 0d DB 13 01839 0d DB 13 0183a 0d DB 13 0183b 0d DB 13 0183c 0d DB 13 0183d 0d DB 13 0183e 0d DB 13 0183f 0d DB 13 01840 0d DB 13 01841 0d DB 13 01842 0d DB 13 01843 0d DB 13 01844 0d DB 13 01845 0d DB 13 01846 0a DB 10 01847 0d DB 13 01848 0d DB 13 01849 0d DB 13 0184a 0d DB 13 0184b 0d DB 13 0184c 0d DB 13 0184d 0d DB 13 0184e 0d DB 13 0184f 0d DB 13 01850 0d DB 13 01851 0d DB 13 01852 0d DB 13 01853 0d DB 13 01854 0d DB 13 01855 0d DB 13 01856 0d DB 13 01857 0d DB 13 01858 0d DB 13 01859 0d DB 13 0185a 0d DB 13 0185b 0d DB 13 0185c 0d DB 13 0185d 0d DB 13 0185e 0d DB 13 0185f 0d DB 13 01860 0d DB 13 01861 0d DB 13 01862 0d DB 13 01863 0d DB 13 01864 0d DB 13 01865 0d DB 13 01866 0d DB 13 01867 0d DB 13 01868 0d DB 13 01869 0d DB 13 0186a 0d DB 13 0186b 0d DB 13 0186c 0d DB 13 0186d 0d DB 13 0186e 0d DB 13 0186f 0d DB 13 01870 0d DB 13 01871 0d DB 13 01872 0d DB 13 01873 0d DB 13 01874 0d DB 13 01875 0d DB 13 01876 0d DB 13 01877 0d DB 13 01878 0d DB 13 01879 0d DB 13 0187a 0b DB 11 0187b 0c DB 12 $LN189@windowProc: 0187c 00 00 00 00 DD $LN59@windowProc 01880 00 00 00 00 DD $LN61@windowProc 01884 00 00 00 00 DD $LN49@windowProc 01888 00 00 00 00 DD $LN2@windowProc 0188c 00 00 00 00 DD $LN60@windowProc 01890 00 00 00 00 DD $LN62@windowProc 01894 00 00 00 00 DD $LN50@windowProc 01898 00 00 00 00 DD $LN2@windowProc 0189c 00 00 00 00 DD $LN2@windowProc 018a0 00 00 00 00 DD $LN57@windowProc $LN188@windowProc: 018a4 00 00 00 00 DD $LN108@windowProc 018a8 00 00 00 00 DD $LN80@windowProc 018ac 00 00 00 00 DD $LN84@windowProc 018b0 00 00 00 00 DD $LN81@windowProc 018b4 00 00 00 00 DD $LN85@windowProc 018b8 00 00 00 00 DD $LN82@windowProc 018bc 00 00 00 00 DD $LN86@windowProc 018c0 00 00 00 00 DD $LN122@windowProc 018c4 00 00 00 00 DD $LN83@windowProc 018c8 00 00 00 00 DD $LN87@windowProc 018cc 00 00 00 00 DD $LN123@windowProc 018d0 00 00 00 00 DD $LN125@windowProc 018d4 00 00 00 00 DD $LN131@windowProc 018d8 00 00 00 00 DD $LN147@windowProc 018dc 00 00 00 00 DD $LN25@windowProc 018e0 00 00 00 00 DD $LN124@windowProc 018e4 00 00 00 00 DD $LN130@windowProc 018e8 00 00 00 00 DD $LN173@windowProc 018ec 00 00 00 00 DD $LN121@windowProc 018f0 00 00 00 00 DD $LN168@windowProc 018f4 00 00 00 00 DD $LN165@windowProc 018f8 00 00 00 00 DD $LN2@windowProc $LN187@windowProc: 018fc 00 DB 0 018fd 01 DB 1 018fe 02 DB 2 018ff 15 DB 21 01900 03 DB 3 01901 04 DB 4 01902 15 DB 21 01903 05 DB 5 01904 06 DB 6 01905 15 DB 21 01906 07 DB 7 01907 08 DB 8 01908 09 DB 9 01909 15 DB 21 0190a 0a DB 10 0190b 15 DB 21 0190c 15 DB 21 0190d 0b DB 11 0190e 0c DB 12 0190f 15 DB 21 01910 0d DB 13 01911 0e DB 14 01912 15 DB 21 01913 15 DB 21 01914 15 DB 21 01915 15 DB 21 01916 15 DB 21 01917 15 DB 21 01918 15 DB 21 01919 15 DB 21 0191a 15 DB 21 0191b 15 DB 21 0191c 15 DB 21 0191d 15 DB 21 0191e 15 DB 21 0191f 15 DB 21 01920 15 DB 21 01921 15 DB 21 01922 15 DB 21 01923 15 DB 21 01924 15 DB 21 01925 15 DB 21 01926 15 DB 21 01927 15 DB 21 01928 15 DB 21 01929 15 DB 21 0192a 15 DB 21 0192b 15 DB 21 0192c 15 DB 21 0192d 0f DB 15 0192e 10 DB 16 0192f 11 DB 17 01930 15 DB 21 01931 15 DB 21 01932 15 DB 21 01933 15 DB 21 01934 15 DB 21 01935 15 DB 21 01936 15 DB 21 01937 15 DB 21 01938 15 DB 21 01939 15 DB 21 0193a 15 DB 21 0193b 15 DB 21 0193c 15 DB 21 0193d 15 DB 21 0193e 15 DB 21 0193f 15 DB 21 01940 15 DB 21 01941 15 DB 21 01942 15 DB 21 01943 15 DB 21 01944 15 DB 21 01945 15 DB 21 01946 15 DB 21 01947 15 DB 21 01948 15 DB 21 01949 15 DB 21 0194a 15 DB 21 0194b 15 DB 21 0194c 15 DB 21 0194d 15 DB 21 0194e 15 DB 21 0194f 15 DB 21 01950 15 DB 21 01951 15 DB 21 01952 15 DB 21 01953 15 DB 21 01954 15 DB 21 01955 15 DB 21 01956 15 DB 21 01957 15 DB 21 01958 15 DB 21 01959 15 DB 21 0195a 15 DB 21 0195b 15 DB 21 0195c 15 DB 21 0195d 15 DB 21 0195e 15 DB 21 0195f 15 DB 21 01960 15 DB 21 01961 15 DB 21 01962 15 DB 21 01963 15 DB 21 01964 15 DB 21 01965 15 DB 21 01966 15 DB 21 01967 15 DB 21 01968 15 DB 21 01969 15 DB 21 0196a 15 DB 21 0196b 15 DB 21 0196c 15 DB 21 0196d 15 DB 21 0196e 15 DB 21 0196f 15 DB 21 01970 15 DB 21 01971 15 DB 21 01972 15 DB 21 01973 15 DB 21 01974 15 DB 21 01975 15 DB 21 01976 15 DB 21 01977 15 DB 21 01978 15 DB 21 01979 15 DB 21 0197a 15 DB 21 0197b 15 DB 21 0197c 15 DB 21 0197d 15 DB 21 0197e 15 DB 21 0197f 15 DB 21 01980 15 DB 21 01981 15 DB 21 01982 15 DB 21 01983 15 DB 21 01984 15 DB 21 01985 15 DB 21 01986 15 DB 21 01987 15 DB 21 01988 15 DB 21 01989 15 DB 21 0198a 15 DB 21 0198b 15 DB 21 0198c 15 DB 21 0198d 15 DB 21 0198e 15 DB 21 0198f 15 DB 21 01990 15 DB 21 01991 15 DB 21 01992 15 DB 21 01993 15 DB 21 01994 15 DB 21 01995 15 DB 21 01996 15 DB 21 01997 15 DB 21 01998 15 DB 21 01999 15 DB 21 0199a 15 DB 21 0199b 15 DB 21 0199c 15 DB 21 0199d 15 DB 21 0199e 15 DB 21 0199f 12 DB 18 019a0 15 DB 21 019a1 15 DB 21 019a2 15 DB 21 019a3 15 DB 21 019a4 15 DB 21 019a5 15 DB 21 019a6 15 DB 21 019a7 15 DB 21 019a8 15 DB 21 019a9 15 DB 21 019aa 15 DB 21 019ab 15 DB 21 019ac 15 DB 21 019ad 15 DB 21 019ae 15 DB 21 019af 15 DB 21 019b0 15 DB 21 019b1 15 DB 21 019b2 15 DB 21 019b3 15 DB 21 019b4 15 DB 21 019b5 15 DB 21 019b6 15 DB 21 019b7 15 DB 21 019b8 15 DB 21 019b9 15 DB 21 019ba 15 DB 21 019bb 15 DB 21 019bc 15 DB 21 019bd 15 DB 21 019be 15 DB 21 019bf 15 DB 21 019c0 15 DB 21 019c1 15 DB 21 019c2 15 DB 21 019c3 15 DB 21 019c4 15 DB 21 019c5 15 DB 21 019c6 15 DB 21 019c7 15 DB 21 019c8 15 DB 21 019c9 15 DB 21 019ca 15 DB 21 019cb 15 DB 21 019cc 15 DB 21 019cd 15 DB 21 019ce 15 DB 21 019cf 15 DB 21 019d0 15 DB 21 019d1 15 DB 21 019d2 15 DB 21 019d3 15 DB 21 019d4 15 DB 21 019d5 15 DB 21 019d6 15 DB 21 019d7 15 DB 21 019d8 15 DB 21 019d9 15 DB 21 019da 15 DB 21 019db 15 DB 21 019dc 13 DB 19 019dd 15 DB 21 019de 15 DB 21 019df 15 DB 21 019e0 14 DB 20 windowProc ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT maximizeWindowManually _TEXT SEGMENT rect$ = 8 style$ = 52 mi$ = 88 exStyle$5 = 148 dpi$6 = 180 __$ArrayPad$ = 392 window$ = 432 maximizeWindowManually PROC ; COMDAT ; 481 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 56 push rsi 00007 57 push rdi 00008 48 81 ec d0 01 00 00 sub rsp, 464 ; 000001d0H 0000f 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] 00014 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64] 00019 b9 34 00 00 00 mov ecx, 52 ; 00000034H 0001e b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00023 f3 ab rep stosd 00025 48 8b 8c 24 f8 01 00 00 mov rcx, QWORD PTR [rsp+504] 0002d 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00034 48 33 c5 xor rax, rbp 00037 48 89 85 88 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0003e 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00045 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 482 : RECT rect; ; 483 : DWORD style; ; 484 : MONITORINFO mi = { sizeof(mi) }; 0004a c7 45 58 28 00 00 00 mov DWORD PTR mi$[rbp], 40 ; 00000028H 00051 48 8d 45 5c lea rax, QWORD PTR mi$[rbp+4] 00055 48 8b f8 mov rdi, rax 00058 33 c0 xor eax, eax 0005a b9 24 00 00 00 mov ecx, 36 ; 00000024H 0005f f3 aa rep stosb ; 485 : ; 486 : GetMonitorInfoW(MonitorFromWindow(window->win32.handle, 00061 ba 02 00 00 00 mov edx, 2 00066 48 8b 85 b0 01 00 00 mov rax, QWORD PTR window$[rbp] 0006d 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00074 ff 15 00 00 00 00 call QWORD PTR __imp_MonitorFromWindow 0007a 48 8d 55 58 lea rdx, QWORD PTR mi$[rbp] 0007e 48 8b c8 mov rcx, rax 00081 ff 15 00 00 00 00 call QWORD PTR __imp_GetMonitorInfoW ; 487 : MONITOR_DEFAULTTONEAREST), &mi); ; 488 : ; 489 : rect = mi.rcWork; 00087 48 8d 45 08 lea rax, QWORD PTR rect$[rbp] 0008b 48 8d 4d 6c lea rcx, QWORD PTR mi$[rbp+20] 0008f 48 8b f8 mov rdi, rax 00092 48 8b f1 mov rsi, rcx 00095 b9 10 00 00 00 mov ecx, 16 0009a f3 a4 rep movsb ; 490 : ; 491 : if (window->maxwidth != GLFW_DONT_CARE && window->maxheight != GLFW_DONT_CARE) 0009c 48 8b 85 b0 01 00 00 mov rax, QWORD PTR window$[rbp] 000a3 83 78 68 ff cmp DWORD PTR [rax+104], -1 000a7 74 49 je SHORT $LN2@maximizeWi 000a9 48 8b 85 b0 01 00 00 mov rax, QWORD PTR window$[rbp] 000b0 83 78 6c ff cmp DWORD PTR [rax+108], -1 000b4 74 3c je SHORT $LN2@maximizeWi ; 492 : { ; 493 : rect.right = _glfw_min(rect.right, rect.left + window->maxwidth); 000b6 48 8b 85 b0 01 00 00 mov rax, QWORD PTR window$[rbp] 000bd 8b 40 68 mov eax, DWORD PTR [rax+104] 000c0 8b 4d 08 mov ecx, DWORD PTR rect$[rbp] 000c3 03 c8 add ecx, eax 000c5 8b c1 mov eax, ecx 000c7 8b d0 mov edx, eax 000c9 8b 4d 10 mov ecx, DWORD PTR rect$[rbp+8] 000cc e8 00 00 00 00 call _glfw_min 000d1 89 45 10 mov DWORD PTR rect$[rbp+8], eax ; 494 : rect.bottom = _glfw_min(rect.bottom, rect.top + window->maxheight); 000d4 48 8b 85 b0 01 00 00 mov rax, QWORD PTR window$[rbp] 000db 8b 40 6c mov eax, DWORD PTR [rax+108] 000de 8b 4d 0c mov ecx, DWORD PTR rect$[rbp+4] 000e1 03 c8 add ecx, eax 000e3 8b c1 mov eax, ecx 000e5 8b d0 mov edx, eax 000e7 8b 4d 14 mov ecx, DWORD PTR rect$[rbp+12] 000ea e8 00 00 00 00 call _glfw_min 000ef 89 45 14 mov DWORD PTR rect$[rbp+12], eax $LN2@maximizeWi: ; 495 : } ; 496 : ; 497 : style = GetWindowLongW(window->win32.handle, GWL_STYLE); 000f2 ba f0 ff ff ff mov edx, -16 000f7 48 8b 85 b0 01 00 00 mov rax, QWORD PTR window$[rbp] 000fe 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00105 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW 0010b 89 45 34 mov DWORD PTR style$[rbp], eax ; 498 : style |= WS_MAXIMIZE; 0010e 8b 45 34 mov eax, DWORD PTR style$[rbp] 00111 0f ba e8 18 bts eax, 24 00115 89 45 34 mov DWORD PTR style$[rbp], eax ; 499 : SetWindowLongW(window->win32.handle, GWL_STYLE, style); 00118 44 8b 45 34 mov r8d, DWORD PTR style$[rbp] 0011c ba f0 ff ff ff mov edx, -16 00121 48 8b 85 b0 01 00 00 mov rax, QWORD PTR window$[rbp] 00128 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0012f ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW ; 500 : ; 501 : if (window->decorated) 00135 48 8b 85 b0 01 00 00 mov rax, QWORD PTR window$[rbp] 0013c 83 78 0c 00 cmp DWORD PTR [rax+12], 0 00140 0f 84 c8 00 00 00 je $LN3@maximizeWi ; 502 : { ; 503 : const DWORD exStyle = GetWindowLongW(window->win32.handle, GWL_EXSTYLE); 00146 ba ec ff ff ff mov edx, -20 0014b 48 8b 85 b0 01 00 00 mov rax, QWORD PTR window$[rbp] 00152 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00159 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW 0015f 89 85 94 00 00 00 mov DWORD PTR exStyle$5[rbp], eax ; 504 : ; 505 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 00165 66 b9 39 38 mov cx, 14393 ; 00003839H 00169 e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 0016e 85 c0 test eax, eax 00170 74 5d je SHORT $LN4@maximizeWi ; 506 : { ; 507 : const UINT dpi = GetDpiForWindow(window->win32.handle); 00172 48 8b 85 b0 01 00 00 mov rax, QWORD PTR window$[rbp] 00179 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00180 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 00186 89 85 b4 00 00 00 mov DWORD PTR dpi$6[rbp], eax ; 508 : AdjustWindowRectExForDpi(&rect, style, FALSE, exStyle, dpi); 0018c 8b 85 b4 00 00 00 mov eax, DWORD PTR dpi$6[rbp] 00192 89 44 24 20 mov DWORD PTR [rsp+32], eax 00196 44 8b 8d 94 00 00 00 mov r9d, DWORD PTR exStyle$5[rbp] 0019d 45 33 c0 xor r8d, r8d 001a0 8b 55 34 mov edx, DWORD PTR style$[rbp] 001a3 48 8d 4d 08 lea rcx, QWORD PTR rect$[rbp] 001a7 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 509 : OffsetRect(&rect, 0, GetSystemMetricsForDpi(SM_CYCAPTION, dpi)); 001ad 8b 95 b4 00 00 00 mov edx, DWORD PTR dpi$6[rbp] 001b3 b9 04 00 00 00 mov ecx, 4 001b8 ff 15 d0 29 00 00 call QWORD PTR _glfw+10704 001be 44 8b c0 mov r8d, eax 001c1 33 d2 xor edx, edx 001c3 48 8d 4d 08 lea rcx, QWORD PTR rect$[rbp] 001c7 ff 15 00 00 00 00 call QWORD PTR __imp_OffsetRect ; 510 : } 001cd eb 31 jmp SHORT $LN5@maximizeWi $LN4@maximizeWi: ; 511 : else ; 512 : { ; 513 : AdjustWindowRectEx(&rect, style, FALSE, exStyle); 001cf 44 8b 8d 94 00 00 00 mov r9d, DWORD PTR exStyle$5[rbp] 001d6 45 33 c0 xor r8d, r8d 001d9 8b 55 34 mov edx, DWORD PTR style$[rbp] 001dc 48 8d 4d 08 lea rcx, QWORD PTR rect$[rbp] 001e0 ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx ; 514 : OffsetRect(&rect, 0, GetSystemMetrics(SM_CYCAPTION)); 001e6 b9 04 00 00 00 mov ecx, 4 001eb ff 15 00 00 00 00 call QWORD PTR __imp_GetSystemMetrics 001f1 44 8b c0 mov r8d, eax 001f4 33 d2 xor edx, edx 001f6 48 8d 4d 08 lea rcx, QWORD PTR rect$[rbp] 001fa ff 15 00 00 00 00 call QWORD PTR __imp_OffsetRect $LN5@maximizeWi: ; 515 : } ; 516 : ; 517 : rect.bottom = _glfw_min(rect.bottom, mi.rcWork.bottom); 00200 8b 55 78 mov edx, DWORD PTR mi$[rbp+32] 00203 8b 4d 14 mov ecx, DWORD PTR rect$[rbp+12] 00206 e8 00 00 00 00 call _glfw_min 0020b 89 45 14 mov DWORD PTR rect$[rbp+12], eax $LN3@maximizeWi: ; 518 : } ; 519 : ; 520 : SetWindowPos(window->win32.handle, HWND_TOP, 0020e 8b 45 0c mov eax, DWORD PTR rect$[rbp+4] 00211 8b 4d 14 mov ecx, DWORD PTR rect$[rbp+12] 00214 2b c8 sub ecx, eax 00216 8b c1 mov eax, ecx 00218 8b 4d 08 mov ecx, DWORD PTR rect$[rbp] 0021b 8b 55 10 mov edx, DWORD PTR rect$[rbp+8] 0021e 2b d1 sub edx, ecx 00220 8b ca mov ecx, edx 00222 c7 44 24 30 34 00 00 00 mov DWORD PTR [rsp+48], 52 ; 00000034H 0022a 89 44 24 28 mov DWORD PTR [rsp+40], eax 0022e 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 00232 44 8b 4d 0c mov r9d, DWORD PTR rect$[rbp+4] 00236 44 8b 45 08 mov r8d, DWORD PTR rect$[rbp] 0023a 33 d2 xor edx, edx 0023c 48 8b 85 b0 01 00 00 mov rax, QWORD PTR window$[rbp] 00243 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0024a ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos ; 521 : rect.left, ; 522 : rect.top, ; 523 : rect.right - rect.left, ; 524 : rect.bottom - rect.top, ; 525 : SWP_NOACTIVATE | SWP_NOZORDER | SWP_FRAMECHANGED); ; 526 : } 00250 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64] 00254 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:maximizeWindowManually$rtcFrameData 0025b e8 00 00 00 00 call _RTC_CheckStackVars 00260 48 8b 8d 88 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 00267 48 33 cd xor rcx, rbp 0026a e8 00 00 00 00 call __security_check_cookie 0026f 48 8d a5 90 01 00 00 lea rsp, QWORD PTR [rbp+400] 00276 5f pop rdi 00277 5e pop rsi 00278 5d pop rbp 00279 c3 ret 0 maximizeWindowManually ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT releaseMonitor _TEXT SEGMENT window$ = 224 releaseMonitor PROC ; COMDAT ; 461 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 462 : if (window->monitor->window != window) 0001f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00026 48 8b 40 50 mov rax, QWORD PTR [rax+80] 0002a 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00031 48 39 88 90 00 00 00 cmp QWORD PTR [rax+144], rcx 00038 74 02 je SHORT $LN2@releaseMon ; 463 : return; 0003a eb 5b jmp SHORT $LN1@releaseMon $LN2@releaseMon: ; 464 : ; 465 : _glfw.win32.acquiredMonitorCount--; 0003c 8b 05 98 1b 00 00 mov eax, DWORD PTR _glfw+7064 00042 ff c8 dec eax 00044 89 05 98 1b 00 00 mov DWORD PTR _glfw+7064, eax ; 466 : if (!_glfw.win32.acquiredMonitorCount) 0004a 83 3d 98 1b 00 00 00 cmp DWORD PTR _glfw+7064, 0 00051 75 22 jne SHORT $LN3@releaseMon ; 467 : { ; 468 : SetThreadExecutionState(ES_CONTINUOUS); 00053 b9 00 00 00 80 mov ecx, -2147483648 ; 80000000H 00058 ff 15 00 00 00 00 call QWORD PTR __imp_SetThreadExecutionState ; 469 : ; 470 : // HACK: Restore mouse trail length saved in acquireMonitor ; 471 : SystemParametersInfoW(SPI_SETMOUSETRAILS, _glfw.win32.mouseTrailSize, 0, 0); 0005e 45 33 c9 xor r9d, r9d 00061 45 33 c0 xor r8d, r8d 00064 8b 15 64 29 00 00 mov edx, DWORD PTR _glfw+10596 0006a b9 5d 00 00 00 mov ecx, 93 ; 0000005dH 0006f ff 15 00 00 00 00 call QWORD PTR __imp_SystemParametersInfoW $LN3@releaseMon: ; 472 : } ; 473 : ; 474 : _glfwInputMonitorWindow(window->monitor, NULL); 00075 33 d2 xor edx, edx 00077 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0007e 48 8b 48 50 mov rcx, QWORD PTR [rax+80] 00082 e8 00 00 00 00 call _glfwInputMonitorWindow ; 475 : _glfwRestoreVideoModeWin32(window->monitor); 00087 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0008e 48 8b 48 50 mov rcx, QWORD PTR [rax+80] 00092 e8 00 00 00 00 call _glfwRestoreVideoModeWin32 $LN1@releaseMon: ; 476 : } 00097 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0009e 5f pop rdi 0009f 5d pop rbp 000a0 c3 ret 0 releaseMonitor ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT acquireMonitor _TEXT SEGMENT window$ = 224 acquireMonitor PROC ; COMDAT ; 440 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 441 : if (!_glfw.win32.acquiredMonitorCount) 0001f 83 3d 98 1b 00 00 00 cmp DWORD PTR _glfw+7064, 0 00026 75 35 jne SHORT $LN2@acquireMon ; 442 : { ; 443 : SetThreadExecutionState(ES_CONTINUOUS | ES_DISPLAY_REQUIRED); 00028 b9 02 00 00 80 mov ecx, -2147483646 ; 80000002H 0002d ff 15 00 00 00 00 call QWORD PTR __imp_SetThreadExecutionState ; 444 : ; 445 : // HACK: When mouse trails are enabled the cursor becomes invisible when ; 446 : // the OpenGL ICD switches to page flipping ; 447 : SystemParametersInfoW(SPI_GETMOUSETRAILS, 0, &_glfw.win32.mouseTrailSize, 0); 00033 45 33 c9 xor r9d, r9d 00036 4c 8d 05 64 29 00 00 lea r8, OFFSET FLAT:_glfw+10596 0003d 33 d2 xor edx, edx 0003f b9 5e 00 00 00 mov ecx, 94 ; 0000005eH 00044 ff 15 00 00 00 00 call QWORD PTR __imp_SystemParametersInfoW ; 448 : SystemParametersInfoW(SPI_SETMOUSETRAILS, 0, 0, 0); 0004a 45 33 c9 xor r9d, r9d 0004d 45 33 c0 xor r8d, r8d 00050 33 d2 xor edx, edx 00052 b9 5d 00 00 00 mov ecx, 93 ; 0000005dH 00057 ff 15 00 00 00 00 call QWORD PTR __imp_SystemParametersInfoW $LN2@acquireMon: ; 449 : } ; 450 : ; 451 : if (!window->monitor->window) 0005d 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00064 48 8b 40 50 mov rax, QWORD PTR [rax+80] 00068 48 83 b8 90 00 00 00 00 cmp QWORD PTR [rax+144], 0 00070 75 0e jne SHORT $LN3@acquireMon ; 452 : _glfw.win32.acquiredMonitorCount++; 00072 8b 05 98 1b 00 00 mov eax, DWORD PTR _glfw+7064 00078 ff c0 inc eax 0007a 89 05 98 1b 00 00 mov DWORD PTR _glfw+7064, eax $LN3@acquireMon: ; 453 : ; 454 : _glfwSetVideoModeWin32(window->monitor, &window->videoMode); 00080 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00087 48 83 c0 34 add rax, 52 ; 00000034H 0008b 48 8b d0 mov rdx, rax 0008e 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00095 48 8b 48 50 mov rcx, QWORD PTR [rax+80] 00099 e8 00 00 00 00 call _glfwSetVideoModeWin32 ; 455 : _glfwInputMonitorWindow(window->monitor, window); 0009e 48 8b 95 e0 00 00 00 mov rdx, QWORD PTR window$[rbp] 000a5 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 000ac 48 8b 48 50 mov rcx, QWORD PTR [rax+80] 000b0 e8 00 00 00 00 call _glfwInputMonitorWindow ; 456 : } 000b5 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 000bc 5f pop rdi 000bd 5d pop rbp 000be c3 ret 0 acquireMonitor ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT fitToMonitor _TEXT SEGMENT mi$ = 8 __$ArrayPad$ = 248 window$ = 288 fitToMonitor PROC ; COMDAT ; 426 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 48 01 00 00 sub rsp, 328 ; 00000148H 0000e 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] 00013 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64] 00018 b9 12 00 00 00 mov ecx, 18 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00022 f3 ab rep stosd 00024 48 8b 8c 24 68 01 00 00 mov rcx, QWORD PTR [rsp+360] 0002c 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00033 48 33 c5 xor rax, rbp 00036 48 89 85 f8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0003d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 427 : MONITORINFO mi = { sizeof(mi) }; 00049 c7 45 08 28 00 00 00 mov DWORD PTR mi$[rbp], 40 ; 00000028H 00050 48 8d 45 0c lea rax, QWORD PTR mi$[rbp+4] 00054 48 8b f8 mov rdi, rax 00057 33 c0 xor eax, eax 00059 b9 24 00 00 00 mov ecx, 36 ; 00000024H 0005e f3 aa rep stosb ; 428 : GetMonitorInfoW(window->monitor->win32.handle, &mi); 00060 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 00067 48 8b 40 50 mov rax, QWORD PTR [rax+80] 0006b 48 8d 55 08 lea rdx, QWORD PTR mi$[rbp] 0006f 48 8b 88 00 01 00 00 mov rcx, QWORD PTR [rax+256] 00076 ff 15 00 00 00 00 call QWORD PTR __imp_GetMonitorInfoW ; 429 : SetWindowPos(window->win32.handle, HWND_TOPMOST, 0007c 8b 45 10 mov eax, DWORD PTR mi$[rbp+8] 0007f 8b 4d 18 mov ecx, DWORD PTR mi$[rbp+16] 00082 2b c8 sub ecx, eax 00084 8b c1 mov eax, ecx 00086 8b 4d 0c mov ecx, DWORD PTR mi$[rbp+4] 00089 8b 55 14 mov edx, DWORD PTR mi$[rbp+12] 0008c 2b d1 sub edx, ecx 0008e 8b ca mov ecx, edx 00090 c7 44 24 30 14 01 00 00 mov DWORD PTR [rsp+48], 276 ; 00000114H 00098 89 44 24 28 mov DWORD PTR [rsp+40], eax 0009c 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 000a0 44 8b 4d 10 mov r9d, DWORD PTR mi$[rbp+8] 000a4 44 8b 45 0c mov r8d, DWORD PTR mi$[rbp+4] 000a8 48 c7 c2 ff ff ff ff mov rdx, -1 000af 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 000b6 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000bd ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos ; 430 : mi.rcMonitor.left, ; 431 : mi.rcMonitor.top, ; 432 : mi.rcMonitor.right - mi.rcMonitor.left, ; 433 : mi.rcMonitor.bottom - mi.rcMonitor.top, ; 434 : SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOCOPYBITS); ; 435 : } 000c3 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64] 000c7 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:fitToMonitor$rtcFrameData 000ce e8 00 00 00 00 call _RTC_CheckStackVars 000d3 48 8b 8d f8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000da 48 33 cd xor rcx, rbp 000dd e8 00 00 00 00 call __security_check_cookie 000e2 48 8d a5 08 01 00 00 lea rsp, QWORD PTR [rbp+264] 000e9 5f pop rdi 000ea 5d pop rbp 000eb c3 ret 0 fitToMonitor ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT getKeyMods _TEXT SEGMENT mods$ = 4 tv84 = 212 getKeyMods PROC ; COMDAT ; 406 : { 00000 40 55 push rbp 00002 57 push rdi 00003 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0000f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 407 : int mods = 0; 0001b c7 45 04 00 00 00 00 mov DWORD PTR mods$[rbp], 0 ; 408 : ; 409 : if (GetKeyState(VK_SHIFT) & 0x8000) 00022 b9 10 00 00 00 mov ecx, 16 00027 ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 0002d 98 cwde 0002e 25 00 80 00 00 and eax, 32768 ; 00008000H 00033 85 c0 test eax, eax 00035 74 09 je SHORT $LN2@getKeyMods ; 410 : mods |= GLFW_MOD_SHIFT; 00037 8b 45 04 mov eax, DWORD PTR mods$[rbp] 0003a 83 c8 01 or eax, 1 0003d 89 45 04 mov DWORD PTR mods$[rbp], eax $LN2@getKeyMods: ; 411 : if (GetKeyState(VK_CONTROL) & 0x8000) 00040 b9 11 00 00 00 mov ecx, 17 00045 ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 0004b 98 cwde 0004c 25 00 80 00 00 and eax, 32768 ; 00008000H 00051 85 c0 test eax, eax 00053 74 09 je SHORT $LN3@getKeyMods ; 412 : mods |= GLFW_MOD_CONTROL; 00055 8b 45 04 mov eax, DWORD PTR mods$[rbp] 00058 83 c8 02 or eax, 2 0005b 89 45 04 mov DWORD PTR mods$[rbp], eax $LN3@getKeyMods: ; 413 : if (GetKeyState(VK_MENU) & 0x8000) 0005e b9 12 00 00 00 mov ecx, 18 00063 ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 00069 98 cwde 0006a 25 00 80 00 00 and eax, 32768 ; 00008000H 0006f 85 c0 test eax, eax 00071 74 09 je SHORT $LN4@getKeyMods ; 414 : mods |= GLFW_MOD_ALT; 00073 8b 45 04 mov eax, DWORD PTR mods$[rbp] 00076 83 c8 04 or eax, 4 00079 89 45 04 mov DWORD PTR mods$[rbp], eax $LN4@getKeyMods: ; 415 : if ((GetKeyState(VK_LWIN) | GetKeyState(VK_RWIN)) & 0x8000) 0007c b9 5b 00 00 00 mov ecx, 91 ; 0000005bH 00081 ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 00087 98 cwde 00088 89 85 d4 00 00 00 mov DWORD PTR tv84[rbp], eax 0008e b9 5c 00 00 00 mov ecx, 92 ; 0000005cH 00093 ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 00099 98 cwde 0009a 8b 8d d4 00 00 00 mov ecx, DWORD PTR tv84[rbp] 000a0 0b c8 or ecx, eax 000a2 8b c1 mov eax, ecx 000a4 25 00 80 00 00 and eax, 32768 ; 00008000H 000a9 85 c0 test eax, eax 000ab 74 09 je SHORT $LN5@getKeyMods ; 416 : mods |= GLFW_MOD_SUPER; 000ad 8b 45 04 mov eax, DWORD PTR mods$[rbp] 000b0 83 c8 08 or eax, 8 000b3 89 45 04 mov DWORD PTR mods$[rbp], eax $LN5@getKeyMods: ; 417 : if (GetKeyState(VK_CAPITAL) & 1) 000b6 b9 14 00 00 00 mov ecx, 20 000bb ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 000c1 98 cwde 000c2 83 e0 01 and eax, 1 000c5 85 c0 test eax, eax 000c7 74 09 je SHORT $LN6@getKeyMods ; 418 : mods |= GLFW_MOD_CAPS_LOCK; 000c9 8b 45 04 mov eax, DWORD PTR mods$[rbp] 000cc 83 c8 10 or eax, 16 000cf 89 45 04 mov DWORD PTR mods$[rbp], eax $LN6@getKeyMods: ; 419 : if (GetKeyState(VK_NUMLOCK) & 1) 000d2 b9 90 00 00 00 mov ecx, 144 ; 00000090H 000d7 ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 000dd 98 cwde 000de 83 e0 01 and eax, 1 000e1 85 c0 test eax, eax 000e3 74 09 je SHORT $LN7@getKeyMods ; 420 : mods |= GLFW_MOD_NUM_LOCK; 000e5 8b 45 04 mov eax, DWORD PTR mods$[rbp] 000e8 83 c8 20 or eax, 32 ; 00000020H 000eb 89 45 04 mov DWORD PTR mods$[rbp], eax $LN7@getKeyMods: ; 421 : ; 422 : return mods; 000ee 8b 45 04 mov eax, DWORD PTR mods$[rbp] ; 423 : } 000f1 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 000f8 5f pop rdi 000f9 5d pop rbp 000fa c3 ret 0 getKeyMods ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT updateFramebufferTransparency _TEXT SEGMENT composition$ = 4 opaque$ = 36 color$ = 68 region$8 = 104 bb$9 = 136 bb$10 = 184 __$ArrayPad$ = 408 window$ = 448 updateFramebufferTransparency PROC ; COMDAT ; 369 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec c8 01 00 00 sub rsp, 456 ; 000001c8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00018 b9 3a 00 00 00 mov ecx, 58 ; 0000003aH 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00022 f3 ab rep stosd 00024 48 8b 8c 24 e8 01 00 00 mov rcx, QWORD PTR [rsp+488] 0002c 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00033 48 33 c5 xor rax, rbp 00036 48 89 85 98 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0003d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 370 : BOOL composition, opaque; ; 371 : DWORD color; ; 372 : ; 373 : if (!IsWindowsVistaOrGreater()) 00049 45 33 c0 xor r8d, r8d 0004c 33 d2 xor edx, edx 0004e 66 b9 06 00 mov cx, 6 00052 e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 00057 85 c0 test eax, eax 00059 75 05 jne SHORT $LN2@updateFram ; 374 : return; 0005b e9 f0 00 00 00 jmp $LN1@updateFram $LN2@updateFram: ; 375 : ; 376 : if (FAILED(DwmIsCompositionEnabled(&composition)) || !composition) 00060 48 8d 4d 04 lea rcx, QWORD PTR composition$[rbp] 00064 ff 15 e0 29 00 00 call QWORD PTR _glfw+10720 0006a 85 c0 test eax, eax 0006c 7c 06 jl SHORT $LN4@updateFram 0006e 83 7d 04 00 cmp DWORD PTR composition$[rbp], 0 00072 75 05 jne SHORT $LN3@updateFram $LN4@updateFram: ; 377 : return; 00074 e9 d7 00 00 00 jmp $LN1@updateFram $LN3@updateFram: ; 378 : ; 379 : if (IsWindows8OrGreater() || 00079 45 33 c0 xor r8d, r8d 0007c 66 ba 02 00 mov dx, 2 00080 66 b9 06 00 mov cx, 6 00084 e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 00089 85 c0 test eax, eax 0008b 75 18 jne SHORT $LN7@updateFram 0008d 48 8d 55 24 lea rdx, QWORD PTR opaque$[rbp] 00091 48 8d 4d 44 lea rcx, QWORD PTR color$[rbp] 00095 ff 15 f8 29 00 00 call QWORD PTR _glfw+10744 0009b 85 c0 test eax, eax 0009d 7c 79 jl SHORT $LN5@updateFram 0009f 83 7d 24 00 cmp DWORD PTR opaque$[rbp], 0 000a3 75 73 jne SHORT $LN5@updateFram $LN7@updateFram: ; 380 : (SUCCEEDED(DwmGetColorizationColor(&color, &opaque)) && !opaque)) ; 381 : { ; 382 : HRGN region = CreateRectRgn(0, 0, -1, -1); 000a5 41 b9 ff ff ff ff mov r9d, -1 000ab 41 b8 ff ff ff ff mov r8d, -1 000b1 33 d2 xor edx, edx 000b3 33 c9 xor ecx, ecx 000b5 ff 15 00 00 00 00 call QWORD PTR __imp_CreateRectRgn 000bb 48 89 45 68 mov QWORD PTR region$8[rbp], rax ; 383 : DWM_BLURBEHIND bb = {0}; 000bf 48 8d 85 88 00 00 00 lea rax, QWORD PTR bb$9[rbp] 000c6 48 8b f8 mov rdi, rax 000c9 33 c0 xor eax, eax 000cb b9 18 00 00 00 mov ecx, 24 000d0 f3 aa rep stosb ; 384 : bb.dwFlags = DWM_BB_ENABLE | DWM_BB_BLURREGION; 000d2 c7 85 88 00 00 00 03 00 00 00 mov DWORD PTR bb$9[rbp], 3 ; 385 : bb.hRgnBlur = region; 000dc 48 8b 45 68 mov rax, QWORD PTR region$8[rbp] 000e0 48 89 85 90 00 00 00 mov QWORD PTR bb$9[rbp+8], rax ; 386 : bb.fEnable = TRUE; 000e7 c7 85 8c 00 00 00 01 00 00 00 mov DWORD PTR bb$9[rbp+4], 1 ; 387 : ; 388 : DwmEnableBlurBehindWindow(window->win32.handle, &bb); 000f1 48 8d 95 88 00 00 00 lea rdx, QWORD PTR bb$9[rbp] 000f8 48 8b 85 c0 01 00 00 mov rax, QWORD PTR window$[rbp] 000ff 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00106 ff 15 f0 29 00 00 call QWORD PTR _glfw+10736 ; 389 : DeleteObject(region); 0010c 48 8b 4d 68 mov rcx, QWORD PTR region$8[rbp] 00110 ff 15 00 00 00 00 call QWORD PTR __imp_DeleteObject ; 390 : } 00116 eb 38 jmp SHORT $LN6@updateFram $LN5@updateFram: ; 391 : else ; 392 : { ; 393 : // HACK: Disable framebuffer transparency on Windows 7 when the ; 394 : // colorization color is opaque, because otherwise the window ; 395 : // contents is blended additively with the previous frame instead ; 396 : // of replacing it ; 397 : DWM_BLURBEHIND bb = {0}; 00118 48 8d 85 b8 00 00 00 lea rax, QWORD PTR bb$10[rbp] 0011f 48 8b f8 mov rdi, rax 00122 33 c0 xor eax, eax 00124 b9 18 00 00 00 mov ecx, 24 00129 f3 aa rep stosb ; 398 : bb.dwFlags = DWM_BB_ENABLE; 0012b c7 85 b8 00 00 00 01 00 00 00 mov DWORD PTR bb$10[rbp], 1 ; 399 : DwmEnableBlurBehindWindow(window->win32.handle, &bb); 00135 48 8d 95 b8 00 00 00 lea rdx, QWORD PTR bb$10[rbp] 0013c 48 8b 85 c0 01 00 00 mov rax, QWORD PTR window$[rbp] 00143 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0014a ff 15 f0 29 00 00 call QWORD PTR _glfw+10736 $LN6@updateFram: $LN1@updateFram: ; 400 : } ; 401 : } 00150 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 00154 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:updateFramebufferTransparency$rtcFrameData 0015b e8 00 00 00 00 call _RTC_CheckStackVars 00160 48 8b 8d 98 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 00167 48 33 cd xor rcx, rbp 0016a e8 00 00 00 00 call __security_check_cookie 0016f 48 8d a5 a8 01 00 00 lea rsp, QWORD PTR [rbp+424] 00176 5f pop rdi 00177 5d pop rbp 00178 c3 ret 0 updateFramebufferTransparency ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT updateWindowStyles _TEXT SEGMENT rect$ = 8 style$ = 52 tv79 = 260 __$ArrayPad$ = 264 window$ = 304 updateWindowStyles PROC ; COMDAT ; 340 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 58 01 00 00 sub rsp, 344 ; 00000158H 0000e 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] 00013 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64] 00018 b9 16 00 00 00 mov ecx, 22 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00022 f3 ab rep stosd 00024 48 8b 8c 24 78 01 00 00 mov rcx, QWORD PTR [rsp+376] 0002c 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00033 48 33 c5 xor rax, rbp 00036 48 89 85 08 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0003d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 341 : RECT rect; ; 342 : DWORD style = GetWindowLongW(window->win32.handle, GWL_STYLE); 00049 ba f0 ff ff ff mov edx, -16 0004e 48 8b 85 30 01 00 00 mov rax, QWORD PTR window$[rbp] 00055 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0005c ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW 00062 89 45 34 mov DWORD PTR style$[rbp], eax ; 343 : style &= ~(WS_OVERLAPPEDWINDOW | WS_POPUP); 00065 8b 45 34 mov eax, DWORD PTR style$[rbp] 00068 25 ff ff 30 7f and eax, 2133917695 ; 7f30ffffH 0006d 89 45 34 mov DWORD PTR style$[rbp], eax ; 344 : style |= getWindowStyle(window); 00070 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR window$[rbp] 00077 e8 00 00 00 00 call getWindowStyle 0007c 8b 4d 34 mov ecx, DWORD PTR style$[rbp] 0007f 0b c8 or ecx, eax 00081 8b c1 mov eax, ecx 00083 89 45 34 mov DWORD PTR style$[rbp], eax ; 345 : ; 346 : GetClientRect(window->win32.handle, &rect); 00086 48 8d 55 08 lea rdx, QWORD PTR rect$[rbp] 0008a 48 8b 85 30 01 00 00 mov rax, QWORD PTR window$[rbp] 00091 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00098 ff 15 00 00 00 00 call QWORD PTR __imp_GetClientRect ; 347 : ; 348 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 0009e 66 b9 39 38 mov cx, 14393 ; 00003839H 000a2 e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 000a7 85 c0 test eax, eax 000a9 74 45 je SHORT $LN2@updateWind ; 349 : { ; 350 : AdjustWindowRectExForDpi(&rect, style, FALSE, 000ab 48 8b 85 30 01 00 00 mov rax, QWORD PTR window$[rbp] 000b2 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000b9 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 000bf 89 85 04 01 00 00 mov DWORD PTR tv79[rbp], eax 000c5 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR window$[rbp] 000cc e8 00 00 00 00 call getWindowExStyle 000d1 8b 8d 04 01 00 00 mov ecx, DWORD PTR tv79[rbp] 000d7 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 000db 44 8b c8 mov r9d, eax 000de 45 33 c0 xor r8d, r8d 000e1 8b 55 34 mov edx, DWORD PTR style$[rbp] 000e4 48 8d 4d 08 lea rcx, QWORD PTR rect$[rbp] 000e8 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 351 : getWindowExStyle(window), ; 352 : GetDpiForWindow(window->win32.handle)); ; 353 : } 000ee eb 1f jmp SHORT $LN3@updateWind $LN2@updateWind: ; 354 : else ; 355 : AdjustWindowRectEx(&rect, style, FALSE, getWindowExStyle(window)); 000f0 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR window$[rbp] 000f7 e8 00 00 00 00 call getWindowExStyle 000fc 44 8b c8 mov r9d, eax 000ff 45 33 c0 xor r8d, r8d 00102 8b 55 34 mov edx, DWORD PTR style$[rbp] 00105 48 8d 4d 08 lea rcx, QWORD PTR rect$[rbp] 00109 ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx $LN3@updateWind: ; 356 : ; 357 : ClientToScreen(window->win32.handle, (POINT*) &rect.left); 0010f 48 8d 55 08 lea rdx, QWORD PTR rect$[rbp] 00113 48 8b 85 30 01 00 00 mov rax, QWORD PTR window$[rbp] 0011a 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00121 ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 358 : ClientToScreen(window->win32.handle, (POINT*) &rect.right); 00127 48 8d 55 10 lea rdx, QWORD PTR rect$[rbp+8] 0012b 48 8b 85 30 01 00 00 mov rax, QWORD PTR window$[rbp] 00132 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00139 ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 359 : SetWindowLongW(window->win32.handle, GWL_STYLE, style); 0013f 44 8b 45 34 mov r8d, DWORD PTR style$[rbp] 00143 ba f0 ff ff ff mov edx, -16 00148 48 8b 85 30 01 00 00 mov rax, QWORD PTR window$[rbp] 0014f 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00156 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW ; 360 : SetWindowPos(window->win32.handle, HWND_TOP, 0015c 8b 45 0c mov eax, DWORD PTR rect$[rbp+4] 0015f 8b 4d 14 mov ecx, DWORD PTR rect$[rbp+12] 00162 2b c8 sub ecx, eax 00164 8b c1 mov eax, ecx 00166 8b 4d 08 mov ecx, DWORD PTR rect$[rbp] 00169 8b 55 10 mov edx, DWORD PTR rect$[rbp+8] 0016c 2b d1 sub edx, ecx 0016e 8b ca mov ecx, edx 00170 c7 44 24 30 34 00 00 00 mov DWORD PTR [rsp+48], 52 ; 00000034H 00178 89 44 24 28 mov DWORD PTR [rsp+40], eax 0017c 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 00180 44 8b 4d 0c mov r9d, DWORD PTR rect$[rbp+4] 00184 44 8b 45 08 mov r8d, DWORD PTR rect$[rbp] 00188 33 d2 xor edx, edx 0018a 48 8b 85 30 01 00 00 mov rax, QWORD PTR window$[rbp] 00191 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00198 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos ; 361 : rect.left, rect.top, ; 362 : rect.right - rect.left, rect.bottom - rect.top, ; 363 : SWP_FRAMECHANGED | SWP_NOACTIVATE | SWP_NOZORDER); ; 364 : } 0019e 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64] 001a2 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:updateWindowStyles$rtcFrameData 001a9 e8 00 00 00 00 call _RTC_CheckStackVars 001ae 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 001b5 48 33 cd xor rcx, rbp 001b8 e8 00 00 00 00 call __security_check_cookie 001bd 48 8d a5 18 01 00 00 lea rsp, QWORD PTR [rbp+280] 001c4 5f pop rdi 001c5 5d pop rbp 001c6 c3 ret 0 updateWindowStyles ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT cursorInContentArea _TEXT SEGMENT area$ = 8 pos$ = 56 __$ArrayPad$ = 264 window$ = 304 cursorInContentArea PROC ; COMDAT ; 320 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 38 01 00 00 sub rsp, 312 ; 00000138H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00018 b9 16 00 00 00 mov ecx, 22 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00022 f3 ab rep stosd 00024 48 8b 8c 24 58 01 00 00 mov rcx, QWORD PTR [rsp+344] 0002c 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00033 48 33 c5 xor rax, rbp 00036 48 89 85 08 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0003d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 321 : RECT area; ; 322 : POINT pos; ; 323 : ; 324 : if (!GetCursorPos(&pos)) 00049 48 8d 4d 38 lea rcx, QWORD PTR pos$[rbp] 0004d ff 15 00 00 00 00 call QWORD PTR __imp_GetCursorPos 00053 85 c0 test eax, eax 00055 75 04 jne SHORT $LN2@cursorInCo ; 325 : return GLFW_FALSE; 00057 33 c0 xor eax, eax 00059 eb 74 jmp SHORT $LN1@cursorInCo $LN2@cursorInCo: ; 326 : ; 327 : if (WindowFromPoint(pos) != window->win32.handle) 0005b 48 8b 4d 38 mov rcx, QWORD PTR pos$[rbp] 0005f ff 15 00 00 00 00 call QWORD PTR __imp_WindowFromPoint 00065 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR window$[rbp] 0006c 48 3b 81 58 03 00 00 cmp rax, QWORD PTR [rcx+856] 00073 74 04 je SHORT $LN3@cursorInCo ; 328 : return GLFW_FALSE; 00075 33 c0 xor eax, eax 00077 eb 56 jmp SHORT $LN1@cursorInCo $LN3@cursorInCo: ; 329 : ; 330 : GetClientRect(window->win32.handle, &area); 00079 48 8d 55 08 lea rdx, QWORD PTR area$[rbp] 0007d 48 8b 85 30 01 00 00 mov rax, QWORD PTR window$[rbp] 00084 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0008b ff 15 00 00 00 00 call QWORD PTR __imp_GetClientRect ; 331 : ClientToScreen(window->win32.handle, (POINT*) &area.left); 00091 48 8d 55 08 lea rdx, QWORD PTR area$[rbp] 00095 48 8b 85 30 01 00 00 mov rax, QWORD PTR window$[rbp] 0009c 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000a3 ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 332 : ClientToScreen(window->win32.handle, (POINT*) &area.right); 000a9 48 8d 55 10 lea rdx, QWORD PTR area$[rbp+8] 000ad 48 8b 85 30 01 00 00 mov rax, QWORD PTR window$[rbp] 000b4 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000bb ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 333 : ; 334 : return PtInRect(&area, pos); 000c1 48 8b 55 38 mov rdx, QWORD PTR pos$[rbp] 000c5 48 8d 4d 08 lea rcx, QWORD PTR area$[rbp] 000c9 ff 15 00 00 00 00 call QWORD PTR __imp_PtInRect $LN1@cursorInCo: ; 335 : } 000cf 48 8b f8 mov rdi, rax 000d2 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 000d6 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:cursorInContentArea$rtcFrameData 000dd e8 00 00 00 00 call _RTC_CheckStackVars 000e2 48 8b c7 mov rax, rdi 000e5 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000ec 48 33 cd xor rcx, rbp 000ef e8 00 00 00 00 call __security_check_cookie 000f4 48 8d a5 18 01 00 00 lea rsp, QWORD PTR [rbp+280] 000fb 5f pop rdi 000fc 5d pop rbp 000fd c3 ret 0 cursorInContentArea ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT enableCursor _TEXT SEGMENT window$ = 224 enableCursor PROC ; COMDAT ; 305 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 306 : if (window->rawMouseMotion) 0001f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00026 83 b8 00 02 00 00 00 cmp DWORD PTR [rax+512], 0 0002d 74 0c je SHORT $LN2@enableCurs ; 307 : disableRawMouseMotion(window); 0002f 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00036 e8 00 00 00 00 call disableRawMouseMotion $LN2@enableCurs: ; 308 : ; 309 : _glfw.win32.disabledCursorWindow = NULL; 0003b 48 c7 05 48 29 00 00 00 00 00 00 mov QWORD PTR _glfw+10568, 0 ; 310 : releaseCursor(); 00046 e8 00 00 00 00 call releaseCursor ; 311 : _glfwSetCursorPosWin32(window, 0004b f2 0f 10 15 40 29 00 00 movsd xmm2, QWORD PTR _glfw+10560 00053 f2 0f 10 0d 38 29 00 00 movsd xmm1, QWORD PTR _glfw+10552 0005b 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00062 e8 00 00 00 00 call _glfwSetCursorPosWin32 ; 312 : _glfw.win32.restoreCursorPosX, ; 313 : _glfw.win32.restoreCursorPosY); ; 314 : updateCursorImage(window); 00067 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 0006e e8 00 00 00 00 call updateCursorImage ; 315 : } 00073 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0007a 5f pop rdi 0007b 5d pop rbp 0007c c3 ret 0 enableCursor ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT disableCursor _TEXT SEGMENT window$ = 224 disableCursor PROC ; COMDAT ; 289 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 290 : _glfw.win32.disabledCursorWindow = window; 0001f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00026 48 89 05 48 29 00 00 mov QWORD PTR _glfw+10568, rax ; 291 : _glfwGetCursorPosWin32(window, 0002d 4c 8d 05 40 29 00 00 lea r8, OFFSET FLAT:_glfw+10560 00034 48 8d 15 38 29 00 00 lea rdx, OFFSET FLAT:_glfw+10552 0003b 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00042 e8 00 00 00 00 call _glfwGetCursorPosWin32 ; 292 : &_glfw.win32.restoreCursorPosX, ; 293 : &_glfw.win32.restoreCursorPosY); ; 294 : updateCursorImage(window); 00047 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 0004e e8 00 00 00 00 call updateCursorImage ; 295 : _glfwCenterCursorInContentArea(window); 00053 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 0005a e8 00 00 00 00 call _glfwCenterCursorInContentArea ; 296 : captureCursor(window); 0005f 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00066 e8 00 00 00 00 call captureCursor ; 297 : ; 298 : if (window->rawMouseMotion) 0006b 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00072 83 b8 00 02 00 00 00 cmp DWORD PTR [rax+512], 0 00079 74 0c je SHORT $LN2@disableCur ; 299 : enableRawMouseMotion(window); 0007b 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00082 e8 00 00 00 00 call enableRawMouseMotion $LN2@disableCur: ; 300 : } 00087 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0008e 5f pop rdi 0008f 5d pop rbp 00090 c3 ret 0 disableCursor ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT disableRawMouseMotion _TEXT SEGMENT rid$ = 8 __$ArrayPad$ = 232 window$ = 272 disableRawMouseMotion PROC ; COMDAT ; 276 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 18 01 00 00 sub rsp, 280 ; 00000118H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00018 b9 0e 00 00 00 mov ecx, 14 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00022 f3 ab rep stosd 00024 48 8b 8c 24 38 01 00 00 mov rcx, QWORD PTR [rsp+312] 0002c 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00033 48 33 c5 xor rax, rbp 00036 48 89 85 e8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0003d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 277 : const RAWINPUTDEVICE rid = { 0x01, 0x02, RIDEV_REMOVE, NULL }; 00049 b8 01 00 00 00 mov eax, 1 0004e 66 89 45 08 mov WORD PTR rid$[rbp], ax 00052 b8 02 00 00 00 mov eax, 2 00057 66 89 45 0a mov WORD PTR rid$[rbp+2], ax 0005b c7 45 0c 01 00 00 00 mov DWORD PTR rid$[rbp+4], 1 00062 48 c7 45 10 00 00 00 00 mov QWORD PTR rid$[rbp+8], 0 ; 278 : ; 279 : if (!RegisterRawInputDevices(&rid, 1, sizeof(rid))) 0006a 41 b8 10 00 00 00 mov r8d, 16 00070 ba 01 00 00 00 mov edx, 1 00075 48 8d 4d 08 lea rcx, QWORD PTR rid$[rbp] 00079 ff 15 00 00 00 00 call QWORD PTR __imp_RegisterRawInputDevices 0007f 85 c0 test eax, eax 00081 75 11 jne SHORT $LN2@disableRaw ; 280 : { ; 281 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00083 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CJ@JFEDIEDE@Win32?3?5Failed?5to?5remove?5raw?5inp@ 0008a b9 08 00 01 00 mov ecx, 65544 ; 00010008H 0008f e8 00 00 00 00 call _glfwInputErrorWin32 $LN2@disableRaw: ; 282 : "Win32: Failed to remove raw input device"); ; 283 : } ; 284 : } 00094 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 00098 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:disableRawMouseMotion$rtcFrameData 0009f e8 00 00 00 00 call _RTC_CheckStackVars 000a4 48 8b 8d e8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000ab 48 33 cd xor rcx, rbp 000ae e8 00 00 00 00 call __security_check_cookie 000b3 48 8d a5 f8 00 00 00 lea rsp, QWORD PTR [rbp+248] 000ba 5f pop rdi 000bb 5d pop rbp 000bc c3 ret 0 disableRawMouseMotion ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT enableRawMouseMotion _TEXT SEGMENT rid$ = 8 __$ArrayPad$ = 232 window$ = 272 enableRawMouseMotion PROC ; COMDAT ; 263 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 18 01 00 00 sub rsp, 280 ; 00000118H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00018 b9 0e 00 00 00 mov ecx, 14 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00022 f3 ab rep stosd 00024 48 8b 8c 24 38 01 00 00 mov rcx, QWORD PTR [rsp+312] 0002c 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00033 48 33 c5 xor rax, rbp 00036 48 89 85 e8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0003d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 264 : const RAWINPUTDEVICE rid = { 0x01, 0x02, 0, window->win32.handle }; 00049 b8 01 00 00 00 mov eax, 1 0004e 66 89 45 08 mov WORD PTR rid$[rbp], ax 00052 b8 02 00 00 00 mov eax, 2 00057 66 89 45 0a mov WORD PTR rid$[rbp+2], ax 0005b c7 45 0c 00 00 00 00 mov DWORD PTR rid$[rbp+4], 0 00062 48 8b 85 10 01 00 00 mov rax, QWORD PTR window$[rbp] 00069 48 8b 80 58 03 00 00 mov rax, QWORD PTR [rax+856] 00070 48 89 45 10 mov QWORD PTR rid$[rbp+8], rax ; 265 : ; 266 : if (!RegisterRawInputDevices(&rid, 1, sizeof(rid))) 00074 41 b8 10 00 00 00 mov r8d, 16 0007a ba 01 00 00 00 mov edx, 1 0007f 48 8d 4d 08 lea rcx, QWORD PTR rid$[rbp] 00083 ff 15 00 00 00 00 call QWORD PTR __imp_RegisterRawInputDevices 00089 85 c0 test eax, eax 0008b 75 11 jne SHORT $LN2@enableRawM ; 267 : { ; 268 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 0008d 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CL@GPJNIICL@Win32?3?5Failed?5to?5register?5raw?5i@ 00094 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00099 e8 00 00 00 00 call _glfwInputErrorWin32 $LN2@enableRawM: ; 269 : "Win32: Failed to register raw input device"); ; 270 : } ; 271 : } 0009e 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 000a2 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:enableRawMouseMotion$rtcFrameData 000a9 e8 00 00 00 00 call _RTC_CheckStackVars 000ae 48 8b 8d e8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000b5 48 33 cd xor rcx, rbp 000b8 e8 00 00 00 00 call __security_check_cookie 000bd 48 8d a5 f8 00 00 00 lea rsp, QWORD PTR [rbp+248] 000c4 5f pop rdi 000c5 5d pop rbp 000c6 c3 ret 0 enableRawMouseMotion ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT releaseCursor _TEXT SEGMENT releaseCursor PROC ; COMDAT ; 255 : { 00000 40 55 push rbp 00002 57 push rdi 00003 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0000f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 256 : ClipCursor(NULL); 0001b 33 c9 xor ecx, ecx 0001d ff 15 00 00 00 00 call QWORD PTR __imp_ClipCursor ; 257 : _glfw.win32.capturedCursorWindow = NULL; 00023 48 c7 05 50 29 00 00 00 00 00 00 mov QWORD PTR _glfw+10576, 0 ; 258 : } 0002e 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00035 5f pop rdi 00036 5d pop rbp 00037 c3 ret 0 releaseCursor ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT captureCursor _TEXT SEGMENT clipRect$ = 8 __$ArrayPad$ = 232 window$ = 272 captureCursor PROC ; COMDAT ; 243 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 18 01 00 00 sub rsp, 280 ; 00000118H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00018 b9 0e 00 00 00 mov ecx, 14 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00022 f3 ab rep stosd 00024 48 8b 8c 24 38 01 00 00 mov rcx, QWORD PTR [rsp+312] 0002c 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00033 48 33 c5 xor rax, rbp 00036 48 89 85 e8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0003d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 244 : RECT clipRect; ; 245 : GetClientRect(window->win32.handle, &clipRect); 00049 48 8d 55 08 lea rdx, QWORD PTR clipRect$[rbp] 0004d 48 8b 85 10 01 00 00 mov rax, QWORD PTR window$[rbp] 00054 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0005b ff 15 00 00 00 00 call QWORD PTR __imp_GetClientRect ; 246 : ClientToScreen(window->win32.handle, (POINT*) &clipRect.left); 00061 48 8d 55 08 lea rdx, QWORD PTR clipRect$[rbp] 00065 48 8b 85 10 01 00 00 mov rax, QWORD PTR window$[rbp] 0006c 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00073 ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 247 : ClientToScreen(window->win32.handle, (POINT*) &clipRect.right); 00079 48 8d 55 10 lea rdx, QWORD PTR clipRect$[rbp+8] 0007d 48 8b 85 10 01 00 00 mov rax, QWORD PTR window$[rbp] 00084 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0008b ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 248 : ClipCursor(&clipRect); 00091 48 8d 4d 08 lea rcx, QWORD PTR clipRect$[rbp] 00095 ff 15 00 00 00 00 call QWORD PTR __imp_ClipCursor ; 249 : _glfw.win32.capturedCursorWindow = window; 0009b 48 8b 85 10 01 00 00 mov rax, QWORD PTR window$[rbp] 000a2 48 89 05 50 29 00 00 mov QWORD PTR _glfw+10576, rax ; 250 : } 000a9 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 000ad 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:captureCursor$rtcFrameData 000b4 e8 00 00 00 00 call _RTC_CheckStackVars 000b9 48 8b 8d e8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000c0 48 33 cd xor rcx, rbp 000c3 e8 00 00 00 00 call __security_check_cookie 000c8 48 8d a5 f8 00 00 00 lea rsp, QWORD PTR [rbp+248] 000cf 5f pop rdi 000d0 5d pop rbp 000d1 c3 ret 0 captureCursor ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT updateCursorImage _TEXT SEGMENT window$ = 224 updateCursorImage PROC ; COMDAT ; 227 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 228 : if (window->cursorMode == GLFW_CURSOR_NORMAL || 0001f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00026 81 b8 84 00 00 00 01 40 03 00 cmp DWORD PTR [rax+132], 212993 ; 00034001H 00030 74 13 je SHORT $LN4@updateCurs 00032 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00039 81 b8 84 00 00 00 04 40 03 00 cmp DWORD PTR [rax+132], 212996 ; 00034004H 00043 75 3d jne SHORT $LN2@updateCurs $LN4@updateCurs: ; 229 : window->cursorMode == GLFW_CURSOR_CAPTURED) ; 230 : { ; 231 : if (window->cursor) 00045 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0004c 48 83 78 58 00 cmp QWORD PTR [rax+88], 0 00051 74 17 je SHORT $LN5@updateCurs ; 232 : SetCursor(window->cursor->win32.handle); 00053 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0005a 48 8b 40 58 mov rax, QWORD PTR [rax+88] 0005e 48 8b 48 08 mov rcx, QWORD PTR [rax+8] 00062 ff 15 00 00 00 00 call QWORD PTR __imp_SetCursor 00068 eb 16 jmp SHORT $LN6@updateCurs $LN5@updateCurs: ; 233 : else ; 234 : SetCursor(LoadCursorW(NULL, IDC_ARROW)); 0006a ba 00 7f 00 00 mov edx, 32512 ; 00007f00H 0006f 33 c9 xor ecx, ecx 00071 ff 15 00 00 00 00 call QWORD PTR __imp_LoadCursorW 00077 48 8b c8 mov rcx, rax 0007a ff 15 00 00 00 00 call QWORD PTR __imp_SetCursor $LN6@updateCurs: ; 235 : } 00080 eb 08 jmp SHORT $LN3@updateCurs $LN2@updateCurs: ; 236 : else ; 237 : SetCursor(NULL); 00082 33 c9 xor ecx, ecx 00084 ff 15 00 00 00 00 call QWORD PTR __imp_SetCursor $LN3@updateCurs: ; 238 : } 0008a 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00091 5f pop rdi 00092 5d pop rbp 00093 c3 ret 0 updateCursorImage ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT applyAspectRatio _TEXT SEGMENT frame$ = 8 ratio$ = 52 style$ = 84 exStyle$ = 116 __$ArrayPad$ = 328 window$ = 368 edge$ = 376 area$ = 384 applyAspectRatio PROC ; COMDAT ; 192 : { 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000e 55 push rbp 0000f 57 push rdi 00010 48 81 ec 88 01 00 00 sub rsp, 392 ; 00000188H 00017 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] 0001c 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] 00021 b9 26 00 00 00 mov ecx, 38 ; 00000026H 00026 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002b f3 ab rep stosd 0002d 48 8b 8c 24 a8 01 00 00 mov rcx, QWORD PTR [rsp+424] 00035 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0003c 48 33 c5 xor rax, rbp 0003f 48 89 85 48 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00046 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0004d e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 193 : RECT frame = {0}; 00052 48 8d 45 08 lea rax, QWORD PTR frame$[rbp] 00056 48 8b f8 mov rdi, rax 00059 33 c0 xor eax, eax 0005b b9 10 00 00 00 mov ecx, 16 00060 f3 aa rep stosb ; 194 : const float ratio = (float) window->numer / (float) window->denom; 00062 48 8b 85 70 01 00 00 mov rax, QWORD PTR window$[rbp] 00069 f3 0f 2a 40 70 cvtsi2ss xmm0, DWORD PTR [rax+112] 0006e 48 8b 85 70 01 00 00 mov rax, QWORD PTR window$[rbp] 00075 f3 0f 2a 48 74 cvtsi2ss xmm1, DWORD PTR [rax+116] 0007a f3 0f 5e c1 divss xmm0, xmm1 0007e f3 0f 11 45 34 movss DWORD PTR ratio$[rbp], xmm0 ; 195 : const DWORD style = getWindowStyle(window); 00083 48 8b 8d 70 01 00 00 mov rcx, QWORD PTR window$[rbp] 0008a e8 00 00 00 00 call getWindowStyle 0008f 89 45 54 mov DWORD PTR style$[rbp], eax ; 196 : const DWORD exStyle = getWindowExStyle(window); 00092 48 8b 8d 70 01 00 00 mov rcx, QWORD PTR window$[rbp] 00099 e8 00 00 00 00 call getWindowExStyle 0009e 89 45 74 mov DWORD PTR exStyle$[rbp], eax ; 197 : ; 198 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 000a1 66 b9 39 38 mov cx, 14393 ; 00003839H 000a5 e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 000aa 85 c0 test eax, eax 000ac 74 2e je SHORT $LN2@applyAspec ; 199 : { ; 200 : AdjustWindowRectExForDpi(&frame, style, FALSE, exStyle, 000ae 48 8b 85 70 01 00 00 mov rax, QWORD PTR window$[rbp] 000b5 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000bc ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 000c2 89 44 24 20 mov DWORD PTR [rsp+32], eax 000c6 44 8b 4d 74 mov r9d, DWORD PTR exStyle$[rbp] 000ca 45 33 c0 xor r8d, r8d 000cd 8b 55 54 mov edx, DWORD PTR style$[rbp] 000d0 48 8d 4d 08 lea rcx, QWORD PTR frame$[rbp] 000d4 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 201 : GetDpiForWindow(window->win32.handle)); ; 202 : } 000da eb 14 jmp SHORT $LN3@applyAspec $LN2@applyAspec: ; 203 : else ; 204 : AdjustWindowRectEx(&frame, style, FALSE, exStyle); 000dc 44 8b 4d 74 mov r9d, DWORD PTR exStyle$[rbp] 000e0 45 33 c0 xor r8d, r8d 000e3 8b 55 54 mov edx, DWORD PTR style$[rbp] 000e6 48 8d 4d 08 lea rcx, QWORD PTR frame$[rbp] 000ea ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx $LN3@applyAspec: ; 205 : ; 206 : if (edge == WMSZ_LEFT || edge == WMSZ_BOTTOMLEFT || ; 207 : edge == WMSZ_RIGHT || edge == WMSZ_BOTTOMRIGHT) 000f0 83 bd 78 01 00 00 01 cmp DWORD PTR edge$[rbp], 1 000f7 74 1b je SHORT $LN6@applyAspec 000f9 83 bd 78 01 00 00 07 cmp DWORD PTR edge$[rbp], 7 00100 74 12 je SHORT $LN6@applyAspec 00102 83 bd 78 01 00 00 02 cmp DWORD PTR edge$[rbp], 2 00109 74 09 je SHORT $LN6@applyAspec 0010b 83 bd 78 01 00 00 08 cmp DWORD PTR edge$[rbp], 8 00112 75 57 jne SHORT $LN4@applyAspec $LN6@applyAspec: ; 208 : { ; 209 : area->bottom = area->top + (frame.bottom - frame.top) + 00114 8b 45 0c mov eax, DWORD PTR frame$[rbp+4] 00117 8b 4d 14 mov ecx, DWORD PTR frame$[rbp+12] 0011a 2b c8 sub ecx, eax 0011c 8b c1 mov eax, ecx 0011e 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR area$[rbp] 00125 8b 49 04 mov ecx, DWORD PTR [rcx+4] 00128 03 c8 add ecx, eax 0012a 8b c1 mov eax, ecx 0012c 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR area$[rbp] 00133 48 8b 95 80 01 00 00 mov rdx, QWORD PTR area$[rbp] 0013a 8b 12 mov edx, DWORD PTR [rdx] 0013c 8b 49 08 mov ecx, DWORD PTR [rcx+8] 0013f 2b ca sub ecx, edx 00141 8b 55 08 mov edx, DWORD PTR frame$[rbp] 00144 8b 7d 10 mov edi, DWORD PTR frame$[rbp+8] 00147 2b fa sub edi, edx 00149 8b d7 mov edx, edi 0014b 2b ca sub ecx, edx 0014d f3 0f 2a c1 cvtsi2ss xmm0, ecx 00151 f3 0f 5e 45 34 divss xmm0, DWORD PTR ratio$[rbp] 00156 f3 0f 2c c8 cvttss2si ecx, xmm0 0015a 03 c1 add eax, ecx 0015c 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR area$[rbp] 00163 89 41 0c mov DWORD PTR [rcx+12], eax ; 210 : (int) (((area->right - area->left) - (frame.right - frame.left)) / ratio); ; 211 : } 00166 e9 ca 00 00 00 jmp $LN5@applyAspec $LN4@applyAspec: ; 212 : else if (edge == WMSZ_TOPLEFT || edge == WMSZ_TOPRIGHT) 0016b 83 bd 78 01 00 00 04 cmp DWORD PTR edge$[rbp], 4 00172 74 09 je SHORT $LN9@applyAspec 00174 83 bd 78 01 00 00 05 cmp DWORD PTR edge$[rbp], 5 0017b 75 54 jne SHORT $LN7@applyAspec $LN9@applyAspec: ; 213 : { ; 214 : area->top = area->bottom - (frame.bottom - frame.top) - 0017d 8b 45 0c mov eax, DWORD PTR frame$[rbp+4] 00180 8b 4d 14 mov ecx, DWORD PTR frame$[rbp+12] 00183 2b c8 sub ecx, eax 00185 8b c1 mov eax, ecx 00187 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR area$[rbp] 0018e 8b 49 0c mov ecx, DWORD PTR [rcx+12] 00191 2b c8 sub ecx, eax 00193 8b c1 mov eax, ecx 00195 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR area$[rbp] 0019c 48 8b 95 80 01 00 00 mov rdx, QWORD PTR area$[rbp] 001a3 8b 12 mov edx, DWORD PTR [rdx] 001a5 8b 49 08 mov ecx, DWORD PTR [rcx+8] 001a8 2b ca sub ecx, edx 001aa 8b 55 08 mov edx, DWORD PTR frame$[rbp] 001ad 8b 7d 10 mov edi, DWORD PTR frame$[rbp+8] 001b0 2b fa sub edi, edx 001b2 8b d7 mov edx, edi 001b4 2b ca sub ecx, edx 001b6 f3 0f 2a c1 cvtsi2ss xmm0, ecx 001ba f3 0f 5e 45 34 divss xmm0, DWORD PTR ratio$[rbp] 001bf f3 0f 2c c8 cvttss2si ecx, xmm0 001c3 2b c1 sub eax, ecx 001c5 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR area$[rbp] 001cc 89 41 04 mov DWORD PTR [rcx+4], eax ; 215 : (int) (((area->right - area->left) - (frame.right - frame.left)) / ratio); ; 216 : } 001cf eb 64 jmp SHORT $LN8@applyAspec $LN7@applyAspec: ; 217 : else if (edge == WMSZ_TOP || edge == WMSZ_BOTTOM) 001d1 83 bd 78 01 00 00 03 cmp DWORD PTR edge$[rbp], 3 001d8 74 09 je SHORT $LN11@applyAspec 001da 83 bd 78 01 00 00 06 cmp DWORD PTR edge$[rbp], 6 001e1 75 52 jne SHORT $LN10@applyAspec $LN11@applyAspec: ; 218 : { ; 219 : area->right = area->left + (frame.right - frame.left) + 001e3 8b 45 08 mov eax, DWORD PTR frame$[rbp] 001e6 8b 4d 10 mov ecx, DWORD PTR frame$[rbp+8] 001e9 2b c8 sub ecx, eax 001eb 8b c1 mov eax, ecx 001ed 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR area$[rbp] 001f4 8b 09 mov ecx, DWORD PTR [rcx] 001f6 03 c8 add ecx, eax 001f8 8b c1 mov eax, ecx 001fa 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR area$[rbp] 00201 48 8b 95 80 01 00 00 mov rdx, QWORD PTR area$[rbp] 00208 8b 52 04 mov edx, DWORD PTR [rdx+4] 0020b 8b 49 0c mov ecx, DWORD PTR [rcx+12] 0020e 2b ca sub ecx, edx 00210 8b 55 0c mov edx, DWORD PTR frame$[rbp+4] 00213 8b 7d 14 mov edi, DWORD PTR frame$[rbp+12] 00216 2b fa sub edi, edx 00218 8b d7 mov edx, edi 0021a 2b ca sub ecx, edx 0021c f3 0f 2a c1 cvtsi2ss xmm0, ecx 00220 f3 0f 59 45 34 mulss xmm0, DWORD PTR ratio$[rbp] 00225 f3 0f 2c c8 cvttss2si ecx, xmm0 00229 03 c1 add eax, ecx 0022b 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR area$[rbp] 00232 89 41 08 mov DWORD PTR [rcx+8], eax $LN10@applyAspec: $LN8@applyAspec: $LN5@applyAspec: ; 220 : (int) (((area->bottom - area->top) - (frame.bottom - frame.top)) * ratio); ; 221 : } ; 222 : } 00235 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] 00239 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:applyAspectRatio$rtcFrameData 00240 e8 00 00 00 00 call _RTC_CheckStackVars 00245 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 0024c 48 33 cd xor rcx, rbp 0024f e8 00 00 00 00 call __security_check_cookie 00254 48 8d a5 58 01 00 00 lea rsp, QWORD PTR [rbp+344] 0025b 5f pop rdi 0025c 5d pop rbp 0025d c3 ret 0 applyAspectRatio ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT createIcon _TEXT SEGMENT i$ = 4 dc$ = 40 handle$ = 72 color$ = 104 mask$ = 136 bi$ = 176 ii$ = 328 target$ = 392 source$ = 424 __$ArrayPad$ = 632 image$ = 672 xhot$ = 680 yhot$ = 688 icon$ = 696 createIcon PROC ; COMDAT ; 103 : { 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00013 55 push rbp 00014 57 push rdi 00015 48 81 ec b8 02 00 00 sub rsp, 696 ; 000002b8H 0001c 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] 00021 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] 00026 b9 72 00 00 00 mov ecx, 114 ; 00000072H 0002b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00030 f3 ab rep stosd 00032 48 8b 8c 24 d8 02 00 00 mov rcx, QWORD PTR [rsp+728] 0003a 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00041 48 33 c5 xor rax, rbp 00044 48 89 85 78 02 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0004b 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00052 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 104 : int i; ; 105 : HDC dc; ; 106 : HICON handle; ; 107 : HBITMAP color, mask; ; 108 : BITMAPV5HEADER bi; ; 109 : ICONINFO ii; ; 110 : unsigned char* target = NULL; 00057 48 c7 85 88 01 00 00 00 00 00 00 mov QWORD PTR target$[rbp], 0 ; 111 : unsigned char* source = image->pixels; 00062 48 8b 85 a0 02 00 00 mov rax, QWORD PTR image$[rbp] 00069 48 8b 40 08 mov rax, QWORD PTR [rax+8] 0006d 48 89 85 a8 01 00 00 mov QWORD PTR source$[rbp], rax ; 112 : ; 113 : ZeroMemory(&bi, sizeof(bi)); 00074 41 b8 7c 00 00 00 mov r8d, 124 ; 0000007cH 0007a 33 d2 xor edx, edx 0007c 48 8d 8d b0 00 00 00 lea rcx, QWORD PTR bi$[rbp] 00083 e8 00 00 00 00 call memset ; 114 : bi.bV5Size = sizeof(bi); 00088 c7 85 b0 00 00 00 7c 00 00 00 mov DWORD PTR bi$[rbp], 124 ; 0000007cH ; 115 : bi.bV5Width = image->width; 00092 48 8b 85 a0 02 00 00 mov rax, QWORD PTR image$[rbp] 00099 8b 00 mov eax, DWORD PTR [rax] 0009b 89 85 b4 00 00 00 mov DWORD PTR bi$[rbp+4], eax ; 116 : bi.bV5Height = -image->height; 000a1 48 8b 85 a0 02 00 00 mov rax, QWORD PTR image$[rbp] 000a8 8b 40 04 mov eax, DWORD PTR [rax+4] 000ab f7 d8 neg eax 000ad 89 85 b8 00 00 00 mov DWORD PTR bi$[rbp+8], eax ; 117 : bi.bV5Planes = 1; 000b3 b8 01 00 00 00 mov eax, 1 000b8 66 89 85 bc 00 00 00 mov WORD PTR bi$[rbp+12], ax ; 118 : bi.bV5BitCount = 32; 000bf b8 20 00 00 00 mov eax, 32 ; 00000020H 000c4 66 89 85 be 00 00 00 mov WORD PTR bi$[rbp+14], ax ; 119 : bi.bV5Compression = BI_BITFIELDS; 000cb c7 85 c0 00 00 00 03 00 00 00 mov DWORD PTR bi$[rbp+16], 3 ; 120 : bi.bV5RedMask = 0x00ff0000; 000d5 c7 85 d8 00 00 00 00 00 ff 00 mov DWORD PTR bi$[rbp+40], 16711680 ; 00ff0000H ; 121 : bi.bV5GreenMask = 0x0000ff00; 000df c7 85 dc 00 00 00 00 ff 00 00 mov DWORD PTR bi$[rbp+44], 65280 ; 0000ff00H ; 122 : bi.bV5BlueMask = 0x000000ff; 000e9 c7 85 e0 00 00 00 ff 00 00 00 mov DWORD PTR bi$[rbp+48], 255 ; 000000ffH ; 123 : bi.bV5AlphaMask = 0xff000000; 000f3 c7 85 e4 00 00 00 00 00 00 ff mov DWORD PTR bi$[rbp+52], -16777216 ; ff000000H ; 124 : ; 125 : dc = GetDC(NULL); 000fd 33 c9 xor ecx, ecx 000ff ff 15 00 00 00 00 call QWORD PTR __imp_GetDC 00105 48 89 45 28 mov QWORD PTR dc$[rbp], rax ; 126 : color = CreateDIBSection(dc, 00109 c7 44 24 28 00 00 00 00 mov DWORD PTR [rsp+40], 0 00111 48 c7 44 24 20 00 00 00 00 mov QWORD PTR [rsp+32], 0 0011a 4c 8d 8d 88 01 00 00 lea r9, QWORD PTR target$[rbp] 00121 45 33 c0 xor r8d, r8d 00124 48 8d 95 b0 00 00 00 lea rdx, QWORD PTR bi$[rbp] 0012b 48 8b 4d 28 mov rcx, QWORD PTR dc$[rbp] 0012f ff 15 00 00 00 00 call QWORD PTR __imp_CreateDIBSection 00135 48 89 45 68 mov QWORD PTR color$[rbp], rax ; 127 : (BITMAPINFO*) &bi, ; 128 : DIB_RGB_COLORS, ; 129 : (void**) &target, ; 130 : NULL, ; 131 : (DWORD) 0); ; 132 : ReleaseDC(NULL, dc); 00139 48 8b 55 28 mov rdx, QWORD PTR dc$[rbp] 0013d 33 c9 xor ecx, ecx 0013f ff 15 00 00 00 00 call QWORD PTR __imp_ReleaseDC ; 133 : ; 134 : if (!color) 00145 48 83 7d 68 00 cmp QWORD PTR color$[rbp], 0 0014a 75 18 jne SHORT $LN5@createIcon ; 135 : { ; 136 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 0014c 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CE@GCBEILKL@Win32?3?5Failed?5to?5create?5RGBA?5bi@ 00153 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00158 e8 00 00 00 00 call _glfwInputErrorWin32 ; 137 : "Win32: Failed to create RGBA bitmap"); ; 138 : return NULL; 0015d 33 c0 xor eax, eax 0015f e9 09 02 00 00 jmp $LN1@createIcon $LN5@createIcon: ; 139 : } ; 140 : ; 141 : mask = CreateBitmap(image->width, image->height, 1, 1, NULL); 00164 48 c7 44 24 20 00 00 00 00 mov QWORD PTR [rsp+32], 0 0016d 41 b9 01 00 00 00 mov r9d, 1 00173 41 b8 01 00 00 00 mov r8d, 1 00179 48 8b 85 a0 02 00 00 mov rax, QWORD PTR image$[rbp] 00180 8b 50 04 mov edx, DWORD PTR [rax+4] 00183 48 8b 85 a0 02 00 00 mov rax, QWORD PTR image$[rbp] 0018a 8b 08 mov ecx, DWORD PTR [rax] 0018c ff 15 00 00 00 00 call QWORD PTR __imp_CreateBitmap 00192 48 89 85 88 00 00 00 mov QWORD PTR mask$[rbp], rax ; 142 : if (!mask) 00199 48 83 bd 88 00 00 00 00 cmp QWORD PTR mask$[rbp], 0 001a1 75 22 jne SHORT $LN6@createIcon ; 143 : { ; 144 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 001a3 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CE@PKGOIGHB@Win32?3?5Failed?5to?5create?5mask?5bi@ 001aa b9 08 00 01 00 mov ecx, 65544 ; 00010008H 001af e8 00 00 00 00 call _glfwInputErrorWin32 ; 145 : "Win32: Failed to create mask bitmap"); ; 146 : DeleteObject(color); 001b4 48 8b 4d 68 mov rcx, QWORD PTR color$[rbp] 001b8 ff 15 00 00 00 00 call QWORD PTR __imp_DeleteObject ; 147 : return NULL; 001be 33 c0 xor eax, eax 001c0 e9 a8 01 00 00 jmp $LN1@createIcon $LN6@createIcon: ; 148 : } ; 149 : ; 150 : for (i = 0; i < image->width * image->height; i++) 001c5 c7 45 04 00 00 00 00 mov DWORD PTR i$[rbp], 0 001cc eb 08 jmp SHORT $LN4@createIcon $LN2@createIcon: 001ce 8b 45 04 mov eax, DWORD PTR i$[rbp] 001d1 ff c0 inc eax 001d3 89 45 04 mov DWORD PTR i$[rbp], eax $LN4@createIcon: 001d6 48 8b 85 a0 02 00 00 mov rax, QWORD PTR image$[rbp] 001dd 48 8b 8d a0 02 00 00 mov rcx, QWORD PTR image$[rbp] 001e4 8b 00 mov eax, DWORD PTR [rax] 001e6 0f af 41 04 imul eax, DWORD PTR [rcx+4] 001ea 39 45 04 cmp DWORD PTR i$[rbp], eax 001ed 0f 8d c9 00 00 00 jge $LN3@createIcon ; 151 : { ; 152 : target[0] = source[2]; 001f3 b8 01 00 00 00 mov eax, 1 001f8 48 6b c0 02 imul rax, rax, 2 001fc b9 01 00 00 00 mov ecx, 1 00201 48 6b c9 00 imul rcx, rcx, 0 00205 48 8b 95 88 01 00 00 mov rdx, QWORD PTR target$[rbp] 0020c 4c 8b 85 a8 01 00 00 mov r8, QWORD PTR source$[rbp] 00213 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] 00218 88 04 0a mov BYTE PTR [rdx+rcx], al ; 153 : target[1] = source[1]; 0021b b8 01 00 00 00 mov eax, 1 00220 48 6b c0 01 imul rax, rax, 1 00224 b9 01 00 00 00 mov ecx, 1 00229 48 6b c9 01 imul rcx, rcx, 1 0022d 48 8b 95 88 01 00 00 mov rdx, QWORD PTR target$[rbp] 00234 4c 8b 85 a8 01 00 00 mov r8, QWORD PTR source$[rbp] 0023b 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] 00240 88 04 0a mov BYTE PTR [rdx+rcx], al ; 154 : target[2] = source[0]; 00243 b8 01 00 00 00 mov eax, 1 00248 48 6b c0 00 imul rax, rax, 0 0024c b9 01 00 00 00 mov ecx, 1 00251 48 6b c9 02 imul rcx, rcx, 2 00255 48 8b 95 88 01 00 00 mov rdx, QWORD PTR target$[rbp] 0025c 4c 8b 85 a8 01 00 00 mov r8, QWORD PTR source$[rbp] 00263 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] 00268 88 04 0a mov BYTE PTR [rdx+rcx], al ; 155 : target[3] = source[3]; 0026b b8 01 00 00 00 mov eax, 1 00270 48 6b c0 03 imul rax, rax, 3 00274 b9 01 00 00 00 mov ecx, 1 00279 48 6b c9 03 imul rcx, rcx, 3 0027d 48 8b 95 88 01 00 00 mov rdx, QWORD PTR target$[rbp] 00284 4c 8b 85 a8 01 00 00 mov r8, QWORD PTR source$[rbp] 0028b 41 0f b6 04 00 movzx eax, BYTE PTR [r8+rax] 00290 88 04 0a mov BYTE PTR [rdx+rcx], al ; 156 : target += 4; 00293 48 8b 85 88 01 00 00 mov rax, QWORD PTR target$[rbp] 0029a 48 83 c0 04 add rax, 4 0029e 48 89 85 88 01 00 00 mov QWORD PTR target$[rbp], rax ; 157 : source += 4; 002a5 48 8b 85 a8 01 00 00 mov rax, QWORD PTR source$[rbp] 002ac 48 83 c0 04 add rax, 4 002b0 48 89 85 a8 01 00 00 mov QWORD PTR source$[rbp], rax ; 158 : } 002b7 e9 12 ff ff ff jmp $LN2@createIcon $LN3@createIcon: ; 159 : ; 160 : ZeroMemory(&ii, sizeof(ii)); 002bc 41 b8 20 00 00 00 mov r8d, 32 ; 00000020H 002c2 33 d2 xor edx, edx 002c4 48 8d 8d 48 01 00 00 lea rcx, QWORD PTR ii$[rbp] 002cb e8 00 00 00 00 call memset ; 161 : ii.fIcon = icon; 002d0 8b 85 b8 02 00 00 mov eax, DWORD PTR icon$[rbp] 002d6 89 85 48 01 00 00 mov DWORD PTR ii$[rbp], eax ; 162 : ii.xHotspot = xhot; 002dc 8b 85 a8 02 00 00 mov eax, DWORD PTR xhot$[rbp] 002e2 89 85 4c 01 00 00 mov DWORD PTR ii$[rbp+4], eax ; 163 : ii.yHotspot = yhot; 002e8 8b 85 b0 02 00 00 mov eax, DWORD PTR yhot$[rbp] 002ee 89 85 50 01 00 00 mov DWORD PTR ii$[rbp+8], eax ; 164 : ii.hbmMask = mask; 002f4 48 8b 85 88 00 00 00 mov rax, QWORD PTR mask$[rbp] 002fb 48 89 85 58 01 00 00 mov QWORD PTR ii$[rbp+16], rax ; 165 : ii.hbmColor = color; 00302 48 8b 45 68 mov rax, QWORD PTR color$[rbp] 00306 48 89 85 60 01 00 00 mov QWORD PTR ii$[rbp+24], rax ; 166 : ; 167 : handle = CreateIconIndirect(&ii); 0030d 48 8d 8d 48 01 00 00 lea rcx, QWORD PTR ii$[rbp] 00314 ff 15 00 00 00 00 call QWORD PTR __imp_CreateIconIndirect 0031a 48 89 45 48 mov QWORD PTR handle$[rbp], rax ; 168 : ; 169 : DeleteObject(color); 0031e 48 8b 4d 68 mov rcx, QWORD PTR color$[rbp] 00322 ff 15 00 00 00 00 call QWORD PTR __imp_DeleteObject ; 170 : DeleteObject(mask); 00328 48 8b 8d 88 00 00 00 mov rcx, QWORD PTR mask$[rbp] 0032f ff 15 00 00 00 00 call QWORD PTR __imp_DeleteObject ; 171 : ; 172 : if (!handle) 00335 48 83 7d 48 00 cmp QWORD PTR handle$[rbp], 0 0033a 75 2d jne SHORT $LN7@createIcon ; 173 : { ; 174 : if (icon) 0033c 83 bd b8 02 00 00 00 cmp DWORD PTR icon$[rbp], 0 00343 74 13 je SHORT $LN8@createIcon ; 175 : { ; 176 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00345 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BN@HJHDCKKP@Win32?3?5Failed?5to?5create?5icon@ 0034c b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00351 e8 00 00 00 00 call _glfwInputErrorWin32 ; 177 : "Win32: Failed to create icon"); ; 178 : } 00356 eb 11 jmp SHORT $LN9@createIcon $LN8@createIcon: ; 179 : else ; 180 : { ; 181 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00358 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BP@OHFKOFFD@Win32?3?5Failed?5to?5create?5cursor@ 0035f b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00364 e8 00 00 00 00 call _glfwInputErrorWin32 $LN9@createIcon: $LN7@createIcon: ; 182 : "Win32: Failed to create cursor"); ; 183 : } ; 184 : } ; 185 : ; 186 : return handle; 00369 48 8b 45 48 mov rax, QWORD PTR handle$[rbp] $LN1@createIcon: ; 187 : } 0036d 48 8b f8 mov rdi, rax 00370 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] 00374 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:createIcon$rtcFrameData 0037b e8 00 00 00 00 call _RTC_CheckStackVars 00380 48 8b c7 mov rax, rdi 00383 48 8b 8d 78 02 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 0038a 48 33 cd xor rcx, rbp 0038d e8 00 00 00 00 call __security_check_cookie 00392 48 8d a5 88 02 00 00 lea rsp, QWORD PTR [rbp+648] 00399 5f pop rdi 0039a 5d pop rbp 0039b c3 ret 0 createIcon ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT chooseImage _TEXT SEGMENT i$ = 4 leastDiff$ = 36 closest$ = 72 currDiff$1 = 100 count$ = 352 images$ = 360 width$ = 368 height$ = 376 chooseImage PROC ; COMDAT ; 82 : { 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00013 55 push rbp 00014 57 push rdi 00015 48 81 ec 68 01 00 00 sub rsp, 360 ; 00000168H 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00021 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00028 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 83 : int i, leastDiff = INT_MAX; 0002d c7 45 24 ff ff ff 7f mov DWORD PTR leastDiff$[rbp], 2147483647 ; 7fffffffH ; 84 : const GLFWimage* closest = NULL; 00034 48 c7 45 48 00 00 00 00 mov QWORD PTR closest$[rbp], 0 ; 85 : ; 86 : for (i = 0; i < count; i++) 0003c c7 45 04 00 00 00 00 mov DWORD PTR i$[rbp], 0 00043 eb 08 jmp SHORT $LN4@chooseImag $LN2@chooseImag: 00045 8b 45 04 mov eax, DWORD PTR i$[rbp] 00048 ff c0 inc eax 0004a 89 45 04 mov DWORD PTR i$[rbp], eax $LN4@chooseImag: 0004d 8b 85 60 01 00 00 mov eax, DWORD PTR count$[rbp] 00053 39 45 04 cmp DWORD PTR i$[rbp], eax 00056 7d 69 jge SHORT $LN3@chooseImag ; 87 : { ; 88 : const int currDiff = abs(images[i].width * images[i].height - 00058 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] 0005c 48 6b c0 10 imul rax, rax, 16 00060 48 63 4d 04 movsxd rcx, DWORD PTR i$[rbp] 00064 48 6b c9 10 imul rcx, rcx, 16 00068 48 8b 95 68 01 00 00 mov rdx, QWORD PTR images$[rbp] 0006f 4c 8b 85 68 01 00 00 mov r8, QWORD PTR images$[rbp] 00076 8b 04 02 mov eax, DWORD PTR [rdx+rax] 00079 41 0f af 44 08 04 imul eax, DWORD PTR [r8+rcx+4] 0007f 8b 8d 70 01 00 00 mov ecx, DWORD PTR width$[rbp] 00085 0f af 8d 78 01 00 00 imul ecx, DWORD PTR height$[rbp] 0008c 2b c1 sub eax, ecx 0008e 8b c8 mov ecx, eax 00090 e8 00 00 00 00 call abs 00095 89 45 64 mov DWORD PTR currDiff$1[rbp], eax ; 89 : width * height); ; 90 : if (currDiff < leastDiff) 00098 8b 45 24 mov eax, DWORD PTR leastDiff$[rbp] 0009b 39 45 64 cmp DWORD PTR currDiff$1[rbp], eax 0009e 7d 1f jge SHORT $LN5@chooseImag ; 91 : { ; 92 : closest = images + i; 000a0 48 63 45 04 movsxd rax, DWORD PTR i$[rbp] 000a4 48 6b c0 10 imul rax, rax, 16 000a8 48 8b 8d 68 01 00 00 mov rcx, QWORD PTR images$[rbp] 000af 48 03 c8 add rcx, rax 000b2 48 8b c1 mov rax, rcx 000b5 48 89 45 48 mov QWORD PTR closest$[rbp], rax ; 93 : leastDiff = currDiff; 000b9 8b 45 64 mov eax, DWORD PTR currDiff$1[rbp] 000bc 89 45 24 mov DWORD PTR leastDiff$[rbp], eax $LN5@chooseImag: ; 94 : } ; 95 : } 000bf eb 84 jmp SHORT $LN2@chooseImag $LN3@chooseImag: ; 96 : ; 97 : return closest; 000c1 48 8b 45 48 mov rax, QWORD PTR closest$[rbp] ; 98 : } 000c5 48 8d a5 48 01 00 00 lea rsp, QWORD PTR [rbp+328] 000cc 5f pop rdi 000cd 5d pop rbp 000ce c3 ret 0 chooseImage ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT getWindowExStyle _TEXT SEGMENT style$ = 4 window$ = 256 getWindowExStyle PROC ; COMDAT ; 69 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 70 : DWORD style = WS_EX_APPWINDOW; 0001f c7 45 04 00 00 04 00 mov DWORD PTR style$[rbp], 262144 ; 00040000H ; 71 : ; 72 : if (window->monitor || window->floating) 00026 48 8b 85 00 01 00 00 mov rax, QWORD PTR window$[rbp] 0002d 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 00032 75 0d jne SHORT $LN3@getWindowE 00034 48 8b 85 00 01 00 00 mov rax, QWORD PTR window$[rbp] 0003b 83 78 14 00 cmp DWORD PTR [rax+20], 0 0003f 74 09 je SHORT $LN2@getWindowE $LN3@getWindowE: ; 73 : style |= WS_EX_TOPMOST; 00041 8b 45 04 mov eax, DWORD PTR style$[rbp] 00044 83 c8 08 or eax, 8 00047 89 45 04 mov DWORD PTR style$[rbp], eax $LN2@getWindowE: ; 74 : ; 75 : return style; 0004a 8b 45 04 mov eax, DWORD PTR style$[rbp] ; 76 : } 0004d 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 00054 5f pop rdi 00055 5d pop rbp 00056 c3 ret 0 getWindowExStyle ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT getWindowStyle _TEXT SEGMENT style$ = 4 window$ = 256 getWindowStyle PROC ; COMDAT ; 43 : { 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 44 : DWORD style = WS_CLIPSIBLINGS | WS_CLIPCHILDREN; 0001f c7 45 04 00 00 00 06 mov DWORD PTR style$[rbp], 100663296 ; 06000000H ; 45 : ; 46 : if (window->monitor) 00026 48 8b 85 00 01 00 00 mov rax, QWORD PTR window$[rbp] 0002d 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 00032 74 0c je SHORT $LN2@getWindowS ; 47 : style |= WS_POPUP; 00034 8b 45 04 mov eax, DWORD PTR style$[rbp] 00037 0f ba e8 1f bts eax, 31 0003b 89 45 04 mov DWORD PTR style$[rbp], eax 0003e eb 47 jmp SHORT $LN3@getWindowS $LN2@getWindowS: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; 00040 8b 45 04 mov eax, DWORD PTR style$[rbp] 00043 0d 00 00 0a 00 or eax, 655360 ; 000a0000H 00048 89 45 04 mov DWORD PTR style$[rbp], eax ; 51 : ; 52 : if (window->decorated) 0004b 48 8b 85 00 01 00 00 mov rax, QWORD PTR window$[rbp] 00052 83 78 0c 00 cmp DWORD PTR [rax+12], 0 00056 74 25 je SHORT $LN4@getWindowS ; 53 : { ; 54 : style |= WS_CAPTION; 00058 8b 45 04 mov eax, DWORD PTR style$[rbp] 0005b 0d 00 00 c0 00 or eax, 12582912 ; 00c00000H 00060 89 45 04 mov DWORD PTR style$[rbp], eax ; 55 : ; 56 : if (window->resizable) 00063 48 8b 85 00 01 00 00 mov rax, QWORD PTR window$[rbp] 0006a 83 78 08 00 cmp DWORD PTR [rax+8], 0 0006e 74 0b je SHORT $LN6@getWindowS ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; 00070 8b 45 04 mov eax, DWORD PTR style$[rbp] 00073 0d 00 00 05 00 or eax, 327680 ; 00050000H 00078 89 45 04 mov DWORD PTR style$[rbp], eax $LN6@getWindowS: ; 58 : } 0007b eb 0a jmp SHORT $LN5@getWindowS $LN4@getWindowS: ; 59 : else ; 60 : style |= WS_POPUP; 0007d 8b 45 04 mov eax, DWORD PTR style$[rbp] 00080 0f ba e8 1f bts eax, 31 00084 89 45 04 mov DWORD PTR style$[rbp], eax $LN5@getWindowS: $LN3@getWindowS: ; 61 : } ; 62 : ; 63 : return style; 00087 8b 45 04 mov eax, DWORD PTR style$[rbp] ; 64 : } 0008a 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 00091 5f pop rdi 00092 5d pop rbp 00093 c3 ret 0 getWindowStyle ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwCreateWindowSurfaceWin32 _TEXT SEGMENT err$ = 4 sci$ = 40 vkCreateWin32SurfaceKHR$ = 104 __$ArrayPad$ = 312 instance$ = 352 window$ = 360 allocator$ = 368 surface$ = 376 _glfwCreateWindowSurfaceWin32 PROC ; COMDAT ; 2458 : { $LN5: 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 55 push rbp 00015 57 push rdi 00016 48 81 ec 68 01 00 00 sub rsp, 360 ; 00000168H 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00027 b9 22 00 00 00 mov ecx, 34 ; 00000022H 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00031 f3 ab rep stosd 00033 48 8b 8c 24 88 01 00 00 mov rcx, QWORD PTR [rsp+392] 0003b 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00042 48 33 c5 xor rax, rbp 00045 48 89 85 38 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0004c 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2459 : VkResult err; ; 2460 : VkWin32SurfaceCreateInfoKHR sci; ; 2461 : PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; ; 2462 : ; 2463 : vkCreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR) 00058 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BI@INMBJMIJ@vkCreateWin32SurfaceKHR@ 0005f 48 8b 8d 60 01 00 00 mov rcx, QWORD PTR instance$[rbp] 00066 ff 15 40 1b 00 00 call QWORD PTR _glfw+6976 0006c 48 89 45 68 mov QWORD PTR vkCreateWin32SurfaceKHR$[rbp], rax ; 2464 : vkGetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR"); ; 2465 : if (!vkCreateWin32SurfaceKHR) 00070 48 83 7d 68 00 cmp QWORD PTR vkCreateWin32SurfaceKHR$[rbp], 0 00075 75 18 jne SHORT $LN2@glfwCreate ; 2466 : { ; 2467 : _glfwInputError(GLFW_API_UNAVAILABLE, 00077 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DO@PGEACBCJ@Win32?3?5Vulkan?5instance?5missing?5@ 0007e b9 06 00 01 00 mov ecx, 65542 ; 00010006H 00083 e8 00 00 00 00 call _glfwInputError ; 2468 : "Win32: Vulkan instance missing VK_KHR_win32_surface extension"); ; 2469 : return VK_ERROR_EXTENSION_NOT_PRESENT; 00088 b8 f9 ff ff ff mov eax, -7 0008d eb 79 jmp SHORT $LN1@glfwCreate $LN2@glfwCreate: ; 2470 : } ; 2471 : ; 2472 : memset(&sci, 0, sizeof(sci)); 0008f 41 b8 28 00 00 00 mov r8d, 40 ; 00000028H 00095 33 d2 xor edx, edx 00097 48 8d 4d 28 lea rcx, QWORD PTR sci$[rbp] 0009b e8 00 00 00 00 call memset ; 2473 : sci.sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR; 000a0 c7 45 28 28 ed 9a 3b mov DWORD PTR sci$[rbp], 1000009000 ; 3b9aed28H ; 2474 : sci.hinstance = _glfw.win32.instance; 000a7 48 8b 05 78 1b 00 00 mov rax, QWORD PTR _glfw+7032 000ae 48 89 45 40 mov QWORD PTR sci$[rbp+24], rax ; 2475 : sci.hwnd = window->win32.handle; 000b2 48 8b 85 68 01 00 00 mov rax, QWORD PTR window$[rbp] 000b9 48 8b 80 58 03 00 00 mov rax, QWORD PTR [rax+856] 000c0 48 89 45 48 mov QWORD PTR sci$[rbp+32], rax ; 2476 : ; 2477 : err = vkCreateWin32SurfaceKHR(instance, &sci, allocator, surface); 000c4 4c 8b 8d 78 01 00 00 mov r9, QWORD PTR surface$[rbp] 000cb 4c 8b 85 70 01 00 00 mov r8, QWORD PTR allocator$[rbp] 000d2 48 8d 55 28 lea rdx, QWORD PTR sci$[rbp] 000d6 48 8b 8d 60 01 00 00 mov rcx, QWORD PTR instance$[rbp] 000dd ff 55 68 call QWORD PTR vkCreateWin32SurfaceKHR$[rbp] 000e0 89 45 04 mov DWORD PTR err$[rbp], eax ; 2478 : if (err) 000e3 83 7d 04 00 cmp DWORD PTR err$[rbp], 0 000e7 74 1c je SHORT $LN3@glfwCreate ; 2479 : { ; 2480 : _glfwInputError(GLFW_PLATFORM_ERROR, 000e9 8b 4d 04 mov ecx, DWORD PTR err$[rbp] 000ec e8 00 00 00 00 call _glfwGetVulkanResultString 000f1 4c 8b c0 mov r8, rax 000f4 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CL@LJNEEKEI@Win32?3?5Failed?5to?5create?5Vulkan?5@ 000fb b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00100 e8 00 00 00 00 call _glfwInputError $LN3@glfwCreate: ; 2481 : "Win32: Failed to create Vulkan surface: %s", ; 2482 : _glfwGetVulkanResultString(err)); ; 2483 : } ; 2484 : ; 2485 : return err; 00105 8b 45 04 mov eax, DWORD PTR err$[rbp] $LN1@glfwCreate: ; 2486 : } 00108 48 8b f8 mov rdi, rax 0010b 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 0010f 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwCreateWindowSurfaceWin32$rtcFrameData 00116 e8 00 00 00 00 call _RTC_CheckStackVars 0011b 48 8b c7 mov rax, rdi 0011e 48 8b 8d 38 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 00125 48 33 cd xor rcx, rbp 00128 e8 00 00 00 00 call __security_check_cookie 0012d 48 8d a5 48 01 00 00 lea rsp, QWORD PTR [rbp+328] 00134 5f pop rdi 00135 5d pop rbp 00136 c3 ret 0 _glfwCreateWindowSurfaceWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetPhysicalDevicePresentationSupportWin32 _TEXT SEGMENT vkGetPhysicalDeviceWin32PresentationSupportKHR$ = 8 instance$ = 256 device$ = 264 queuefamily$ = 272 _glfwGetPhysicalDevicePresentationSupportWin32 PROC ; COMDAT ; 2439 : { $LN4: 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 55 push rbp 00010 57 push rdi 00011 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0001d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2440 : PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR ; 2441 : vkGetPhysicalDeviceWin32PresentationSupportKHR = 00029 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CP@FOBJNCLA@vkGetPhysicalDeviceWin32Present@ 00030 48 8b 8d 00 01 00 00 mov rcx, QWORD PTR instance$[rbp] 00037 ff 15 40 1b 00 00 call QWORD PTR _glfw+6976 0003d 48 89 45 08 mov QWORD PTR vkGetPhysicalDeviceWin32PresentationSupportKHR$[rbp], rax ; 2442 : (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR) ; 2443 : vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR"); ; 2444 : if (!vkGetPhysicalDeviceWin32PresentationSupportKHR) 00041 48 83 7d 08 00 cmp QWORD PTR vkGetPhysicalDeviceWin32PresentationSupportKHR$[rbp], 0 00046 75 15 jne SHORT $LN2@glfwGetPhy ; 2445 : { ; 2446 : _glfwInputError(GLFW_API_UNAVAILABLE, 00048 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DO@PGEACBCJ@Win32?3?5Vulkan?5instance?5missing?5@ 0004f b9 06 00 01 00 mov ecx, 65542 ; 00010006H 00054 e8 00 00 00 00 call _glfwInputError ; 2447 : "Win32: Vulkan instance missing VK_KHR_win32_surface extension"); ; 2448 : return GLFW_FALSE; 00059 33 c0 xor eax, eax 0005b eb 10 jmp SHORT $LN1@glfwGetPhy $LN2@glfwGetPhy: ; 2449 : } ; 2450 : ; 2451 : return vkGetPhysicalDeviceWin32PresentationSupportKHR(device, queuefamily); 0005d 8b 95 10 01 00 00 mov edx, DWORD PTR queuefamily$[rbp] 00063 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR device$[rbp] 0006a ff 55 08 call QWORD PTR vkGetPhysicalDeviceWin32PresentationSupportKHR$[rbp] $LN1@glfwGetPhy: ; 2452 : } 0006d 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 00074 5f pop rdi 00075 5d pop rbp 00076 c3 ret 0 _glfwGetPhysicalDevicePresentationSupportWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetRequiredInstanceExtensionsWin32 _TEXT SEGMENT extensions$ = 224 _glfwGetRequiredInstanceExtensionsWin32 PROC ; COMDAT ; 2428 : { $LN5: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2429 : if (!_glfw.vk.KHR_surface || !_glfw.vk.KHR_win32_surface) 0001f 83 3d 48 1b 00 00 00 cmp DWORD PTR _glfw+6984, 0 00026 74 09 je SHORT $LN3@glfwGetReq 00028 83 3d 4c 1b 00 00 00 cmp DWORD PTR _glfw+6988, 0 0002f 75 02 jne SHORT $LN2@glfwGetReq $LN3@glfwGetReq: ; 2430 : return; 00031 eb 36 jmp SHORT $LN1@glfwGetReq $LN2@glfwGetReq: ; 2431 : ; 2432 : extensions[0] = "VK_KHR_surface"; 00033 b8 08 00 00 00 mov eax, 8 00038 48 6b c0 00 imul rax, rax, 0 0003c 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR extensions$[rbp] 00043 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0P@IENCOMCD@VK_KHR_surface@ 0004a 48 89 14 01 mov QWORD PTR [rcx+rax], rdx ; 2433 : extensions[1] = "VK_KHR_win32_surface"; 0004e b8 08 00 00 00 mov eax, 8 00053 48 6b c0 01 imul rax, rax, 1 00057 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR extensions$[rbp] 0005e 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BF@COCMEDFO@VK_KHR_win32_surface@ 00065 48 89 14 01 mov QWORD PTR [rcx+rax], rdx $LN1@glfwGetReq: ; 2434 : } 00069 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00070 5f pop rdi 00071 5d pop rbp 00072 c3 ret 0 _glfwGetRequiredInstanceExtensionsWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetEGLNativeWindowWin32 _TEXT SEGMENT window$ = 224 _glfwGetEGLNativeWindowWin32 PROC ; COMDAT ; 2423 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2424 : return window->win32.handle; 0001f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00026 48 8b 80 58 03 00 00 mov rax, QWORD PTR [rax+856] ; 2425 : } 0002d 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00034 5f pop rdi 00035 5d pop rbp 00036 c3 ret 0 _glfwGetEGLNativeWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetEGLNativeDisplayWin32 _TEXT SEGMENT _glfwGetEGLNativeDisplayWin32 PROC ; COMDAT ; 2418 : { $LN3: 00000 40 55 push rbp 00002 57 push rdi 00003 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0000f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2419 : return GetDC(_glfw.win32.helperWindowHandle); 0001b 48 8b 0d 80 1b 00 00 mov rcx, QWORD PTR _glfw+7040 00022 ff 15 00 00 00 00 call QWORD PTR __imp_GetDC ; 2420 : } 00028 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0002f 5f pop rdi 00030 5d pop rbp 00031 c3 ret 0 _glfwGetEGLNativeDisplayWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetEGLPlatformWin32 _TEXT SEGMENT type$1 = 4 attribs$ = 256 _glfwGetEGLPlatformWin32 PROC ; COMDAT ; 2377 : { $LN15: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2378 : if (_glfw.egl.ANGLE_platform_angle) 0001f 83 3d 34 1a 00 00 00 cmp DWORD PTR _glfw+6708, 0 00026 0f 84 f8 00 00 00 je $LN2@glfwGetEGL ; 2379 : { ; 2380 : int type = 0; 0002c c7 45 04 00 00 00 00 mov DWORD PTR type$1[rbp], 0 ; 2381 : ; 2382 : if (_glfw.egl.ANGLE_platform_angle_opengl) 00033 83 3d 38 1a 00 00 00 cmp DWORD PTR _glfw+6712, 0 0003a 74 28 je SHORT $LN3@glfwGetEGL ; 2383 : { ; 2384 : if (_glfw.hints.init.angleType == GLFW_ANGLE_PLATFORM_TYPE_OPENGL) 0003c 81 3d 6c 02 00 00 02 70 03 00 cmp DWORD PTR _glfw+620, 225282 ; 00037002H 00046 75 09 jne SHORT $LN4@glfwGetEGL ; 2385 : type = EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE; 00048 c7 45 04 0d 32 00 00 mov DWORD PTR type$1[rbp], 12813 ; 0000320dH 0004f eb 13 jmp SHORT $LN5@glfwGetEGL $LN4@glfwGetEGL: ; 2386 : else if (_glfw.hints.init.angleType == GLFW_ANGLE_PLATFORM_TYPE_OPENGLES) 00051 81 3d 6c 02 00 00 03 70 03 00 cmp DWORD PTR _glfw+620, 225283 ; 00037003H 0005b 75 07 jne SHORT $LN6@glfwGetEGL ; 2387 : type = EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE; 0005d c7 45 04 0e 32 00 00 mov DWORD PTR type$1[rbp], 12814 ; 0000320eH $LN6@glfwGetEGL: $LN5@glfwGetEGL: $LN3@glfwGetEGL: ; 2388 : } ; 2389 : ; 2390 : if (_glfw.egl.ANGLE_platform_angle_d3d) 00064 83 3d 3c 1a 00 00 00 cmp DWORD PTR _glfw+6716, 0 0006b 74 28 je SHORT $LN7@glfwGetEGL ; 2391 : { ; 2392 : if (_glfw.hints.init.angleType == GLFW_ANGLE_PLATFORM_TYPE_D3D9) 0006d 81 3d 6c 02 00 00 04 70 03 00 cmp DWORD PTR _glfw+620, 225284 ; 00037004H 00077 75 09 jne SHORT $LN8@glfwGetEGL ; 2393 : type = EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE; 00079 c7 45 04 07 32 00 00 mov DWORD PTR type$1[rbp], 12807 ; 00003207H 00080 eb 13 jmp SHORT $LN9@glfwGetEGL $LN8@glfwGetEGL: ; 2394 : else if (_glfw.hints.init.angleType == GLFW_ANGLE_PLATFORM_TYPE_D3D11) 00082 81 3d 6c 02 00 00 05 70 03 00 cmp DWORD PTR _glfw+620, 225285 ; 00037005H 0008c 75 07 jne SHORT $LN10@glfwGetEGL ; 2395 : type = EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE; 0008e c7 45 04 08 32 00 00 mov DWORD PTR type$1[rbp], 12808 ; 00003208H $LN10@glfwGetEGL: $LN9@glfwGetEGL: $LN7@glfwGetEGL: ; 2396 : } ; 2397 : ; 2398 : if (_glfw.egl.ANGLE_platform_angle_vulkan) 00095 83 3d 40 1a 00 00 00 cmp DWORD PTR _glfw+6720, 0 0009c 74 13 je SHORT $LN11@glfwGetEGL ; 2399 : { ; 2400 : if (_glfw.hints.init.angleType == GLFW_ANGLE_PLATFORM_TYPE_VULKAN) 0009e 81 3d 6c 02 00 00 07 70 03 00 cmp DWORD PTR _glfw+620, 225287 ; 00037007H 000a8 75 07 jne SHORT $LN12@glfwGetEGL ; 2401 : type = EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE; 000aa c7 45 04 50 34 00 00 mov DWORD PTR type$1[rbp], 13392 ; 00003450H $LN12@glfwGetEGL: $LN11@glfwGetEGL: ; 2402 : } ; 2403 : ; 2404 : if (type) 000b1 83 7d 04 00 cmp DWORD PTR type$1[rbp], 0 000b5 74 6d je SHORT $LN13@glfwGetEGL ; 2405 : { ; 2406 : *attribs = _glfw_calloc(3, sizeof(EGLint)); 000b7 ba 04 00 00 00 mov edx, 4 000bc b9 03 00 00 00 mov ecx, 3 000c1 e8 00 00 00 00 call _glfw_calloc 000c6 48 8b 8d 00 01 00 00 mov rcx, QWORD PTR attribs$[rbp] 000cd 48 89 01 mov QWORD PTR [rcx], rax ; 2407 : (*attribs)[0] = EGL_PLATFORM_ANGLE_TYPE_ANGLE; 000d0 b8 04 00 00 00 mov eax, 4 000d5 48 6b c0 00 imul rax, rax, 0 000d9 48 8b 8d 00 01 00 00 mov rcx, QWORD PTR attribs$[rbp] 000e0 48 8b 09 mov rcx, QWORD PTR [rcx] 000e3 c7 04 08 03 32 00 00 mov DWORD PTR [rax+rcx], 12803 ; 00003203H ; 2408 : (*attribs)[1] = type; 000ea b8 04 00 00 00 mov eax, 4 000ef 48 6b c0 01 imul rax, rax, 1 000f3 48 8b 8d 00 01 00 00 mov rcx, QWORD PTR attribs$[rbp] 000fa 48 8b 09 mov rcx, QWORD PTR [rcx] 000fd 8b 55 04 mov edx, DWORD PTR type$1[rbp] 00100 89 14 08 mov DWORD PTR [rax+rcx], edx ; 2409 : (*attribs)[2] = EGL_NONE; 00103 b8 04 00 00 00 mov eax, 4 00108 48 6b c0 02 imul rax, rax, 2 0010c 48 8b 8d 00 01 00 00 mov rcx, QWORD PTR attribs$[rbp] 00113 48 8b 09 mov rcx, QWORD PTR [rcx] 00116 c7 04 08 38 30 00 00 mov DWORD PTR [rax+rcx], 12344 ; 00003038H ; 2410 : return EGL_PLATFORM_ANGLE_ANGLE; 0011d b8 02 32 00 00 mov eax, 12802 ; 00003202H 00122 eb 02 jmp SHORT $LN1@glfwGetEGL $LN13@glfwGetEGL: $LN2@glfwGetEGL: ; 2411 : } ; 2412 : } ; 2413 : ; 2414 : return 0; 00124 33 c0 xor eax, eax $LN1@glfwGetEGL: ; 2415 : } 00126 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 0012d 5f pop rdi 0012e 5d pop rbp 0012f c3 ret 0 _glfwGetEGLPlatformWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetClipboardStringWin32 _TEXT SEGMENT object$ = 8 buffer$ = 40 _glfwGetClipboardStringWin32 PROC ; COMDAT ; 2338 : { $LN6: 00000 40 55 push rbp 00002 57 push rdi 00003 48 81 ec 28 01 00 00 sub rsp, 296 ; 00000128H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0000f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2339 : HANDLE object; ; 2340 : WCHAR* buffer; ; 2341 : ; 2342 : if (!OpenClipboard(_glfw.win32.helperWindowHandle)) 0001b 48 8b 0d 80 1b 00 00 mov rcx, QWORD PTR _glfw+7040 00022 ff 15 00 00 00 00 call QWORD PTR __imp_OpenClipboard 00028 85 c0 test eax, eax 0002a 75 18 jne SHORT $LN2@glfwGetCli ; 2343 : { ; 2344 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 0002c 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CA@FNCFBEIG@Win32?3?5Failed?5to?5open?5clipboard@ 00033 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00038 e8 00 00 00 00 call _glfwInputErrorWin32 ; 2345 : "Win32: Failed to open clipboard"); ; 2346 : return NULL; 0003d 33 c0 xor eax, eax 0003f e9 94 00 00 00 jmp $LN1@glfwGetCli $LN2@glfwGetCli: ; 2347 : } ; 2348 : ; 2349 : object = GetClipboardData(CF_UNICODETEXT); 00044 b9 0d 00 00 00 mov ecx, 13 00049 ff 15 00 00 00 00 call QWORD PTR __imp_GetClipboardData 0004f 48 89 45 08 mov QWORD PTR object$[rbp], rax ; 2350 : if (!object) 00053 48 83 7d 08 00 cmp QWORD PTR object$[rbp], 0 00058 75 1b jne SHORT $LN3@glfwGetCli ; 2351 : { ; 2352 : _glfwInputErrorWin32(GLFW_FORMAT_UNAVAILABLE, 0005a 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CN@FGAGPCCP@Win32?3?5Failed?5to?5convert?5clipbo@ 00061 b9 09 00 01 00 mov ecx, 65545 ; 00010009H 00066 e8 00 00 00 00 call _glfwInputErrorWin32 ; 2353 : "Win32: Failed to convert clipboard to string"); ; 2354 : CloseClipboard(); 0006b ff 15 00 00 00 00 call QWORD PTR __imp_CloseClipboard ; 2355 : return NULL; 00071 33 c0 xor eax, eax 00073 eb 63 jmp SHORT $LN1@glfwGetCli $LN3@glfwGetCli: ; 2356 : } ; 2357 : ; 2358 : buffer = GlobalLock(object); 00075 48 8b 4d 08 mov rcx, QWORD PTR object$[rbp] 00079 ff 15 00 00 00 00 call QWORD PTR __imp_GlobalLock 0007f 48 89 45 28 mov QWORD PTR buffer$[rbp], rax ; 2359 : if (!buffer) 00083 48 83 7d 28 00 cmp QWORD PTR buffer$[rbp], 0 00088 75 1b jne SHORT $LN4@glfwGetCli ; 2360 : { ; 2361 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 0008a 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CE@OHDHEPIL@Win32?3?5Failed?5to?5lock?5global?5ha@ 00091 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00096 e8 00 00 00 00 call _glfwInputErrorWin32 ; 2362 : "Win32: Failed to lock global handle"); ; 2363 : CloseClipboard(); 0009b ff 15 00 00 00 00 call QWORD PTR __imp_CloseClipboard ; 2364 : return NULL; 000a1 33 c0 xor eax, eax 000a3 eb 33 jmp SHORT $LN1@glfwGetCli $LN4@glfwGetCli: ; 2365 : } ; 2366 : ; 2367 : _glfw_free(_glfw.win32.clipboardString); 000a5 48 8b 0d a0 1b 00 00 mov rcx, QWORD PTR _glfw+7072 000ac e8 00 00 00 00 call _glfw_free ; 2368 : _glfw.win32.clipboardString = _glfwCreateUTF8FromWideStringWin32(buffer); 000b1 48 8b 4d 28 mov rcx, QWORD PTR buffer$[rbp] 000b5 e8 00 00 00 00 call _glfwCreateUTF8FromWideStringWin32 000ba 48 89 05 a0 1b 00 00 mov QWORD PTR _glfw+7072, rax ; 2369 : ; 2370 : GlobalUnlock(object); 000c1 48 8b 4d 08 mov rcx, QWORD PTR object$[rbp] 000c5 ff 15 00 00 00 00 call QWORD PTR __imp_GlobalUnlock ; 2371 : CloseClipboard(); 000cb ff 15 00 00 00 00 call QWORD PTR __imp_CloseClipboard ; 2372 : ; 2373 : return _glfw.win32.clipboardString; 000d1 48 8b 05 a0 1b 00 00 mov rax, QWORD PTR _glfw+7072 $LN1@glfwGetCli: ; 2374 : } 000d8 48 8d a5 08 01 00 00 lea rsp, QWORD PTR [rbp+264] 000df 5f pop rdi 000e0 5d pop rbp 000e1 c3 ret 0 _glfwGetClipboardStringWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetClipboardStringWin32 _TEXT SEGMENT characterCount$ = 4 object$ = 40 buffer$ = 72 string$ = 320 _glfwSetClipboardStringWin32 PROC ; COMDAT ; 2295 : { $LN7: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 58 01 00 00 sub rsp, 344 ; 00000158H 0000e 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2296 : int characterCount; ; 2297 : HANDLE object; ; 2298 : WCHAR* buffer; ; 2299 : ; 2300 : characterCount = MultiByteToWideChar(CP_UTF8, 0, string, -1, NULL, 0); 0001f c7 44 24 28 00 00 00 00 mov DWORD PTR [rsp+40], 0 00027 48 c7 44 24 20 00 00 00 00 mov QWORD PTR [rsp+32], 0 00030 41 b9 ff ff ff ff mov r9d, -1 00036 4c 8b 85 40 01 00 00 mov r8, QWORD PTR string$[rbp] 0003d 33 d2 xor edx, edx 0003f b9 e9 fd 00 00 mov ecx, 65001 ; 0000fde9H 00044 ff 15 00 00 00 00 call QWORD PTR __imp_MultiByteToWideChar 0004a 89 45 04 mov DWORD PTR characterCount$[rbp], eax ; 2301 : if (!characterCount) 0004d 83 7d 04 00 cmp DWORD PTR characterCount$[rbp], 0 00051 75 05 jne SHORT $LN2@glfwSetCli ; 2302 : return; 00053 e9 e5 00 00 00 jmp $LN1@glfwSetCli $LN2@glfwSetCli: ; 2303 : ; 2304 : object = GlobalAlloc(GMEM_MOVEABLE, characterCount * sizeof(WCHAR)); 00058 48 63 45 04 movsxd rax, DWORD PTR characterCount$[rbp] 0005c 48 d1 e0 shl rax, 1 0005f 48 8b d0 mov rdx, rax 00062 b9 02 00 00 00 mov ecx, 2 00067 ff 15 00 00 00 00 call QWORD PTR __imp_GlobalAlloc 0006d 48 89 45 28 mov QWORD PTR object$[rbp], rax ; 2305 : if (!object) 00071 48 83 7d 28 00 cmp QWORD PTR object$[rbp], 0 00076 75 16 jne SHORT $LN3@glfwSetCli ; 2306 : { ; 2307 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00078 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DG@CGDLBFFB@Win32?3?5Failed?5to?5allocate?5globa@ 0007f b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00084 e8 00 00 00 00 call _glfwInputErrorWin32 ; 2308 : "Win32: Failed to allocate global handle for clipboard"); ; 2309 : return; 00089 e9 af 00 00 00 jmp $LN1@glfwSetCli $LN3@glfwSetCli: ; 2310 : } ; 2311 : ; 2312 : buffer = GlobalLock(object); 0008e 48 8b 4d 28 mov rcx, QWORD PTR object$[rbp] 00092 ff 15 00 00 00 00 call QWORD PTR __imp_GlobalLock 00098 48 89 45 48 mov QWORD PTR buffer$[rbp], rax ; 2313 : if (!buffer) 0009c 48 83 7d 48 00 cmp QWORD PTR buffer$[rbp], 0 000a1 75 1d jne SHORT $LN4@glfwSetCli ; 2314 : { ; 2315 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 000a3 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CE@OHDHEPIL@Win32?3?5Failed?5to?5lock?5global?5ha@ 000aa b9 08 00 01 00 mov ecx, 65544 ; 00010008H 000af e8 00 00 00 00 call _glfwInputErrorWin32 ; 2316 : "Win32: Failed to lock global handle"); ; 2317 : GlobalFree(object); 000b4 48 8b 4d 28 mov rcx, QWORD PTR object$[rbp] 000b8 ff 15 00 00 00 00 call QWORD PTR __imp_GlobalFree ; 2318 : return; 000be eb 7d jmp SHORT $LN1@glfwSetCli $LN4@glfwSetCli: ; 2319 : } ; 2320 : ; 2321 : MultiByteToWideChar(CP_UTF8, 0, string, -1, buffer, characterCount); 000c0 8b 45 04 mov eax, DWORD PTR characterCount$[rbp] 000c3 89 44 24 28 mov DWORD PTR [rsp+40], eax 000c7 48 8b 45 48 mov rax, QWORD PTR buffer$[rbp] 000cb 48 89 44 24 20 mov QWORD PTR [rsp+32], rax 000d0 41 b9 ff ff ff ff mov r9d, -1 000d6 4c 8b 85 40 01 00 00 mov r8, QWORD PTR string$[rbp] 000dd 33 d2 xor edx, edx 000df b9 e9 fd 00 00 mov ecx, 65001 ; 0000fde9H 000e4 ff 15 00 00 00 00 call QWORD PTR __imp_MultiByteToWideChar ; 2322 : GlobalUnlock(object); 000ea 48 8b 4d 28 mov rcx, QWORD PTR object$[rbp] 000ee ff 15 00 00 00 00 call QWORD PTR __imp_GlobalUnlock ; 2323 : ; 2324 : if (!OpenClipboard(_glfw.win32.helperWindowHandle)) 000f4 48 8b 0d 80 1b 00 00 mov rcx, QWORD PTR _glfw+7040 000fb ff 15 00 00 00 00 call QWORD PTR __imp_OpenClipboard 00101 85 c0 test eax, eax 00103 75 1d jne SHORT $LN5@glfwSetCli ; 2325 : { ; 2326 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00105 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CA@FNCFBEIG@Win32?3?5Failed?5to?5open?5clipboard@ 0010c b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00111 e8 00 00 00 00 call _glfwInputErrorWin32 ; 2327 : "Win32: Failed to open clipboard"); ; 2328 : GlobalFree(object); 00116 48 8b 4d 28 mov rcx, QWORD PTR object$[rbp] 0011a ff 15 00 00 00 00 call QWORD PTR __imp_GlobalFree ; 2329 : return; 00120 eb 1b jmp SHORT $LN1@glfwSetCli $LN5@glfwSetCli: ; 2330 : } ; 2331 : ; 2332 : EmptyClipboard(); 00122 ff 15 00 00 00 00 call QWORD PTR __imp_EmptyClipboard ; 2333 : SetClipboardData(CF_UNICODETEXT, object); 00128 48 8b 55 28 mov rdx, QWORD PTR object$[rbp] 0012c b9 0d 00 00 00 mov ecx, 13 00131 ff 15 00 00 00 00 call QWORD PTR __imp_SetClipboardData ; 2334 : CloseClipboard(); 00137 ff 15 00 00 00 00 call QWORD PTR __imp_CloseClipboard $LN1@glfwSetCli: ; 2335 : } 0013d 48 8d a5 28 01 00 00 lea rsp, QWORD PTR [rbp+296] 00144 5f pop rdi 00145 5d pop rbp 00146 c3 ret 0 _glfwSetClipboardStringWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetCursorWin32 _TEXT SEGMENT window$ = 224 cursor$ = 232 _glfwSetCursorWin32 PROC ; COMDAT ; 2289 : { $LN4: 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a 55 push rbp 0000b 57 push rdi 0000c 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00018 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2290 : if (cursorInContentArea(window)) 00024 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 0002b e8 00 00 00 00 call cursorInContentArea 00030 85 c0 test eax, eax 00032 74 0c je SHORT $LN2@glfwSetCur ; 2291 : updateCursorImage(window); 00034 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 0003b e8 00 00 00 00 call updateCursorImage $LN2@glfwSetCur: ; 2292 : } 00040 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00047 5f pop rdi 00048 5d pop rbp 00049 c3 ret 0 _glfwSetCursorWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwDestroyCursorWin32 _TEXT SEGMENT cursor$ = 224 _glfwDestroyCursorWin32 PROC ; COMDAT ; 2283 : { $LN4: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2284 : if (cursor->win32.handle) 0001f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR cursor$[rbp] 00026 48 83 78 08 00 cmp QWORD PTR [rax+8], 0 0002b 74 11 je SHORT $LN2@glfwDestro ; 2285 : DestroyIcon((HICON) cursor->win32.handle); 0002d 48 8b 85 e0 00 00 00 mov rax, QWORD PTR cursor$[rbp] 00034 48 8b 48 08 mov rcx, QWORD PTR [rax+8] 00038 ff 15 00 00 00 00 call QWORD PTR __imp_DestroyIcon $LN2@glfwDestro: ; 2286 : } 0003e 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00045 5f pop rdi 00046 5d pop rbp 00047 c3 ret 0 _glfwDestroyCursorWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwCreateStandardCursorWin32 _TEXT SEGMENT id$ = 4 tv64 = 212 cursor$ = 256 shape$ = 264 _glfwCreateStandardCursorWin32 PROC ; COMDAT ; 2229 : { $LN18: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 55 push rbp 0000a 57 push rdi 0000b 48 81 ec 18 01 00 00 sub rsp, 280 ; 00000118H 00012 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] 00017 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2230 : int id = 0; 00023 c7 45 04 00 00 00 00 mov DWORD PTR id$[rbp], 0 ; 2231 : ; 2232 : switch (shape) 0002a 8b 85 08 01 00 00 mov eax, DWORD PTR shape$[rbp] 00030 89 85 d4 00 00 00 mov DWORD PTR tv64[rbp], eax 00036 8b 85 d4 00 00 00 mov eax, DWORD PTR tv64[rbp] 0003c 2d 01 60 03 00 sub eax, 221185 ; 00036001H 00041 89 85 d4 00 00 00 mov DWORD PTR tv64[rbp], eax 00047 83 bd d4 00 00 00 09 cmp DWORD PTR tv64[rbp], 9 0004e 77 74 ja SHORT $LN14@glfwCreate 00050 48 63 85 d4 00 00 00 movsxd rax, DWORD PTR tv64[rbp] 00057 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__ImageBase 0005e 8b 84 81 00 00 00 00 mov eax, DWORD PTR $LN17@glfwCreate[rcx+rax*4] 00065 48 03 c1 add rax, rcx 00068 ff e0 jmp rax $LN4@glfwCreate: ; 2233 : { ; 2234 : case GLFW_ARROW_CURSOR: ; 2235 : id = OCR_NORMAL; 0006a c7 45 04 00 7f 00 00 mov DWORD PTR id$[rbp], 32512 ; 00007f00H ; 2236 : break; 00071 eb 66 jmp SHORT $LN2@glfwCreate $LN5@glfwCreate: ; 2237 : case GLFW_IBEAM_CURSOR: ; 2238 : id = OCR_IBEAM; 00073 c7 45 04 01 7f 00 00 mov DWORD PTR id$[rbp], 32513 ; 00007f01H ; 2239 : break; 0007a eb 5d jmp SHORT $LN2@glfwCreate $LN6@glfwCreate: ; 2240 : case GLFW_CROSSHAIR_CURSOR: ; 2241 : id = OCR_CROSS; 0007c c7 45 04 03 7f 00 00 mov DWORD PTR id$[rbp], 32515 ; 00007f03H ; 2242 : break; 00083 eb 54 jmp SHORT $LN2@glfwCreate $LN7@glfwCreate: ; 2243 : case GLFW_POINTING_HAND_CURSOR: ; 2244 : id = OCR_HAND; 00085 c7 45 04 89 7f 00 00 mov DWORD PTR id$[rbp], 32649 ; 00007f89H ; 2245 : break; 0008c eb 4b jmp SHORT $LN2@glfwCreate $LN8@glfwCreate: ; 2246 : case GLFW_RESIZE_EW_CURSOR: ; 2247 : id = OCR_SIZEWE; 0008e c7 45 04 84 7f 00 00 mov DWORD PTR id$[rbp], 32644 ; 00007f84H ; 2248 : break; 00095 eb 42 jmp SHORT $LN2@glfwCreate $LN9@glfwCreate: ; 2249 : case GLFW_RESIZE_NS_CURSOR: ; 2250 : id = OCR_SIZENS; 00097 c7 45 04 85 7f 00 00 mov DWORD PTR id$[rbp], 32645 ; 00007f85H ; 2251 : break; 0009e eb 39 jmp SHORT $LN2@glfwCreate $LN10@glfwCreate: ; 2252 : case GLFW_RESIZE_NWSE_CURSOR: ; 2253 : id = OCR_SIZENWSE; 000a0 c7 45 04 82 7f 00 00 mov DWORD PTR id$[rbp], 32642 ; 00007f82H ; 2254 : break; 000a7 eb 30 jmp SHORT $LN2@glfwCreate $LN11@glfwCreate: ; 2255 : case GLFW_RESIZE_NESW_CURSOR: ; 2256 : id = OCR_SIZENESW; 000a9 c7 45 04 83 7f 00 00 mov DWORD PTR id$[rbp], 32643 ; 00007f83H ; 2257 : break; 000b0 eb 27 jmp SHORT $LN2@glfwCreate $LN12@glfwCreate: ; 2258 : case GLFW_RESIZE_ALL_CURSOR: ; 2259 : id = OCR_SIZEALL; 000b2 c7 45 04 86 7f 00 00 mov DWORD PTR id$[rbp], 32646 ; 00007f86H ; 2260 : break; 000b9 eb 1e jmp SHORT $LN2@glfwCreate $LN13@glfwCreate: ; 2261 : case GLFW_NOT_ALLOWED_CURSOR: ; 2262 : id = OCR_NO; 000bb c7 45 04 88 7f 00 00 mov DWORD PTR id$[rbp], 32648 ; 00007f88H ; 2263 : break; 000c2 eb 15 jmp SHORT $LN2@glfwCreate $LN14@glfwCreate: ; 2264 : default: ; 2265 : _glfwInputError(GLFW_PLATFORM_ERROR, "Win32: Unknown standard cursor"); 000c4 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BP@KPGBLOB@Win32?3?5Unknown?5standard?5cursor@ 000cb b9 08 00 01 00 mov ecx, 65544 ; 00010008H 000d0 e8 00 00 00 00 call _glfwInputError ; 2266 : return GLFW_FALSE; 000d5 33 c0 xor eax, eax 000d7 eb 5a jmp SHORT $LN1@glfwCreate $LN2@glfwCreate: ; 2267 : } ; 2268 : ; 2269 : cursor->win32.handle = LoadImageW(NULL, 000d9 0f b7 45 04 movzx eax, WORD PTR id$[rbp] 000dd c7 44 24 28 40 80 00 00 mov DWORD PTR [rsp+40], 32832 ; 00008040H 000e5 c7 44 24 20 00 00 00 00 mov DWORD PTR [rsp+32], 0 000ed 45 33 c9 xor r9d, r9d 000f0 41 b8 02 00 00 00 mov r8d, 2 000f6 8b d0 mov edx, eax 000f8 33 c9 xor ecx, ecx 000fa ff 15 00 00 00 00 call QWORD PTR __imp_LoadImageW 00100 48 8b 8d 00 01 00 00 mov rcx, QWORD PTR cursor$[rbp] 00107 48 89 41 08 mov QWORD PTR [rcx+8], rax ; 2270 : MAKEINTRESOURCEW(id), IMAGE_CURSOR, 0, 0, ; 2271 : LR_DEFAULTSIZE | LR_SHARED); ; 2272 : if (!cursor->win32.handle) 0010b 48 8b 85 00 01 00 00 mov rax, QWORD PTR cursor$[rbp] 00112 48 83 78 08 00 cmp QWORD PTR [rax+8], 0 00117 75 15 jne SHORT $LN15@glfwCreate ; 2273 : { ; 2274 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00119 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CI@LDEHPBDB@Win32?3?5Failed?5to?5create?5standar@ 00120 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00125 e8 00 00 00 00 call _glfwInputErrorWin32 ; 2275 : "Win32: Failed to create standard cursor"); ; 2276 : return GLFW_FALSE; 0012a 33 c0 xor eax, eax 0012c eb 05 jmp SHORT $LN1@glfwCreate $LN15@glfwCreate: ; 2277 : } ; 2278 : ; 2279 : return GLFW_TRUE; 0012e b8 01 00 00 00 mov eax, 1 $LN1@glfwCreate: ; 2280 : } 00133 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 0013a 5f pop rdi 0013b 5d pop rbp 0013c c3 ret 0 0013d 0f 1f 00 npad 3 $LN17@glfwCreate: 00140 00 00 00 00 DD $LN4@glfwCreate 00144 00 00 00 00 DD $LN5@glfwCreate 00148 00 00 00 00 DD $LN6@glfwCreate 0014c 00 00 00 00 DD $LN7@glfwCreate 00150 00 00 00 00 DD $LN8@glfwCreate 00154 00 00 00 00 DD $LN9@glfwCreate 00158 00 00 00 00 DD $LN10@glfwCreate 0015c 00 00 00 00 DD $LN11@glfwCreate 00160 00 00 00 00 DD $LN12@glfwCreate 00164 00 00 00 00 DD $LN13@glfwCreate _glfwCreateStandardCursorWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwCreateCursorWin32 _TEXT SEGMENT cursor$ = 224 image$ = 232 xhot$ = 240 yhot$ = 248 _glfwCreateCursorWin32 PROC ; COMDAT ; 2220 : { $LN4: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 55 push rbp 00015 57 push rdi 00016 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00022 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2221 : cursor->win32.handle = (HCURSOR) createIcon(image, xhot, yhot, GLFW_FALSE); 0002e 45 33 c9 xor r9d, r9d 00031 44 8b 85 f8 00 00 00 mov r8d, DWORD PTR yhot$[rbp] 00038 8b 95 f0 00 00 00 mov edx, DWORD PTR xhot$[rbp] 0003e 48 8b 8d e8 00 00 00 mov rcx, QWORD PTR image$[rbp] 00045 e8 00 00 00 00 call createIcon 0004a 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR cursor$[rbp] 00051 48 89 41 08 mov QWORD PTR [rcx+8], rax ; 2222 : if (!cursor->win32.handle) 00055 48 8b 85 e0 00 00 00 mov rax, QWORD PTR cursor$[rbp] 0005c 48 83 78 08 00 cmp QWORD PTR [rax+8], 0 00061 75 04 jne SHORT $LN2@glfwCreate ; 2223 : return GLFW_FALSE; 00063 33 c0 xor eax, eax 00065 eb 05 jmp SHORT $LN1@glfwCreate $LN2@glfwCreate: ; 2224 : ; 2225 : return GLFW_TRUE; 00067 b8 01 00 00 00 mov eax, 1 $LN1@glfwCreate: ; 2226 : } 0006c 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00073 5f pop rdi 00074 5d pop rbp 00075 c3 ret 0 _glfwCreateCursorWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetKeyScancodeWin32 _TEXT SEGMENT key$ = 224 _glfwGetKeyScancodeWin32 PROC ; COMDAT ; 2213 : { $LN3: 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00004 55 push rbp 00005 57 push rdi 00006 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00012 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2214 : return _glfw.win32.scancodes[key]; 0001e 48 63 85 e0 00 00 00 movsxd rax, DWORD PTR key$[rbp] 00025 48 8d 0d a8 1f 00 00 lea rcx, OFFSET FLAT:_glfw+8104 0002c 0f bf 04 41 movsx eax, WORD PTR [rcx+rax*2] ; 2215 : } 00030 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00037 5f pop rdi 00038 5d pop rbp 00039 c3 ret 0 _glfwGetKeyScancodeWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetScancodeNameWin32 _TEXT SEGMENT scancode$ = 224 _glfwGetScancodeNameWin32 PROC ; COMDAT ; 2201 : { $LN5: 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00004 55 push rbp 00005 57 push rdi 00006 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00012 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2202 : if (scancode < 0 || scancode > (KF_EXTENDED | 0xff) || 0001e 83 bd e0 00 00 00 00 cmp DWORD PTR scancode$[rbp], 0 00025 7c 23 jl SHORT $LN3@glfwGetSca 00027 81 bd e0 00 00 00 ff 01 00 00 cmp DWORD PTR scancode$[rbp], 511 ; 000001ffH 00031 7f 17 jg SHORT $LN3@glfwGetSca 00033 48 63 85 e0 00 00 00 movsxd rax, DWORD PTR scancode$[rbp] 0003a 48 8d 0d a8 1b 00 00 lea rcx, OFFSET FLAT:_glfw+7080 00041 0f bf 04 41 movsx eax, WORD PTR [rcx+rax*2] 00045 83 f8 ff cmp eax, -1 00048 75 1c jne SHORT $LN2@glfwGetSca $LN3@glfwGetSca: ; 2203 : _glfw.win32.keycodes[scancode] == GLFW_KEY_UNKNOWN) ; 2204 : { ; 2205 : _glfwInputError(GLFW_INVALID_VALUE, "Invalid scancode %i", scancode); 0004a 44 8b 85 e0 00 00 00 mov r8d, DWORD PTR scancode$[rbp] 00051 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BE@IGCIBFAF@Invalid?5scancode?5?$CFi@ 00058 b9 04 00 01 00 mov ecx, 65540 ; 00010004H 0005d e8 00 00 00 00 call _glfwInputError ; 2206 : return NULL; 00062 33 c0 xor eax, eax 00064 eb 24 jmp SHORT $LN1@glfwGetSca $LN2@glfwGetSca: ; 2207 : } ; 2208 : ; 2209 : return _glfw.win32.keynames[_glfw.win32.keycodes[scancode]]; 00066 48 63 85 e0 00 00 00 movsxd rax, DWORD PTR scancode$[rbp] 0006d 48 8d 0d a8 1b 00 00 lea rcx, OFFSET FLAT:_glfw+7080 00074 48 0f bf 04 41 movsx rax, WORD PTR [rcx+rax*2] 00079 48 6b c0 05 imul rax, rax, 5 0007d 48 8d 0d 62 22 00 00 lea rcx, OFFSET FLAT:_glfw+8802 00084 48 03 c8 add rcx, rax 00087 48 8b c1 mov rax, rcx $LN1@glfwGetSca: ; 2210 : } 0008a 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00091 5f pop rdi 00092 5d pop rbp 00093 c3 ret 0 _glfwGetScancodeNameWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetCursorModeWin32 _TEXT SEGMENT window$ = 224 mode$ = 232 _glfwSetCursorModeWin32 PROC ; COMDAT ; 2162 : { $LN16: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 55 push rbp 0000a 57 push rdi 0000b 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00017 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2163 : if (_glfwWindowFocusedWin32(window)) 00023 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 0002a e8 00 00 00 00 call _glfwWindowFocusedWin32 0002f 85 c0 test eax, eax 00031 0f 84 fa 00 00 00 je $LN2@glfwSetCur ; 2164 : { ; 2165 : if (mode == GLFW_CURSOR_DISABLED) 00037 81 bd e8 00 00 00 03 40 03 00 cmp DWORD PTR mode$[rbp], 212995 ; 00034003H 00041 75 44 jne SHORT $LN3@glfwSetCur ; 2166 : { ; 2167 : _glfwGetCursorPosWin32(window, 00043 4c 8d 05 40 29 00 00 lea r8, OFFSET FLAT:_glfw+10560 0004a 48 8d 15 38 29 00 00 lea rdx, OFFSET FLAT:_glfw+10552 00051 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00058 e8 00 00 00 00 call _glfwGetCursorPosWin32 ; 2168 : &_glfw.win32.restoreCursorPosX, ; 2169 : &_glfw.win32.restoreCursorPosY); ; 2170 : _glfwCenterCursorInContentArea(window); 0005d 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00064 e8 00 00 00 00 call _glfwCenterCursorInContentArea ; 2171 : if (window->rawMouseMotion) 00069 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00070 83 b8 00 02 00 00 00 cmp DWORD PTR [rax+512], 0 00077 74 0c je SHORT $LN5@glfwSetCur ; 2172 : enableRawMouseMotion(window); 00079 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00080 e8 00 00 00 00 call enableRawMouseMotion $LN5@glfwSetCur: ; 2173 : } 00085 eb 2c jmp SHORT $LN4@glfwSetCur $LN3@glfwSetCur: ; 2174 : else if (_glfw.win32.disabledCursorWindow == window) 00087 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0008e 48 39 05 48 29 00 00 cmp QWORD PTR _glfw+10568, rax 00095 75 1c jne SHORT $LN6@glfwSetCur ; 2175 : { ; 2176 : if (window->rawMouseMotion) 00097 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0009e 83 b8 00 02 00 00 00 cmp DWORD PTR [rax+512], 0 000a5 74 0c je SHORT $LN7@glfwSetCur ; 2177 : disableRawMouseMotion(window); 000a7 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 000ae e8 00 00 00 00 call disableRawMouseMotion $LN7@glfwSetCur: $LN6@glfwSetCur: $LN4@glfwSetCur: ; 2178 : } ; 2179 : ; 2180 : if (mode == GLFW_CURSOR_DISABLED || mode == GLFW_CURSOR_CAPTURED) 000b3 81 bd e8 00 00 00 03 40 03 00 cmp DWORD PTR mode$[rbp], 212995 ; 00034003H 000bd 74 0c je SHORT $LN10@glfwSetCur 000bf 81 bd e8 00 00 00 04 40 03 00 cmp DWORD PTR mode$[rbp], 212996 ; 00034004H 000c9 75 0e jne SHORT $LN8@glfwSetCur $LN10@glfwSetCur: ; 2181 : captureCursor(window); 000cb 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 000d2 e8 00 00 00 00 call captureCursor 000d7 eb 05 jmp SHORT $LN9@glfwSetCur $LN8@glfwSetCur: ; 2182 : else ; 2183 : releaseCursor(); 000d9 e8 00 00 00 00 call releaseCursor $LN9@glfwSetCur: ; 2184 : ; 2185 : if (mode == GLFW_CURSOR_DISABLED) 000de 81 bd e8 00 00 00 03 40 03 00 cmp DWORD PTR mode$[rbp], 212995 ; 00034003H 000e8 75 10 jne SHORT $LN11@glfwSetCur ; 2186 : _glfw.win32.disabledCursorWindow = window; 000ea 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 000f1 48 89 05 48 29 00 00 mov QWORD PTR _glfw+10568, rax 000f8 eb 37 jmp SHORT $LN12@glfwSetCur $LN11@glfwSetCur: ; 2187 : else if (_glfw.win32.disabledCursorWindow == window) 000fa 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00101 48 39 05 48 29 00 00 cmp QWORD PTR _glfw+10568, rax 00108 75 27 jne SHORT $LN13@glfwSetCur ; 2188 : { ; 2189 : _glfw.win32.disabledCursorWindow = NULL; 0010a 48 c7 05 48 29 00 00 00 00 00 00 mov QWORD PTR _glfw+10568, 0 ; 2190 : _glfwSetCursorPosWin32(window, 00115 f2 0f 10 15 40 29 00 00 movsd xmm2, QWORD PTR _glfw+10560 0011d f2 0f 10 0d 38 29 00 00 movsd xmm1, QWORD PTR _glfw+10552 00125 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 0012c e8 00 00 00 00 call _glfwSetCursorPosWin32 $LN13@glfwSetCur: $LN12@glfwSetCur: $LN2@glfwSetCur: ; 2191 : _glfw.win32.restoreCursorPosX, ; 2192 : _glfw.win32.restoreCursorPosY); ; 2193 : } ; 2194 : } ; 2195 : ; 2196 : if (cursorInContentArea(window)) 00131 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00138 e8 00 00 00 00 call cursorInContentArea 0013d 85 c0 test eax, eax 0013f 74 0c je SHORT $LN14@glfwSetCur ; 2197 : updateCursorImage(window); 00141 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00148 e8 00 00 00 00 call updateCursorImage $LN14@glfwSetCur: ; 2198 : } 0014d 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00154 5f pop rdi 00155 5d pop rbp 00156 c3 ret 0 _glfwSetCursorModeWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetCursorPosWin32 _TEXT SEGMENT pos$ = 8 __$ArrayPad$ = 216 window$ = 256 xpos$ = 264 ypos$ = 272 _glfwSetCursorPosWin32 PROC ; COMDAT ; 2150 : { $LN3: 00000 f2 0f 11 54 24 18 movsd QWORD PTR [rsp+24], xmm2 00006 f2 0f 11 4c 24 10 movsd QWORD PTR [rsp+16], xmm1 0000c 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00011 55 push rbp 00012 57 push rdi 00013 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 0001a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0001f 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00024 b9 0a 00 00 00 mov ecx, 10 00029 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002e f3 ab rep stosd 00030 48 8b 8c 24 28 01 00 00 mov rcx, QWORD PTR [rsp+296] 00038 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0003f 48 33 c5 xor rax, rbp 00042 48 89 85 d8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00049 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00050 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2151 : POINT pos = { (int) xpos, (int) ypos }; 00055 f2 0f 2c 85 08 01 00 00 cvttsd2si eax, QWORD PTR xpos$[rbp] 0005d 89 45 08 mov DWORD PTR pos$[rbp], eax 00060 f2 0f 2c 85 10 01 00 00 cvttsd2si eax, QWORD PTR ypos$[rbp] 00068 89 45 0c mov DWORD PTR pos$[rbp+4], eax ; 2152 : ; 2153 : // Store the new position so it can be recognized later ; 2154 : window->win32.lastCursorPosX = pos.x; 0006b 48 8b 85 00 01 00 00 mov rax, QWORD PTR window$[rbp] 00072 8b 4d 08 mov ecx, DWORD PTR pos$[rbp] 00075 89 88 94 03 00 00 mov DWORD PTR [rax+916], ecx ; 2155 : window->win32.lastCursorPosY = pos.y; 0007b 48 8b 85 00 01 00 00 mov rax, QWORD PTR window$[rbp] 00082 8b 4d 0c mov ecx, DWORD PTR pos$[rbp+4] 00085 89 88 98 03 00 00 mov DWORD PTR [rax+920], ecx ; 2156 : ; 2157 : ClientToScreen(window->win32.handle, &pos); 0008b 48 8d 55 08 lea rdx, QWORD PTR pos$[rbp] 0008f 48 8b 85 00 01 00 00 mov rax, QWORD PTR window$[rbp] 00096 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0009d ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 2158 : SetCursorPos(pos.x, pos.y); 000a3 8b 55 0c mov edx, DWORD PTR pos$[rbp+4] 000a6 8b 4d 08 mov ecx, DWORD PTR pos$[rbp] 000a9 ff 15 00 00 00 00 call QWORD PTR __imp_SetCursorPos ; 2159 : } 000af 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 000b3 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwSetCursorPosWin32$rtcFrameData 000ba e8 00 00 00 00 call _RTC_CheckStackVars 000bf 48 8b 8d d8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000c6 48 33 cd xor rcx, rbp 000c9 e8 00 00 00 00 call __security_check_cookie 000ce 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 000d5 5f pop rdi 000d6 5d pop rbp 000d7 c3 ret 0 _glfwSetCursorPosWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetCursorPosWin32 _TEXT SEGMENT pos$ = 8 __$ArrayPad$ = 216 window$ = 256 xpos$ = 264 ypos$ = 272 _glfwGetCursorPosWin32 PROC ; COMDAT ; 2135 : { $LN6: 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 55 push rbp 00010 57 push rdi 00011 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0001d 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00022 b9 0a 00 00 00 mov ecx, 10 00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002c f3 ab rep stosd 0002e 48 8b 8c 24 28 01 00 00 mov rcx, QWORD PTR [rsp+296] 00036 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0003d 48 33 c5 xor rax, rbp 00040 48 89 85 d8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00047 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2136 : POINT pos; ; 2137 : ; 2138 : if (GetCursorPos(&pos)) 00053 48 8d 4d 08 lea rcx, QWORD PTR pos$[rbp] 00057 ff 15 00 00 00 00 call QWORD PTR __imp_GetCursorPos 0005d 85 c0 test eax, eax 0005f 74 4c je SHORT $LN2@glfwGetCur ; 2139 : { ; 2140 : ScreenToClient(window->win32.handle, &pos); 00061 48 8d 55 08 lea rdx, QWORD PTR pos$[rbp] 00065 48 8b 85 00 01 00 00 mov rax, QWORD PTR window$[rbp] 0006c 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00073 ff 15 00 00 00 00 call QWORD PTR __imp_ScreenToClient ; 2141 : ; 2142 : if (xpos) 00079 48 83 bd 08 01 00 00 00 cmp QWORD PTR xpos$[rbp], 0 00081 74 10 je SHORT $LN3@glfwGetCur ; 2143 : *xpos = pos.x; 00083 f2 0f 2a 45 08 cvtsi2sd xmm0, DWORD PTR pos$[rbp] 00088 48 8b 85 08 01 00 00 mov rax, QWORD PTR xpos$[rbp] 0008f f2 0f 11 00 movsd QWORD PTR [rax], xmm0 $LN3@glfwGetCur: ; 2144 : if (ypos) 00093 48 83 bd 10 01 00 00 00 cmp QWORD PTR ypos$[rbp], 0 0009b 74 10 je SHORT $LN4@glfwGetCur ; 2145 : *ypos = pos.y; 0009d f2 0f 2a 45 0c cvtsi2sd xmm0, DWORD PTR pos$[rbp+4] 000a2 48 8b 85 10 01 00 00 mov rax, QWORD PTR ypos$[rbp] 000a9 f2 0f 11 00 movsd QWORD PTR [rax], xmm0 $LN4@glfwGetCur: $LN2@glfwGetCur: ; 2146 : } ; 2147 : } 000ad 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 000b1 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwGetCursorPosWin32$rtcFrameData 000b8 e8 00 00 00 00 call _RTC_CheckStackVars 000bd 48 8b 8d d8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000c4 48 33 cd xor rcx, rbp 000c7 e8 00 00 00 00 call __security_check_cookie 000cc 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 000d3 5f pop rdi 000d4 5d pop rbp 000d5 c3 ret 0 _glfwGetCursorPosWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwPostEmptyEventWin32 _TEXT SEGMENT _glfwPostEmptyEventWin32 PROC ; COMDAT ; 2130 : { $LN3: 00000 40 55 push rbp 00002 57 push rdi 00003 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0000f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2131 : PostMessageW(_glfw.win32.helperWindowHandle, WM_NULL, 0, 0); 0001b 45 33 c9 xor r9d, r9d 0001e 45 33 c0 xor r8d, r8d 00021 33 d2 xor edx, edx 00023 48 8b 0d 80 1b 00 00 mov rcx, QWORD PTR _glfw+7040 0002a ff 15 00 00 00 00 call QWORD PTR __imp_PostMessageW ; 2132 : } 00030 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00037 5f pop rdi 00038 5d pop rbp 00039 c3 ret 0 _glfwPostEmptyEventWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWaitEventsTimeoutWin32 _TEXT SEGMENT timeout$ = 224 _glfwWaitEventsTimeoutWin32 PROC ; COMDAT ; 2123 : { $LN3: 00000 f2 0f 11 44 24 08 movsd QWORD PTR [rsp+8], xmm0 00006 55 push rbp 00007 57 push rdi 00008 48 81 ec f8 00 00 00 sub rsp, 248 ; 000000f8H 0000f 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] 00014 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001b e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2124 : MsgWaitForMultipleObjects(0, NULL, FALSE, (DWORD) (timeout * 1e3), QS_ALLEVENTS); 00020 f2 0f 10 85 e0 00 00 00 movsd xmm0, QWORD PTR timeout$[rbp] 00028 f2 0f 59 05 00 00 00 00 mulsd xmm0, QWORD PTR __real@408f400000000000 00030 f2 48 0f 2c c0 cvttsd2si rax, xmm0 00035 c7 44 24 20 bf 04 00 00 mov DWORD PTR [rsp+32], 1215 ; 000004bfH 0003d 44 8b c8 mov r9d, eax 00040 45 33 c0 xor r8d, r8d 00043 33 d2 xor edx, edx 00045 33 c9 xor ecx, ecx 00047 ff 15 00 00 00 00 call QWORD PTR __imp_MsgWaitForMultipleObjects ; 2125 : ; 2126 : _glfwPollEventsWin32(); 0004d e8 00 00 00 00 call _glfwPollEventsWin32 ; 2127 : } 00052 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00059 5f pop rdi 0005a 5d pop rbp 0005b c3 ret 0 _glfwWaitEventsTimeoutWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWaitEventsWin32 _TEXT SEGMENT _glfwWaitEventsWin32 PROC ; COMDAT ; 2116 : { $LN3: 00000 40 55 push rbp 00002 57 push rdi 00003 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0000f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2117 : WaitMessage(); 0001b ff 15 00 00 00 00 call QWORD PTR __imp_WaitMessage ; 2118 : ; 2119 : _glfwPollEventsWin32(); 00021 e8 00 00 00 00 call _glfwPollEventsWin32 ; 2120 : } 00026 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0002d 5f pop rdi 0002e 5d pop rbp 0002f c3 ret 0 _glfwWaitEventsWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwPollEventsWin32 _TEXT SEGMENT msg$ = 8 handle$ = 88 window$ = 120 i$7 = 148 keys$8 = 184 vk$9 = 244 key$10 = 276 scancode$11 = 308 width$12 = 340 height$13 = 372 __$ArrayPad$ = 584 _glfwPollEventsWin32 PROC ; COMDAT ; 2034 : { $LN19: 00000 40 55 push rbp 00002 57 push rdi 00003 48 81 ec 88 02 00 00 sub rsp, 648 ; 00000288H 0000a 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] 0000f 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] 00014 b9 66 00 00 00 mov ecx, 102 ; 00000066H 00019 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0001e f3 ab rep stosd 00020 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00027 48 33 c5 xor rax, rbp 0002a 48 89 85 48 02 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00031 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00038 e8 00 00 00 00 call __CheckForDebuggerJustMyCode $LN2@glfwPollEv: ; 2035 : MSG msg; ; 2036 : HWND handle; ; 2037 : _GLFWwindow* window; ; 2038 : ; 2039 : while (PeekMessageW(&msg, NULL, 0, 0, PM_REMOVE)) 0003d c7 44 24 20 01 00 00 00 mov DWORD PTR [rsp+32], 1 00045 45 33 c9 xor r9d, r9d 00048 45 33 c0 xor r8d, r8d 0004b 33 d2 xor edx, edx 0004d 48 8d 4d 08 lea rcx, QWORD PTR msg$[rbp] 00051 ff 15 00 00 00 00 call QWORD PTR __imp_PeekMessageW 00057 85 c0 test eax, eax 00059 74 46 je SHORT $LN3@glfwPollEv ; 2040 : { ; 2041 : if (msg.message == WM_QUIT) 0005b 83 7d 10 12 cmp DWORD PTR msg$[rbp+8], 18 0005f 75 2a jne SHORT $LN9@glfwPollEv ; 2042 : { ; 2043 : // NOTE: While GLFW does not itself post WM_QUIT, other processes ; 2044 : // may post it to this one, for example Task Manager ; 2045 : // HACK: Treat WM_QUIT as a close on all windows ; 2046 : ; 2047 : window = _glfw.windowListHead; 00061 48 8b 05 78 07 00 00 mov rax, QWORD PTR _glfw+1912 00068 48 89 45 78 mov QWORD PTR window$[rbp], rax $LN4@glfwPollEv: ; 2048 : while (window) 0006c 48 83 7d 78 00 cmp QWORD PTR window$[rbp], 0 00071 74 16 je SHORT $LN5@glfwPollEv ; 2049 : { ; 2050 : _glfwInputWindowCloseRequest(window); 00073 48 8b 4d 78 mov rcx, QWORD PTR window$[rbp] 00077 e8 00 00 00 00 call _glfwInputWindowCloseRequest ; 2051 : window = window->next; 0007c 48 8b 45 78 mov rax, QWORD PTR window$[rbp] 00080 48 8b 00 mov rax, QWORD PTR [rax] 00083 48 89 45 78 mov QWORD PTR window$[rbp], rax ; 2052 : } 00087 eb e3 jmp SHORT $LN4@glfwPollEv $LN5@glfwPollEv: ; 2053 : } 00089 eb 14 jmp SHORT $LN10@glfwPollEv $LN9@glfwPollEv: ; 2054 : else ; 2055 : { ; 2056 : TranslateMessage(&msg); 0008b 48 8d 4d 08 lea rcx, QWORD PTR msg$[rbp] 0008f ff 15 00 00 00 00 call QWORD PTR __imp_TranslateMessage ; 2057 : DispatchMessageW(&msg); 00095 48 8d 4d 08 lea rcx, QWORD PTR msg$[rbp] 00099 ff 15 00 00 00 00 call QWORD PTR __imp_DispatchMessageW $LN10@glfwPollEv: ; 2058 : } ; 2059 : } 0009f eb 9c jmp SHORT $LN2@glfwPollEv $LN3@glfwPollEv: ; 2060 : ; 2061 : // HACK: Release modifier keys that the system did not emit KEYUP for ; 2062 : // NOTE: Shift keys on Windows tend to "stick" when both are pressed as ; 2063 : // no key up message is generated by the first key release ; 2064 : // NOTE: Windows key is not reported as released by the Win+V hotkey ; 2065 : // Other Win hotkeys are handled implicitly by _glfwInputWindowFocus ; 2066 : // because they change the input focus ; 2067 : // NOTE: The other half of this is in the WM_*KEY* handler in windowProc ; 2068 : handle = GetActiveWindow(); 000a1 ff 15 00 00 00 00 call QWORD PTR __imp_GetActiveWindow 000a7 48 89 45 58 mov QWORD PTR handle$[rbp], rax ; 2069 : if (handle) 000ab 48 83 7d 58 00 cmp QWORD PTR handle$[rbp], 0 000b0 0f 84 50 01 00 00 je $LN11@glfwPollEv ; 2070 : { ; 2071 : window = GetPropW(handle, L"GLFW"); 000b6 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_19JBPKICJI@?$AAG?$AAL?$AAF?$AAW@ 000bd 48 8b 4d 58 mov rcx, QWORD PTR handle$[rbp] 000c1 ff 15 00 00 00 00 call QWORD PTR __imp_GetPropW 000c7 48 89 45 78 mov QWORD PTR window$[rbp], rax ; 2072 : if (window) 000cb 48 83 7d 78 00 cmp QWORD PTR window$[rbp], 0 000d0 0f 84 30 01 00 00 je $LN12@glfwPollEv ; 2073 : { ; 2074 : int i; ; 2075 : const int keys[4][2] = 000d6 c7 85 b8 00 00 00 a0 00 00 00 mov DWORD PTR keys$8[rbp], 160 ; 000000a0H 000e0 c7 85 bc 00 00 00 54 01 00 00 mov DWORD PTR keys$8[rbp+4], 340 ; 00000154H 000ea c7 85 c0 00 00 00 a1 00 00 00 mov DWORD PTR keys$8[rbp+8], 161 ; 000000a1H 000f4 c7 85 c4 00 00 00 58 01 00 00 mov DWORD PTR keys$8[rbp+12], 344 ; 00000158H 000fe c7 85 c8 00 00 00 5b 00 00 00 mov DWORD PTR keys$8[rbp+16], 91 ; 0000005bH 00108 c7 85 cc 00 00 00 57 01 00 00 mov DWORD PTR keys$8[rbp+20], 343 ; 00000157H 00112 c7 85 d0 00 00 00 5c 00 00 00 mov DWORD PTR keys$8[rbp+24], 92 ; 0000005cH 0011c c7 85 d4 00 00 00 5b 01 00 00 mov DWORD PTR keys$8[rbp+28], 347 ; 0000015bH ; 2076 : { ; 2077 : { VK_LSHIFT, GLFW_KEY_LEFT_SHIFT }, ; 2078 : { VK_RSHIFT, GLFW_KEY_RIGHT_SHIFT }, ; 2079 : { VK_LWIN, GLFW_KEY_LEFT_SUPER }, ; 2080 : { VK_RWIN, GLFW_KEY_RIGHT_SUPER } ; 2081 : }; ; 2082 : ; 2083 : for (i = 0; i < 4; i++) 00126 c7 85 94 00 00 00 00 00 00 00 mov DWORD PTR i$7[rbp], 0 00130 eb 0e jmp SHORT $LN8@glfwPollEv $LN6@glfwPollEv: 00132 8b 85 94 00 00 00 mov eax, DWORD PTR i$7[rbp] 00138 ff c0 inc eax 0013a 89 85 94 00 00 00 mov DWORD PTR i$7[rbp], eax $LN8@glfwPollEv: 00140 83 bd 94 00 00 00 04 cmp DWORD PTR i$7[rbp], 4 00147 0f 8d b9 00 00 00 jge $LN7@glfwPollEv ; 2084 : { ; 2085 : const int vk = keys[i][0]; 0014d 48 63 85 94 00 00 00 movsxd rax, DWORD PTR i$7[rbp] 00154 48 8d 84 c5 b8 00 00 00 lea rax, QWORD PTR keys$8[rbp+rax*8] 0015c b9 04 00 00 00 mov ecx, 4 00161 48 6b c9 00 imul rcx, rcx, 0 00165 8b 04 08 mov eax, DWORD PTR [rax+rcx] 00168 89 85 f4 00 00 00 mov DWORD PTR vk$9[rbp], eax ; 2086 : const int key = keys[i][1]; 0016e 48 63 85 94 00 00 00 movsxd rax, DWORD PTR i$7[rbp] 00175 48 8d 84 c5 b8 00 00 00 lea rax, QWORD PTR keys$8[rbp+rax*8] 0017d b9 04 00 00 00 mov ecx, 4 00182 48 6b c9 01 imul rcx, rcx, 1 00186 8b 04 08 mov eax, DWORD PTR [rax+rcx] 00189 89 85 14 01 00 00 mov DWORD PTR key$10[rbp], eax ; 2087 : const int scancode = _glfw.win32.scancodes[key]; 0018f 48 63 85 14 01 00 00 movsxd rax, DWORD PTR key$10[rbp] 00196 48 8d 0d a8 1f 00 00 lea rcx, OFFSET FLAT:_glfw+8104 0019d 0f bf 04 41 movsx eax, WORD PTR [rcx+rax*2] 001a1 89 85 34 01 00 00 mov DWORD PTR scancode$11[rbp], eax ; 2088 : ; 2089 : if ((GetKeyState(vk) & 0x8000)) 001a7 8b 8d f4 00 00 00 mov ecx, DWORD PTR vk$9[rbp] 001ad ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 001b3 98 cwde 001b4 25 00 80 00 00 and eax, 32768 ; 00008000H 001b9 85 c0 test eax, eax 001bb 74 05 je SHORT $LN13@glfwPollEv ; 2090 : continue; 001bd e9 70 ff ff ff jmp $LN6@glfwPollEv $LN13@glfwPollEv: ; 2091 : if (window->keys[key] != GLFW_PRESS) 001c2 48 63 85 14 01 00 00 movsxd rax, DWORD PTR key$10[rbp] 001c9 48 8b 4d 78 mov rcx, QWORD PTR window$[rbp] 001cd 0f be 84 01 90 00 00 00 movsx eax, BYTE PTR [rcx+rax+144] 001d5 83 f8 01 cmp eax, 1 001d8 74 05 je SHORT $LN14@glfwPollEv ; 2092 : continue; 001da e9 53 ff ff ff jmp $LN6@glfwPollEv $LN14@glfwPollEv: ; 2093 : ; 2094 : _glfwInputKey(window, key, scancode, GLFW_RELEASE, getKeyMods()); 001df e8 00 00 00 00 call getKeyMods 001e4 89 44 24 20 mov DWORD PTR [rsp+32], eax 001e8 45 33 c9 xor r9d, r9d 001eb 44 8b 85 34 01 00 00 mov r8d, DWORD PTR scancode$11[rbp] 001f2 8b 95 14 01 00 00 mov edx, DWORD PTR key$10[rbp] 001f8 48 8b 4d 78 mov rcx, QWORD PTR window$[rbp] 001fc e8 00 00 00 00 call _glfwInputKey ; 2095 : } 00201 e9 2c ff ff ff jmp $LN6@glfwPollEv $LN7@glfwPollEv: $LN12@glfwPollEv: $LN11@glfwPollEv: ; 2096 : } ; 2097 : } ; 2098 : ; 2099 : window = _glfw.win32.disabledCursorWindow; 00206 48 8b 05 48 29 00 00 mov rax, QWORD PTR _glfw+10568 0020d 48 89 45 78 mov QWORD PTR window$[rbp], rax ; 2100 : if (window) 00211 48 83 7d 78 00 cmp QWORD PTR window$[rbp], 0 00216 74 6f je SHORT $LN15@glfwPollEv ; 2101 : { ; 2102 : int width, height; ; 2103 : _glfwGetWindowSizeWin32(window, &width, &height); 00218 4c 8d 85 74 01 00 00 lea r8, QWORD PTR height$13[rbp] 0021f 48 8d 95 54 01 00 00 lea rdx, QWORD PTR width$12[rbp] 00226 48 8b 4d 78 mov rcx, QWORD PTR window$[rbp] 0022a e8 00 00 00 00 call _glfwGetWindowSizeWin32 ; 2104 : ; 2105 : // NOTE: Re-center the cursor only if it has moved since the last call, ; 2106 : // to avoid breaking glfwWaitEvents with WM_MOUSEMOVE ; 2107 : if (window->win32.lastCursorPosX != width / 2 || 0022f 8b 85 54 01 00 00 mov eax, DWORD PTR width$12[rbp] 00235 99 cdq 00236 2b c2 sub eax, edx 00238 d1 f8 sar eax, 1 0023a 48 8b 4d 78 mov rcx, QWORD PTR window$[rbp] 0023e 39 81 94 03 00 00 cmp DWORD PTR [rcx+916], eax 00244 75 17 jne SHORT $LN17@glfwPollEv 00246 8b 85 74 01 00 00 mov eax, DWORD PTR height$13[rbp] 0024c 99 cdq 0024d 2b c2 sub eax, edx 0024f d1 f8 sar eax, 1 00251 48 8b 4d 78 mov rcx, QWORD PTR window$[rbp] 00255 39 81 98 03 00 00 cmp DWORD PTR [rcx+920], eax 0025b 74 2a je SHORT $LN16@glfwPollEv $LN17@glfwPollEv: ; 2108 : window->win32.lastCursorPosY != height / 2) ; 2109 : { ; 2110 : _glfwSetCursorPosWin32(window, width / 2, height / 2); 0025d 8b 85 74 01 00 00 mov eax, DWORD PTR height$13[rbp] 00263 99 cdq 00264 2b c2 sub eax, edx 00266 d1 f8 sar eax, 1 00268 f2 0f 2a c0 cvtsi2sd xmm0, eax 0026c 8b 85 54 01 00 00 mov eax, DWORD PTR width$12[rbp] 00272 99 cdq 00273 2b c2 sub eax, edx 00275 d1 f8 sar eax, 1 00277 f2 0f 2a c8 cvtsi2sd xmm1, eax 0027b 0f 28 d0 movaps xmm2, xmm0 0027e 48 8b 4d 78 mov rcx, QWORD PTR window$[rbp] 00282 e8 00 00 00 00 call _glfwSetCursorPosWin32 $LN16@glfwPollEv: $LN15@glfwPollEv: ; 2111 : } ; 2112 : } ; 2113 : } 00287 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] 0028b 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwPollEventsWin32$rtcFrameData 00292 e8 00 00 00 00 call _RTC_CheckStackVars 00297 48 8b 8d 48 02 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 0029e 48 33 cd xor rcx, rbp 002a1 e8 00 00 00 00 call __security_check_cookie 002a6 48 8d a5 58 02 00 00 lea rsp, QWORD PTR [rbp+600] 002ad 5f pop rdi 002ae 5d pop rbp 002af c3 ret 0 _glfwPollEventsWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwRawMouseMotionSupportedWin32 _TEXT SEGMENT _glfwRawMouseMotionSupportedWin32 PROC ; COMDAT ; 2029 : { $LN3: 00000 40 55 push rbp 00002 57 push rdi 00003 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0000f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2030 : return GLFW_TRUE; 0001b b8 01 00 00 00 mov eax, 1 ; 2031 : } 00020 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00027 5f pop rdi 00028 5d pop rbp 00029 c3 ret 0 _glfwRawMouseMotionSupportedWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetRawMouseMotionWin32 _TEXT SEGMENT window$ = 224 enabled$ = 232 _glfwSetRawMouseMotionWin32 PROC ; COMDAT ; 2018 : { $LN6: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 55 push rbp 0000a 57 push rdi 0000b 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00017 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 2019 : if (_glfw.win32.disabledCursorWindow != window) 00023 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0002a 48 39 05 48 29 00 00 cmp QWORD PTR _glfw+10568, rax 00031 74 02 je SHORT $LN2@glfwSetRaw ; 2020 : return; 00033 eb 23 jmp SHORT $LN1@glfwSetRaw $LN2@glfwSetRaw: ; 2021 : ; 2022 : if (enabled) 00035 83 bd e8 00 00 00 00 cmp DWORD PTR enabled$[rbp], 0 0003c 74 0e je SHORT $LN3@glfwSetRaw ; 2023 : enableRawMouseMotion(window); 0003e 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00045 e8 00 00 00 00 call enableRawMouseMotion 0004a eb 0c jmp SHORT $LN4@glfwSetRaw $LN3@glfwSetRaw: ; 2024 : else ; 2025 : disableRawMouseMotion(window); 0004c 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00053 e8 00 00 00 00 call disableRawMouseMotion $LN4@glfwSetRaw: $LN1@glfwSetRaw: ; 2026 : } 00058 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0005f 5f pop rdi 00060 5d pop rbp 00061 c3 ret 0 _glfwSetRawMouseMotionWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowOpacityWin32 _TEXT SEGMENT exStyle$ = 4 alpha$1 = 36 window$ = 288 opacity$ = 296 _glfwSetWindowOpacityWin32 PROC ; COMDAT ; 1997 : { $LN8: 00000 f3 0f 11 4c 24 10 movss DWORD PTR [rsp+16], xmm1 00006 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000b 55 push rbp 0000c 57 push rdi 0000d 48 81 ec 28 01 00 00 sub rsp, 296 ; 00000128H 00014 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00019 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00020 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1998 : LONG exStyle = GetWindowLongW(window->win32.handle, GWL_EXSTYLE); 00025 ba ec ff ff ff mov edx, -20 0002a 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 00031 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00038 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW 0003e 89 45 04 mov DWORD PTR exStyle$[rbp], eax ; 1999 : if (opacity < 1.f || (exStyle & WS_EX_TRANSPARENT)) 00041 f3 0f 10 05 00 00 00 00 movss xmm0, DWORD PTR __real@3f800000 00049 0f 2f 85 28 01 00 00 comiss xmm0, DWORD PTR opacity$[rbp] 00050 77 0a ja SHORT $LN4@glfwSetWin 00052 8b 45 04 mov eax, DWORD PTR exStyle$[rbp] 00055 83 e0 20 and eax, 32 ; 00000020H 00058 85 c0 test eax, eax 0005a 74 61 je SHORT $LN2@glfwSetWin $LN4@glfwSetWin: ; 2000 : { ; 2001 : const BYTE alpha = (BYTE) (255 * opacity); 0005c f3 0f 10 05 00 00 00 00 movss xmm0, DWORD PTR __real@437f0000 00064 f3 0f 59 85 28 01 00 00 mulss xmm0, DWORD PTR opacity$[rbp] 0006c f3 0f 2c c0 cvttss2si eax, xmm0 00070 88 45 24 mov BYTE PTR alpha$1[rbp], al ; 2002 : exStyle |= WS_EX_LAYERED; 00073 8b 45 04 mov eax, DWORD PTR exStyle$[rbp] 00076 0f ba e8 13 bts eax, 19 0007a 89 45 04 mov DWORD PTR exStyle$[rbp], eax ; 2003 : SetWindowLongW(window->win32.handle, GWL_EXSTYLE, exStyle); 0007d 44 8b 45 04 mov r8d, DWORD PTR exStyle$[rbp] 00081 ba ec ff ff ff mov edx, -20 00086 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 0008d 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00094 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW ; 2004 : SetLayeredWindowAttributes(window->win32.handle, 0, alpha, LWA_ALPHA); 0009a 41 b9 02 00 00 00 mov r9d, 2 000a0 44 0f b6 45 24 movzx r8d, BYTE PTR alpha$1[rbp] 000a5 33 d2 xor edx, edx 000a7 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 000ae 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000b5 ff 15 00 00 00 00 call QWORD PTR __imp_SetLayeredWindowAttributes ; 2005 : } 000bb eb 4f jmp SHORT $LN3@glfwSetWin $LN2@glfwSetWin: ; 2006 : else if (exStyle & WS_EX_TRANSPARENT) 000bd 8b 45 04 mov eax, DWORD PTR exStyle$[rbp] 000c0 83 e0 20 and eax, 32 ; 00000020H 000c3 85 c0 test eax, eax 000c5 74 1e je SHORT $LN5@glfwSetWin ; 2007 : { ; 2008 : SetLayeredWindowAttributes(window->win32.handle, 0, 0, 0); 000c7 45 33 c9 xor r9d, r9d 000ca 45 33 c0 xor r8d, r8d 000cd 33 d2 xor edx, edx 000cf 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 000d6 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000dd ff 15 00 00 00 00 call QWORD PTR __imp_SetLayeredWindowAttributes ; 2009 : } 000e3 eb 27 jmp SHORT $LN6@glfwSetWin $LN5@glfwSetWin: ; 2010 : else ; 2011 : { ; 2012 : exStyle &= ~WS_EX_LAYERED; 000e5 8b 45 04 mov eax, DWORD PTR exStyle$[rbp] 000e8 0f ba f0 13 btr eax, 19 000ec 89 45 04 mov DWORD PTR exStyle$[rbp], eax ; 2013 : SetWindowLongW(window->win32.handle, GWL_EXSTYLE, exStyle); 000ef 44 8b 45 04 mov r8d, DWORD PTR exStyle$[rbp] 000f3 ba ec ff ff ff mov edx, -20 000f8 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 000ff 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00106 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW $LN6@glfwSetWin: $LN3@glfwSetWin: ; 2014 : } ; 2015 : } 0010c 48 8d a5 08 01 00 00 lea rsp, QWORD PTR [rbp+264] 00113 5f pop rdi 00114 5d pop rbp 00115 c3 ret 0 _glfwSetWindowOpacityWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetWindowOpacityWin32 _TEXT SEGMENT alpha$ = 4 flags$ = 36 __$ArrayPad$ = 248 window$ = 288 _glfwGetWindowOpacityWin32 PROC ; COMDAT ; 1982 : { $LN5: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 38 01 00 00 sub rsp, 312 ; 00000138H 0000e 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] 00013 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] 00018 b9 12 00 00 00 mov ecx, 18 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00022 f3 ab rep stosd 00024 48 8b 8c 24 58 01 00 00 mov rcx, QWORD PTR [rsp+344] 0002c 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00033 48 33 c5 xor rax, rbp 00036 48 89 85 f8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0003d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1983 : BYTE alpha; ; 1984 : DWORD flags; ; 1985 : ; 1986 : if ((GetWindowLongW(window->win32.handle, GWL_EXSTYLE) & WS_EX_LAYERED) && 00049 ba ec ff ff ff mov edx, -20 0004e 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 00055 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0005c ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW 00062 25 00 00 08 00 and eax, 524288 ; 00080000H 00067 85 c0 test eax, eax 00069 74 3e je SHORT $LN2@glfwGetWin 0006b 4c 8d 4d 24 lea r9, QWORD PTR flags$[rbp] 0006f 4c 8d 45 04 lea r8, QWORD PTR alpha$[rbp] 00073 33 d2 xor edx, edx 00075 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 0007c 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00083 ff 15 00 00 00 00 call QWORD PTR __imp_GetLayeredWindowAttributes 00089 85 c0 test eax, eax 0008b 74 1c je SHORT $LN2@glfwGetWin ; 1987 : GetLayeredWindowAttributes(window->win32.handle, NULL, &alpha, &flags)) ; 1988 : { ; 1989 : if (flags & LWA_ALPHA) 0008d 8b 45 24 mov eax, DWORD PTR flags$[rbp] 00090 83 e0 02 and eax, 2 00093 85 c0 test eax, eax 00095 74 12 je SHORT $LN3@glfwGetWin ; 1990 : return alpha / 255.f; 00097 0f b6 45 04 movzx eax, BYTE PTR alpha$[rbp] 0009b f3 0f 2a c0 cvtsi2ss xmm0, eax 0009f f3 0f 5e 05 00 00 00 00 divss xmm0, DWORD PTR __real@437f0000 000a7 eb 08 jmp SHORT $LN1@glfwGetWin $LN3@glfwGetWin: $LN2@glfwGetWin: ; 1991 : } ; 1992 : ; 1993 : return 1.f; 000a9 f3 0f 10 05 00 00 00 00 movss xmm0, DWORD PTR __real@3f800000 $LN1@glfwGetWin: ; 1994 : } 000b1 f3 0f 7f 44 24 20 movdqu XMMWORD PTR [rsp+32], xmm0 000b7 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] 000bb 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwGetWindowOpacityWin32$rtcFrameData 000c2 e8 00 00 00 00 call _RTC_CheckStackVars 000c7 f3 0f 6f 44 24 20 movdqu xmm0, XMMWORD PTR [rsp+32] 000cd 48 8b 8d f8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000d4 48 33 cd xor rcx, rbp 000d7 e8 00 00 00 00 call __security_check_cookie 000dc 48 8d a5 08 01 00 00 lea rsp, QWORD PTR [rbp+264] 000e3 5f pop rdi 000e4 5d pop rbp 000e5 c3 ret 0 _glfwGetWindowOpacityWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowMousePassthroughWin32 _TEXT SEGMENT key$ = 4 alpha$ = 36 flags$ = 68 exStyle$ = 100 __$ArrayPad$ = 312 window$ = 352 enabled$ = 360 _glfwSetWindowMousePassthroughWin32 PROC ; COMDAT ; 1952 : { $LN9: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 55 push rbp 0000a 57 push rdi 0000b 48 81 ec 68 01 00 00 sub rsp, 360 ; 00000168H 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00017 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 0001c b9 22 00 00 00 mov ecx, 34 ; 00000022H 00021 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00026 f3 ab rep stosd 00028 48 8b 8c 24 88 01 00 00 mov rcx, QWORD PTR [rsp+392] 00030 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00037 48 33 c5 xor rax, rbp 0003a 48 89 85 38 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00041 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00048 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1953 : COLORREF key = 0; 0004d c7 45 04 00 00 00 00 mov DWORD PTR key$[rbp], 0 ; 1954 : BYTE alpha = 0; 00054 c6 45 24 00 mov BYTE PTR alpha$[rbp], 0 ; 1955 : DWORD flags = 0; 00058 c7 45 44 00 00 00 00 mov DWORD PTR flags$[rbp], 0 ; 1956 : DWORD exStyle = GetWindowLongW(window->win32.handle, GWL_EXSTYLE); 0005f ba ec ff ff ff mov edx, -20 00064 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 0006b 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00072 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW 00078 89 45 64 mov DWORD PTR exStyle$[rbp], eax ; 1957 : ; 1958 : if (exStyle & WS_EX_LAYERED) 0007b 8b 45 64 mov eax, DWORD PTR exStyle$[rbp] 0007e 25 00 00 08 00 and eax, 524288 ; 00080000H 00083 85 c0 test eax, eax 00085 74 20 je SHORT $LN2@glfwSetWin ; 1959 : GetLayeredWindowAttributes(window->win32.handle, &key, &alpha, &flags); 00087 4c 8d 4d 44 lea r9, QWORD PTR flags$[rbp] 0008b 4c 8d 45 24 lea r8, QWORD PTR alpha$[rbp] 0008f 48 8d 55 04 lea rdx, QWORD PTR key$[rbp] 00093 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 0009a 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000a1 ff 15 00 00 00 00 call QWORD PTR __imp_GetLayeredWindowAttributes $LN2@glfwSetWin: ; 1960 : ; 1961 : if (enabled) 000a7 83 bd 68 01 00 00 00 cmp DWORD PTR enabled$[rbp], 0 000ae 74 0d je SHORT $LN3@glfwSetWin ; 1962 : exStyle |= (WS_EX_TRANSPARENT | WS_EX_LAYERED); 000b0 8b 45 64 mov eax, DWORD PTR exStyle$[rbp] 000b3 0d 20 00 08 00 or eax, 524320 ; 00080020H 000b8 89 45 64 mov DWORD PTR exStyle$[rbp], eax 000bb eb 29 jmp SHORT $LN4@glfwSetWin $LN3@glfwSetWin: ; 1963 : else ; 1964 : { ; 1965 : exStyle &= ~WS_EX_TRANSPARENT; 000bd 8b 45 64 mov eax, DWORD PTR exStyle$[rbp] 000c0 83 e0 df and eax, -33 ; ffffffdfH 000c3 89 45 64 mov DWORD PTR exStyle$[rbp], eax ; 1966 : // NOTE: Window opacity also needs the layered window style so do not ; 1967 : // remove it if the window is alpha blended ; 1968 : if (exStyle & WS_EX_LAYERED) 000c6 8b 45 64 mov eax, DWORD PTR exStyle$[rbp] 000c9 25 00 00 08 00 and eax, 524288 ; 00080000H 000ce 85 c0 test eax, eax 000d0 74 14 je SHORT $LN5@glfwSetWin ; 1969 : { ; 1970 : if (!(flags & LWA_ALPHA)) 000d2 8b 45 44 mov eax, DWORD PTR flags$[rbp] 000d5 83 e0 02 and eax, 2 000d8 85 c0 test eax, eax 000da 75 0a jne SHORT $LN6@glfwSetWin ; 1971 : exStyle &= ~WS_EX_LAYERED; 000dc 8b 45 64 mov eax, DWORD PTR exStyle$[rbp] 000df 0f ba f0 13 btr eax, 19 000e3 89 45 64 mov DWORD PTR exStyle$[rbp], eax $LN6@glfwSetWin: $LN5@glfwSetWin: $LN4@glfwSetWin: ; 1972 : } ; 1973 : } ; 1974 : ; 1975 : SetWindowLongW(window->win32.handle, GWL_EXSTYLE, exStyle); 000e6 44 8b 45 64 mov r8d, DWORD PTR exStyle$[rbp] 000ea ba ec ff ff ff mov edx, -20 000ef 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 000f6 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000fd ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW ; 1976 : ; 1977 : if (enabled) 00103 83 bd 68 01 00 00 00 cmp DWORD PTR enabled$[rbp], 0 0010a 74 20 je SHORT $LN7@glfwSetWin ; 1978 : SetLayeredWindowAttributes(window->win32.handle, key, alpha, flags); 0010c 44 8b 4d 44 mov r9d, DWORD PTR flags$[rbp] 00110 44 0f b6 45 24 movzx r8d, BYTE PTR alpha$[rbp] 00115 8b 55 04 mov edx, DWORD PTR key$[rbp] 00118 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 0011f 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00126 ff 15 00 00 00 00 call QWORD PTR __imp_SetLayeredWindowAttributes $LN7@glfwSetWin: ; 1979 : } 0012c 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 00130 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwSetWindowMousePassthroughWin32$rtcFrameData 00137 e8 00 00 00 00 call _RTC_CheckStackVars 0013c 48 8b 8d 38 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 00143 48 33 cd xor rcx, rbp 00146 e8 00 00 00 00 call __security_check_cookie 0014b 48 8d a5 48 01 00 00 lea rsp, QWORD PTR [rbp+328] 00152 5f pop rdi 00153 5d pop rbp 00154 c3 ret 0 _glfwSetWindowMousePassthroughWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowFloatingWin32 _TEXT SEGMENT after$ = 8 tv65 = 216 window$ = 256 enabled$ = 264 _glfwSetWindowFloatingWin32 PROC ; COMDAT ; 1945 : { $LN5: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 55 push rbp 0000a 57 push rdi 0000b 48 81 ec 28 01 00 00 sub rsp, 296 ; 00000128H 00012 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] 00017 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1946 : const HWND after = enabled ? HWND_TOPMOST : HWND_NOTOPMOST; 00023 83 bd 08 01 00 00 00 cmp DWORD PTR enabled$[rbp], 0 0002a 74 0d je SHORT $LN3@glfwSetWin 0002c 48 c7 85 d8 00 00 00 ff ff ff ff mov QWORD PTR tv65[rbp], -1 00037 eb 0b jmp SHORT $LN4@glfwSetWin $LN3@glfwSetWin: 00039 48 c7 85 d8 00 00 00 fe ff ff ff mov QWORD PTR tv65[rbp], -2 $LN4@glfwSetWin: 00044 48 8b 85 d8 00 00 00 mov rax, QWORD PTR tv65[rbp] 0004b 48 89 45 08 mov QWORD PTR after$[rbp], rax ; 1947 : SetWindowPos(window->win32.handle, after, 0, 0, 0, 0, 0004f c7 44 24 30 13 00 00 00 mov DWORD PTR [rsp+48], 19 00057 c7 44 24 28 00 00 00 00 mov DWORD PTR [rsp+40], 0 0005f c7 44 24 20 00 00 00 00 mov DWORD PTR [rsp+32], 0 00067 45 33 c9 xor r9d, r9d 0006a 45 33 c0 xor r8d, r8d 0006d 48 8b 55 08 mov rdx, QWORD PTR after$[rbp] 00071 48 8b 85 00 01 00 00 mov rax, QWORD PTR window$[rbp] 00078 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0007f ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos ; 1948 : SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); ; 1949 : } 00085 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 0008c 5f pop rdi 0008d 5d pop rbp 0008e c3 ret 0 _glfwSetWindowFloatingWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowDecoratedWin32 _TEXT SEGMENT window$ = 224 enabled$ = 232 _glfwSetWindowDecoratedWin32 PROC ; COMDAT ; 1940 : { $LN3: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 55 push rbp 0000a 57 push rdi 0000b 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00017 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1941 : updateWindowStyles(window); 00023 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 0002a e8 00 00 00 00 call updateWindowStyles ; 1942 : } 0002f 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00036 5f pop rdi 00037 5d pop rbp 00038 c3 ret 0 _glfwSetWindowDecoratedWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowResizableWin32 _TEXT SEGMENT window$ = 224 enabled$ = 232 _glfwSetWindowResizableWin32 PROC ; COMDAT ; 1935 : { $LN3: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00009 55 push rbp 0000a 57 push rdi 0000b 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00017 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1936 : updateWindowStyles(window); 00023 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 0002a e8 00 00 00 00 call updateWindowStyles ; 1937 : } 0002f 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00036 5f pop rdi 00037 5d pop rbp 00038 c3 ret 0 _glfwSetWindowResizableWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwFramebufferTransparentWin32 _TEXT SEGMENT composition$ = 4 opaque$ = 36 color$ = 68 __$ArrayPad$ = 280 window$ = 320 _glfwFramebufferTransparentWin32 PROC ; COMDAT ; 1908 : { $LN10: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 48 01 00 00 sub rsp, 328 ; 00000148H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00018 b9 1a 00 00 00 mov ecx, 26 0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00022 f3 ab rep stosd 00024 48 8b 8c 24 68 01 00 00 mov rcx, QWORD PTR [rsp+360] 0002c 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00033 48 33 c5 xor rax, rbp 00036 48 89 85 18 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0003d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1909 : BOOL composition, opaque; ; 1910 : DWORD color; ; 1911 : ; 1912 : if (!window->win32.transparent) 00049 48 8b 85 40 01 00 00 mov rax, QWORD PTR window$[rbp] 00050 83 b8 80 03 00 00 00 cmp DWORD PTR [rax+896], 0 00057 75 04 jne SHORT $LN2@glfwFrameb ; 1913 : return GLFW_FALSE; 00059 33 c0 xor eax, eax 0005b eb 63 jmp SHORT $LN1@glfwFrameb $LN2@glfwFrameb: ; 1914 : ; 1915 : if (!IsWindowsVistaOrGreater()) 0005d 45 33 c0 xor r8d, r8d 00060 33 d2 xor edx, edx 00062 66 b9 06 00 mov cx, 6 00066 e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 0006b 85 c0 test eax, eax 0006d 75 04 jne SHORT $LN3@glfwFrameb ; 1916 : return GLFW_FALSE; 0006f 33 c0 xor eax, eax 00071 eb 4d jmp SHORT $LN1@glfwFrameb $LN3@glfwFrameb: ; 1917 : ; 1918 : if (FAILED(DwmIsCompositionEnabled(&composition)) || !composition) 00073 48 8d 4d 04 lea rcx, QWORD PTR composition$[rbp] 00077 ff 15 e0 29 00 00 call QWORD PTR _glfw+10720 0007d 85 c0 test eax, eax 0007f 7c 06 jl SHORT $LN5@glfwFrameb 00081 83 7d 04 00 cmp DWORD PTR composition$[rbp], 0 00085 75 04 jne SHORT $LN4@glfwFrameb $LN5@glfwFrameb: ; 1919 : return GLFW_FALSE; 00087 33 c0 xor eax, eax 00089 eb 35 jmp SHORT $LN1@glfwFrameb $LN4@glfwFrameb: ; 1920 : ; 1921 : if (!IsWindows8OrGreater()) 0008b 45 33 c0 xor r8d, r8d 0008e 66 ba 02 00 mov dx, 2 00092 66 b9 06 00 mov cx, 6 00096 e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 0009b 85 c0 test eax, eax 0009d 75 1c jne SHORT $LN6@glfwFrameb ; 1922 : { ; 1923 : // HACK: Disable framebuffer transparency on Windows 7 when the ; 1924 : // colorization color is opaque, because otherwise the window ; 1925 : // contents is blended additively with the previous frame instead ; 1926 : // of replacing it ; 1927 : if (FAILED(DwmGetColorizationColor(&color, &opaque)) || opaque) 0009f 48 8d 55 24 lea rdx, QWORD PTR opaque$[rbp] 000a3 48 8d 4d 44 lea rcx, QWORD PTR color$[rbp] 000a7 ff 15 f8 29 00 00 call QWORD PTR _glfw+10744 000ad 85 c0 test eax, eax 000af 7c 06 jl SHORT $LN8@glfwFrameb 000b1 83 7d 24 00 cmp DWORD PTR opaque$[rbp], 0 000b5 74 04 je SHORT $LN7@glfwFrameb $LN8@glfwFrameb: ; 1928 : return GLFW_FALSE; 000b7 33 c0 xor eax, eax 000b9 eb 05 jmp SHORT $LN1@glfwFrameb $LN7@glfwFrameb: $LN6@glfwFrameb: ; 1929 : } ; 1930 : ; 1931 : return GLFW_TRUE; 000bb b8 01 00 00 00 mov eax, 1 $LN1@glfwFrameb: ; 1932 : } 000c0 48 8b f8 mov rdi, rax 000c3 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 000c7 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwFramebufferTransparentWin32$rtcFrameData 000ce e8 00 00 00 00 call _RTC_CheckStackVars 000d3 48 8b c7 mov rax, rdi 000d6 48 8b 8d 18 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000dd 48 33 cd xor rcx, rbp 000e0 e8 00 00 00 00 call __security_check_cookie 000e5 48 8d a5 28 01 00 00 lea rsp, QWORD PTR [rbp+296] 000ec 5f pop rdi 000ed 5d pop rbp 000ee c3 ret 0 _glfwFramebufferTransparentWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWindowHoveredWin32 _TEXT SEGMENT window$ = 224 _glfwWindowHoveredWin32 PROC ; COMDAT ; 1903 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1904 : return cursorInContentArea(window); 0001f 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00026 e8 00 00 00 00 call cursorInContentArea ; 1905 : } 0002b 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00032 5f pop rdi 00033 5d pop rbp 00034 c3 ret 0 _glfwWindowHoveredWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWindowMaximizedWin32 _TEXT SEGMENT window$ = 224 _glfwWindowMaximizedWin32 PROC ; COMDAT ; 1898 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1899 : return IsZoomed(window->win32.handle); 0001f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00026 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0002d ff 15 00 00 00 00 call QWORD PTR __imp_IsZoomed ; 1900 : } 00033 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0003a 5f pop rdi 0003b 5d pop rbp 0003c c3 ret 0 _glfwWindowMaximizedWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWindowVisibleWin32 _TEXT SEGMENT window$ = 224 _glfwWindowVisibleWin32 PROC ; COMDAT ; 1893 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1894 : return IsWindowVisible(window->win32.handle); 0001f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00026 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0002d ff 15 00 00 00 00 call QWORD PTR __imp_IsWindowVisible ; 1895 : } 00033 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0003a 5f pop rdi 0003b 5d pop rbp 0003c c3 ret 0 _glfwWindowVisibleWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWindowIconifiedWin32 _TEXT SEGMENT window$ = 224 _glfwWindowIconifiedWin32 PROC ; COMDAT ; 1888 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1889 : return IsIconic(window->win32.handle); 0001f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00026 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0002d ff 15 00 00 00 00 call QWORD PTR __imp_IsIconic ; 1890 : } 00033 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0003a 5f pop rdi 0003b 5d pop rbp 0003c c3 ret 0 _glfwWindowIconifiedWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWindowFocusedWin32 _TEXT SEGMENT tv67 = 192 window$ = 240 _glfwWindowFocusedWin32 PROC ; COMDAT ; 1883 : { $LN5: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec f8 00 00 00 sub rsp, 248 ; 000000f8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1884 : return window->win32.handle == GetActiveWindow(); 0001f ff 15 00 00 00 00 call QWORD PTR __imp_GetActiveWindow 00025 48 8b 8d f0 00 00 00 mov rcx, QWORD PTR window$[rbp] 0002c 48 39 81 58 03 00 00 cmp QWORD PTR [rcx+856], rax 00033 75 0c jne SHORT $LN3@glfwWindow 00035 c7 85 c0 00 00 00 01 00 00 00 mov DWORD PTR tv67[rbp], 1 0003f eb 0a jmp SHORT $LN4@glfwWindow $LN3@glfwWindow: 00041 c7 85 c0 00 00 00 00 00 00 00 mov DWORD PTR tv67[rbp], 0 $LN4@glfwWindow: 0004b 8b 85 c0 00 00 00 mov eax, DWORD PTR tv67[rbp] ; 1885 : } 00051 48 8d a5 d8 00 00 00 lea rsp, QWORD PTR [rbp+216] 00058 5f pop rdi 00059 5d pop rbp 0005a c3 ret 0 _glfwWindowFocusedWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowMonitorWin32 _TEXT SEGMENT rect$6 = 8 mi$7 = 56 flags$8 = 116 style$9 = 148 after$10 = 184 rect$11 = 216 style$12 = 260 flags$13 = 292 tv246 = 500 tv234 = 500 tv89 = 500 tv77 = 500 tv238 = 504 tv81 = 504 __$ArrayPad$ = 512 window$ = 560 monitor$ = 568 xpos$ = 576 ypos$ = 584 width$ = 592 height$ = 600 refreshRate$ = 608 _glfwSetWindowMonitorWin32 PROC ; COMDAT ; 1777 : { $LN18: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 55 push rbp 00015 57 push rdi 00016 48 81 ec 58 02 00 00 sub rsp, 600 ; 00000258H 0001d 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] 00022 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64] 00027 b9 56 00 00 00 mov ecx, 86 ; 00000056H 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00031 f3 ab rep stosd 00033 48 8b 8c 24 78 02 00 00 mov rcx, QWORD PTR [rsp+632] 0003b 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00042 48 33 c5 xor rax, rbp 00045 48 89 85 00 02 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0004c 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1778 : if (window->monitor == monitor) 00058 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 0005f 48 8b 8d 38 02 00 00 mov rcx, QWORD PTR monitor$[rbp] 00066 48 39 48 50 cmp QWORD PTR [rax+80], rcx 0006a 0f 85 5c 01 00 00 jne $LN2@glfwSetWin ; 1779 : { ; 1780 : if (monitor) 00070 48 83 bd 38 02 00 00 00 cmp QWORD PTR monitor$[rbp], 0 00078 74 34 je SHORT $LN3@glfwSetWin ; 1781 : { ; 1782 : if (monitor->window == window) 0007a 48 8b 85 38 02 00 00 mov rax, QWORD PTR monitor$[rbp] 00081 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 00088 48 39 88 90 00 00 00 cmp QWORD PTR [rax+144], rcx 0008f 75 18 jne SHORT $LN5@glfwSetWin ; 1783 : { ; 1784 : acquireMonitor(window); 00091 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 00098 e8 00 00 00 00 call acquireMonitor ; 1785 : fitToMonitor(window); 0009d 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 000a4 e8 00 00 00 00 call fitToMonitor $LN5@glfwSetWin: ; 1786 : } ; 1787 : } 000a9 e9 19 01 00 00 jmp $LN4@glfwSetWin $LN3@glfwSetWin: ; 1788 : else ; 1789 : { ; 1790 : RECT rect = { xpos, ypos, xpos + width, ypos + height }; 000ae 8b 85 40 02 00 00 mov eax, DWORD PTR xpos$[rbp] 000b4 89 45 08 mov DWORD PTR rect$6[rbp], eax 000b7 8b 85 48 02 00 00 mov eax, DWORD PTR ypos$[rbp] 000bd 89 45 0c mov DWORD PTR rect$6[rbp+4], eax 000c0 8b 85 50 02 00 00 mov eax, DWORD PTR width$[rbp] 000c6 8b 8d 40 02 00 00 mov ecx, DWORD PTR xpos$[rbp] 000cc 03 c8 add ecx, eax 000ce 8b c1 mov eax, ecx 000d0 89 45 10 mov DWORD PTR rect$6[rbp+8], eax 000d3 8b 85 58 02 00 00 mov eax, DWORD PTR height$[rbp] 000d9 8b 8d 48 02 00 00 mov ecx, DWORD PTR ypos$[rbp] 000df 03 c8 add ecx, eax 000e1 8b c1 mov eax, ecx 000e3 89 45 14 mov DWORD PTR rect$6[rbp+12], eax ; 1791 : ; 1792 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 000e6 66 b9 39 38 mov cx, 14393 ; 00003839H 000ea e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 000ef 85 c0 test eax, eax 000f1 74 5c je SHORT $LN6@glfwSetWin ; 1793 : { ; 1794 : AdjustWindowRectExForDpi(&rect, getWindowStyle(window), 000f3 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 000fa 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00101 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 00107 89 85 f4 01 00 00 mov DWORD PTR tv77[rbp], eax 0010d 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 00114 e8 00 00 00 00 call getWindowExStyle 00119 89 85 f8 01 00 00 mov DWORD PTR tv81[rbp], eax 0011f 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 00126 e8 00 00 00 00 call getWindowStyle 0012b 8b 8d f4 01 00 00 mov ecx, DWORD PTR tv77[rbp] 00131 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 00135 8b 8d f8 01 00 00 mov ecx, DWORD PTR tv81[rbp] 0013b 44 8b c9 mov r9d, ecx 0013e 45 33 c0 xor r8d, r8d 00141 8b d0 mov edx, eax 00143 48 8d 4d 08 lea rcx, QWORD PTR rect$6[rbp] 00147 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1795 : FALSE, getWindowExStyle(window), ; 1796 : GetDpiForWindow(window->win32.handle)); ; 1797 : } 0014d eb 36 jmp SHORT $LN7@glfwSetWin $LN6@glfwSetWin: ; 1798 : else ; 1799 : { ; 1800 : AdjustWindowRectEx(&rect, getWindowStyle(window), 0014f 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 00156 e8 00 00 00 00 call getWindowExStyle 0015b 89 85 f4 01 00 00 mov DWORD PTR tv89[rbp], eax 00161 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 00168 e8 00 00 00 00 call getWindowStyle 0016d 8b 8d f4 01 00 00 mov ecx, DWORD PTR tv89[rbp] 00173 44 8b c9 mov r9d, ecx 00176 45 33 c0 xor r8d, r8d 00179 8b d0 mov edx, eax 0017b 48 8d 4d 08 lea rcx, QWORD PTR rect$6[rbp] 0017f ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx $LN7@glfwSetWin: ; 1801 : FALSE, getWindowExStyle(window)); ; 1802 : } ; 1803 : ; 1804 : SetWindowPos(window->win32.handle, HWND_TOP, 00185 8b 45 0c mov eax, DWORD PTR rect$6[rbp+4] 00188 8b 4d 14 mov ecx, DWORD PTR rect$6[rbp+12] 0018b 2b c8 sub ecx, eax 0018d 8b c1 mov eax, ecx 0018f 8b 4d 08 mov ecx, DWORD PTR rect$6[rbp] 00192 8b 55 10 mov edx, DWORD PTR rect$6[rbp+8] 00195 2b d1 sub edx, ecx 00197 8b ca mov ecx, edx 00199 c7 44 24 30 14 01 00 00 mov DWORD PTR [rsp+48], 276 ; 00000114H 001a1 89 44 24 28 mov DWORD PTR [rsp+40], eax 001a5 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 001a9 44 8b 4d 0c mov r9d, DWORD PTR rect$6[rbp+4] 001ad 44 8b 45 08 mov r8d, DWORD PTR rect$6[rbp] 001b1 33 d2 xor edx, edx 001b3 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 001ba 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 001c1 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos $LN4@glfwSetWin: ; 1805 : rect.left, rect.top, ; 1806 : rect.right - rect.left, rect.bottom - rect.top, ; 1807 : SWP_NOCOPYBITS | SWP_NOACTIVATE | SWP_NOZORDER); ; 1808 : } ; 1809 : ; 1810 : return; 001c7 e9 4c 03 00 00 jmp $LN1@glfwSetWin $LN2@glfwSetWin: ; 1811 : } ; 1812 : ; 1813 : if (window->monitor) 001cc 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 001d3 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 001d8 74 0c je SHORT $LN8@glfwSetWin ; 1814 : releaseMonitor(window); 001da 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 001e1 e8 00 00 00 00 call releaseMonitor $LN8@glfwSetWin: ; 1815 : ; 1816 : _glfwInputWindowMonitor(window, monitor); 001e6 48 8b 95 38 02 00 00 mov rdx, QWORD PTR monitor$[rbp] 001ed 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 001f4 e8 00 00 00 00 call _glfwInputWindowMonitor ; 1817 : ; 1818 : if (window->monitor) 001f9 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 00200 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 00205 0f 84 13 01 00 00 je $LN9@glfwSetWin ; 1819 : { ; 1820 : MONITORINFO mi = { sizeof(mi) }; 0020b c7 45 38 28 00 00 00 mov DWORD PTR mi$7[rbp], 40 ; 00000028H 00212 48 8d 45 3c lea rax, QWORD PTR mi$7[rbp+4] 00216 48 8b f8 mov rdi, rax 00219 33 c0 xor eax, eax 0021b b9 24 00 00 00 mov ecx, 36 ; 00000024H 00220 f3 aa rep stosb ; 1821 : UINT flags = SWP_SHOWWINDOW | SWP_NOACTIVATE | SWP_NOCOPYBITS; 00222 c7 45 74 50 01 00 00 mov DWORD PTR flags$8[rbp], 336 ; 00000150H ; 1822 : ; 1823 : if (window->decorated) 00229 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 00230 83 78 0c 00 cmp DWORD PTR [rax+12], 0 00234 74 75 je SHORT $LN11@glfwSetWin ; 1824 : { ; 1825 : DWORD style = GetWindowLongW(window->win32.handle, GWL_STYLE); 00236 ba f0 ff ff ff mov edx, -16 0023b 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 00242 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00249 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW 0024f 89 85 94 00 00 00 mov DWORD PTR style$9[rbp], eax ; 1826 : style &= ~WS_OVERLAPPEDWINDOW; 00255 8b 85 94 00 00 00 mov eax, DWORD PTR style$9[rbp] 0025b 25 ff ff 30 ff and eax, -13565953 ; ff30ffffH 00260 89 85 94 00 00 00 mov DWORD PTR style$9[rbp], eax ; 1827 : style |= getWindowStyle(window); 00266 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 0026d e8 00 00 00 00 call getWindowStyle 00272 8b 8d 94 00 00 00 mov ecx, DWORD PTR style$9[rbp] 00278 0b c8 or ecx, eax 0027a 8b c1 mov eax, ecx 0027c 89 85 94 00 00 00 mov DWORD PTR style$9[rbp], eax ; 1828 : SetWindowLongW(window->win32.handle, GWL_STYLE, style); 00282 44 8b 85 94 00 00 00 mov r8d, DWORD PTR style$9[rbp] 00289 ba f0 ff ff ff mov edx, -16 0028e 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 00295 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0029c ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW ; 1829 : flags |= SWP_FRAMECHANGED; 002a2 8b 45 74 mov eax, DWORD PTR flags$8[rbp] 002a5 83 c8 20 or eax, 32 ; 00000020H 002a8 89 45 74 mov DWORD PTR flags$8[rbp], eax $LN11@glfwSetWin: ; 1830 : } ; 1831 : ; 1832 : acquireMonitor(window); 002ab 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 002b2 e8 00 00 00 00 call acquireMonitor ; 1833 : ; 1834 : GetMonitorInfoW(window->monitor->win32.handle, &mi); 002b7 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 002be 48 8b 40 50 mov rax, QWORD PTR [rax+80] 002c2 48 8d 55 38 lea rdx, QWORD PTR mi$7[rbp] 002c6 48 8b 88 00 01 00 00 mov rcx, QWORD PTR [rax+256] 002cd ff 15 00 00 00 00 call QWORD PTR __imp_GetMonitorInfoW ; 1835 : SetWindowPos(window->win32.handle, HWND_TOPMOST, 002d3 8b 45 40 mov eax, DWORD PTR mi$7[rbp+8] 002d6 8b 4d 48 mov ecx, DWORD PTR mi$7[rbp+16] 002d9 2b c8 sub ecx, eax 002db 8b c1 mov eax, ecx 002dd 8b 4d 3c mov ecx, DWORD PTR mi$7[rbp+4] 002e0 8b 55 44 mov edx, DWORD PTR mi$7[rbp+12] 002e3 2b d1 sub edx, ecx 002e5 8b ca mov ecx, edx 002e7 8b 55 74 mov edx, DWORD PTR flags$8[rbp] 002ea 89 54 24 30 mov DWORD PTR [rsp+48], edx 002ee 89 44 24 28 mov DWORD PTR [rsp+40], eax 002f2 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 002f6 44 8b 4d 40 mov r9d, DWORD PTR mi$7[rbp+8] 002fa 44 8b 45 3c mov r8d, DWORD PTR mi$7[rbp+4] 002fe 48 c7 c2 ff ff ff ff mov rdx, -1 00305 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 0030c 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00313 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos ; 1836 : mi.rcMonitor.left, ; 1837 : mi.rcMonitor.top, ; 1838 : mi.rcMonitor.right - mi.rcMonitor.left, ; 1839 : mi.rcMonitor.bottom - mi.rcMonitor.top, ; 1840 : flags); ; 1841 : } 00319 e9 fa 01 00 00 jmp $LN10@glfwSetWin $LN9@glfwSetWin: ; 1842 : else ; 1843 : { ; 1844 : HWND after; ; 1845 : RECT rect = { xpos, ypos, xpos + width, ypos + height }; 0031e 8b 85 40 02 00 00 mov eax, DWORD PTR xpos$[rbp] 00324 89 85 d8 00 00 00 mov DWORD PTR rect$11[rbp], eax 0032a 8b 85 48 02 00 00 mov eax, DWORD PTR ypos$[rbp] 00330 89 85 dc 00 00 00 mov DWORD PTR rect$11[rbp+4], eax 00336 8b 85 50 02 00 00 mov eax, DWORD PTR width$[rbp] 0033c 8b 8d 40 02 00 00 mov ecx, DWORD PTR xpos$[rbp] 00342 03 c8 add ecx, eax 00344 8b c1 mov eax, ecx 00346 89 85 e0 00 00 00 mov DWORD PTR rect$11[rbp+8], eax 0034c 8b 85 58 02 00 00 mov eax, DWORD PTR height$[rbp] 00352 8b 8d 48 02 00 00 mov ecx, DWORD PTR ypos$[rbp] 00358 03 c8 add ecx, eax 0035a 8b c1 mov eax, ecx 0035c 89 85 e4 00 00 00 mov DWORD PTR rect$11[rbp+12], eax ; 1846 : DWORD style = GetWindowLongW(window->win32.handle, GWL_STYLE); 00362 ba f0 ff ff ff mov edx, -16 00367 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 0036e 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00375 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW 0037b 89 85 04 01 00 00 mov DWORD PTR style$12[rbp], eax ; 1847 : UINT flags = SWP_NOACTIVATE | SWP_NOCOPYBITS; 00381 c7 85 24 01 00 00 10 01 00 00 mov DWORD PTR flags$13[rbp], 272 ; 00000110H ; 1848 : ; 1849 : if (window->decorated) 0038b 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 00392 83 78 0c 00 cmp DWORD PTR [rax+12], 0 00396 74 5b je SHORT $LN12@glfwSetWin ; 1850 : { ; 1851 : style &= ~WS_POPUP; 00398 8b 85 04 01 00 00 mov eax, DWORD PTR style$12[rbp] 0039e 0f ba f0 1f btr eax, 31 003a2 89 85 04 01 00 00 mov DWORD PTR style$12[rbp], eax ; 1852 : style |= getWindowStyle(window); 003a8 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 003af e8 00 00 00 00 call getWindowStyle 003b4 8b 8d 04 01 00 00 mov ecx, DWORD PTR style$12[rbp] 003ba 0b c8 or ecx, eax 003bc 8b c1 mov eax, ecx 003be 89 85 04 01 00 00 mov DWORD PTR style$12[rbp], eax ; 1853 : SetWindowLongW(window->win32.handle, GWL_STYLE, style); 003c4 44 8b 85 04 01 00 00 mov r8d, DWORD PTR style$12[rbp] 003cb ba f0 ff ff ff mov edx, -16 003d0 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 003d7 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 003de ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW ; 1854 : ; 1855 : flags |= SWP_FRAMECHANGED; 003e4 8b 85 24 01 00 00 mov eax, DWORD PTR flags$13[rbp] 003ea 83 c8 20 or eax, 32 ; 00000020H 003ed 89 85 24 01 00 00 mov DWORD PTR flags$13[rbp], eax $LN12@glfwSetWin: ; 1856 : } ; 1857 : ; 1858 : if (window->floating) 003f3 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 003fa 83 78 14 00 cmp DWORD PTR [rax+20], 0 003fe 74 0d je SHORT $LN13@glfwSetWin ; 1859 : after = HWND_TOPMOST; 00400 48 c7 85 b8 00 00 00 ff ff ff ff mov QWORD PTR after$10[rbp], -1 0040b eb 0b jmp SHORT $LN14@glfwSetWin $LN13@glfwSetWin: ; 1860 : else ; 1861 : after = HWND_NOTOPMOST; 0040d 48 c7 85 b8 00 00 00 fe ff ff ff mov QWORD PTR after$10[rbp], -2 $LN14@glfwSetWin: ; 1862 : ; 1863 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 00418 66 b9 39 38 mov cx, 14393 ; 00003839H 0041c e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 00421 85 c0 test eax, eax 00423 74 5f je SHORT $LN15@glfwSetWin ; 1864 : { ; 1865 : AdjustWindowRectExForDpi(&rect, getWindowStyle(window), 00425 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 0042c 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00433 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 00439 89 85 f4 01 00 00 mov DWORD PTR tv234[rbp], eax 0043f 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 00446 e8 00 00 00 00 call getWindowExStyle 0044b 89 85 f8 01 00 00 mov DWORD PTR tv238[rbp], eax 00451 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 00458 e8 00 00 00 00 call getWindowStyle 0045d 8b 8d f4 01 00 00 mov ecx, DWORD PTR tv234[rbp] 00463 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 00467 8b 8d f8 01 00 00 mov ecx, DWORD PTR tv238[rbp] 0046d 44 8b c9 mov r9d, ecx 00470 45 33 c0 xor r8d, r8d 00473 8b d0 mov edx, eax 00475 48 8d 8d d8 00 00 00 lea rcx, QWORD PTR rect$11[rbp] 0047c ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1866 : FALSE, getWindowExStyle(window), ; 1867 : GetDpiForWindow(window->win32.handle)); ; 1868 : } 00482 eb 39 jmp SHORT $LN16@glfwSetWin $LN15@glfwSetWin: ; 1869 : else ; 1870 : { ; 1871 : AdjustWindowRectEx(&rect, getWindowStyle(window), 00484 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 0048b e8 00 00 00 00 call getWindowExStyle 00490 89 85 f4 01 00 00 mov DWORD PTR tv246[rbp], eax 00496 48 8b 8d 30 02 00 00 mov rcx, QWORD PTR window$[rbp] 0049d e8 00 00 00 00 call getWindowStyle 004a2 8b 8d f4 01 00 00 mov ecx, DWORD PTR tv246[rbp] 004a8 44 8b c9 mov r9d, ecx 004ab 45 33 c0 xor r8d, r8d 004ae 8b d0 mov edx, eax 004b0 48 8d 8d d8 00 00 00 lea rcx, QWORD PTR rect$11[rbp] 004b7 ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx $LN16@glfwSetWin: ; 1872 : FALSE, getWindowExStyle(window)); ; 1873 : } ; 1874 : ; 1875 : SetWindowPos(window->win32.handle, after, 004bd 8b 85 dc 00 00 00 mov eax, DWORD PTR rect$11[rbp+4] 004c3 8b 8d e4 00 00 00 mov ecx, DWORD PTR rect$11[rbp+12] 004c9 2b c8 sub ecx, eax 004cb 8b c1 mov eax, ecx 004cd 8b 8d d8 00 00 00 mov ecx, DWORD PTR rect$11[rbp] 004d3 8b 95 e0 00 00 00 mov edx, DWORD PTR rect$11[rbp+8] 004d9 2b d1 sub edx, ecx 004db 8b ca mov ecx, edx 004dd 8b 95 24 01 00 00 mov edx, DWORD PTR flags$13[rbp] 004e3 89 54 24 30 mov DWORD PTR [rsp+48], edx 004e7 89 44 24 28 mov DWORD PTR [rsp+40], eax 004eb 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 004ef 44 8b 8d dc 00 00 00 mov r9d, DWORD PTR rect$11[rbp+4] 004f6 44 8b 85 d8 00 00 00 mov r8d, DWORD PTR rect$11[rbp] 004fd 48 8b 95 b8 00 00 00 mov rdx, QWORD PTR after$10[rbp] 00504 48 8b 85 30 02 00 00 mov rax, QWORD PTR window$[rbp] 0050b 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00512 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos $LN10@glfwSetWin: $LN1@glfwSetWin: ; 1876 : rect.left, rect.top, ; 1877 : rect.right - rect.left, rect.bottom - rect.top, ; 1878 : flags); ; 1879 : } ; 1880 : } 00518 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64] 0051c 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwSetWindowMonitorWin32$rtcFrameData 00523 e8 00 00 00 00 call _RTC_CheckStackVars 00528 48 8b 8d 00 02 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 0052f 48 33 cd xor rcx, rbp 00532 e8 00 00 00 00 call __security_check_cookie 00537 48 8d a5 18 02 00 00 lea rsp, QWORD PTR [rbp+536] 0053e 5f pop rdi 0053f 5d pop rbp 00540 c3 ret 0 _glfwSetWindowMonitorWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwFocusWindowWin32 _TEXT SEGMENT window$ = 224 _glfwFocusWindowWin32 PROC ; COMDAT ; 1766 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1767 : BringWindowToTop(window->win32.handle); 0001f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00026 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0002d ff 15 00 00 00 00 call QWORD PTR __imp_BringWindowToTop ; 1768 : SetForegroundWindow(window->win32.handle); 00033 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0003a 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00041 ff 15 00 00 00 00 call QWORD PTR __imp_SetForegroundWindow ; 1769 : SetFocus(window->win32.handle); 00047 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0004e 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00055 ff 15 00 00 00 00 call QWORD PTR __imp_SetFocus ; 1770 : } 0005b 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00062 5f pop rdi 00063 5d pop rbp 00064 c3 ret 0 _glfwFocusWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwRequestWindowAttentionWin32 _TEXT SEGMENT window$ = 224 _glfwRequestWindowAttentionWin32 PROC ; COMDAT ; 1761 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1762 : FlashWindow(window->win32.handle, TRUE); 0001f ba 01 00 00 00 mov edx, 1 00024 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0002b 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00032 ff 15 00 00 00 00 call QWORD PTR __imp_FlashWindow ; 1763 : } 00038 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0003f 5f pop rdi 00040 5d pop rbp 00041 c3 ret 0 _glfwRequestWindowAttentionWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwHideWindowWin32 _TEXT SEGMENT window$ = 224 _glfwHideWindowWin32 PROC ; COMDAT ; 1756 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1757 : ShowWindow(window->win32.handle, SW_HIDE); 0001f 33 d2 xor edx, edx 00021 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00028 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0002f ff 15 00 00 00 00 call QWORD PTR __imp_ShowWindow ; 1758 : } 00035 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0003c 5f pop rdi 0003d 5d pop rbp 0003e c3 ret 0 _glfwHideWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwShowWindowWin32 _TEXT SEGMENT window$ = 224 _glfwShowWindowWin32 PROC ; COMDAT ; 1751 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1752 : ShowWindow(window->win32.handle, SW_SHOWNA); 0001f ba 08 00 00 00 mov edx, 8 00024 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0002b 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00032 ff 15 00 00 00 00 call QWORD PTR __imp_ShowWindow ; 1753 : } 00038 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0003f 5f pop rdi 00040 5d pop rbp 00041 c3 ret 0 _glfwShowWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwMaximizeWindowWin32 _TEXT SEGMENT window$ = 224 _glfwMaximizeWindowWin32 PROC ; COMDAT ; 1743 : { $LN5: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1744 : if (IsWindowVisible(window->win32.handle)) 0001f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00026 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0002d ff 15 00 00 00 00 call QWORD PTR __imp_IsWindowVisible 00033 85 c0 test eax, eax 00035 74 1b je SHORT $LN2@glfwMaximi ; 1745 : ShowWindow(window->win32.handle, SW_MAXIMIZE); 00037 ba 03 00 00 00 mov edx, 3 0003c 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00043 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0004a ff 15 00 00 00 00 call QWORD PTR __imp_ShowWindow 00050 eb 0c jmp SHORT $LN3@glfwMaximi $LN2@glfwMaximi: ; 1746 : else ; 1747 : maximizeWindowManually(window); 00052 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00059 e8 00 00 00 00 call maximizeWindowManually $LN3@glfwMaximi: ; 1748 : } 0005e 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00065 5f pop rdi 00066 5d pop rbp 00067 c3 ret 0 _glfwMaximizeWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwRestoreWindowWin32 _TEXT SEGMENT window$ = 224 _glfwRestoreWindowWin32 PROC ; COMDAT ; 1738 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1739 : ShowWindow(window->win32.handle, SW_RESTORE); 0001f ba 09 00 00 00 mov edx, 9 00024 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0002b 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00032 ff 15 00 00 00 00 call QWORD PTR __imp_ShowWindow ; 1740 : } 00038 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0003f 5f pop rdi 00040 5d pop rbp 00041 c3 ret 0 _glfwRestoreWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwIconifyWindowWin32 _TEXT SEGMENT window$ = 224 _glfwIconifyWindowWin32 PROC ; COMDAT ; 1733 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1734 : ShowWindow(window->win32.handle, SW_MINIMIZE); 0001f ba 06 00 00 00 mov edx, 6 00024 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0002b 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00032 ff 15 00 00 00 00 call QWORD PTR __imp_ShowWindow ; 1735 : } 00038 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0003f 5f pop rdi 00040 5d pop rbp 00041 c3 ret 0 _glfwIconifyWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetWindowContentScaleWin32 _TEXT SEGMENT handle$ = 8 window$ = 256 xscale$ = 264 yscale$ = 272 _glfwGetWindowContentScaleWin32 PROC ; COMDAT ; 1726 : { $LN3: 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 55 push rbp 00010 57 push rdi 00011 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0001d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1727 : const HANDLE handle = MonitorFromWindow(window->win32.handle, 00029 ba 02 00 00 00 mov edx, 2 0002e 48 8b 85 00 01 00 00 mov rax, QWORD PTR window$[rbp] 00035 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0003c ff 15 00 00 00 00 call QWORD PTR __imp_MonitorFromWindow 00042 48 89 45 08 mov QWORD PTR handle$[rbp], rax ; 1728 : MONITOR_DEFAULTTONEAREST); ; 1729 : _glfwGetHMONITORContentScaleWin32(handle, xscale, yscale); 00046 4c 8b 85 10 01 00 00 mov r8, QWORD PTR yscale$[rbp] 0004d 48 8b 95 08 01 00 00 mov rdx, QWORD PTR xscale$[rbp] 00054 48 8b 4d 08 mov rcx, QWORD PTR handle$[rbp] 00058 e8 00 00 00 00 call _glfwGetHMONITORContentScaleWin32 ; 1730 : } 0005d 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 00064 5f pop rdi 00065 5d pop rbp 00066 c3 ret 0 _glfwGetWindowContentScaleWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetWindowFrameSizeWin32 _TEXT SEGMENT rect$ = 8 width$ = 52 height$ = 84 tv88 = 292 tv76 = 292 tv80 = 296 __$ArrayPad$ = 304 window$ = 352 left$ = 360 top$ = 368 right$ = 376 bottom$ = 384 _glfwGetWindowFrameSizeWin32 PROC ; COMDAT ; 1696 : { $LN9: 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 55 push rbp 00015 57 push rdi 00016 48 81 ec 78 01 00 00 sub rsp, 376 ; 00000178H 0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] 00022 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] 00027 b9 22 00 00 00 mov ecx, 34 ; 00000022H 0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00031 f3 ab rep stosd 00033 48 8b 8c 24 98 01 00 00 mov rcx, QWORD PTR [rsp+408] 0003b 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00042 48 33 c5 xor rax, rbp 00045 48 89 85 30 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0004c 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1697 : RECT rect; ; 1698 : int width, height; ; 1699 : ; 1700 : _glfwGetWindowSizeWin32(window, &width, &height); 00058 4c 8d 45 54 lea r8, QWORD PTR height$[rbp] 0005c 48 8d 55 34 lea rdx, QWORD PTR width$[rbp] 00060 48 8b 8d 60 01 00 00 mov rcx, QWORD PTR window$[rbp] 00067 e8 00 00 00 00 call _glfwGetWindowSizeWin32 ; 1701 : SetRect(&rect, 0, 0, width, height); 0006c 8b 45 54 mov eax, DWORD PTR height$[rbp] 0006f 89 44 24 20 mov DWORD PTR [rsp+32], eax 00073 44 8b 4d 34 mov r9d, DWORD PTR width$[rbp] 00077 45 33 c0 xor r8d, r8d 0007a 33 d2 xor edx, edx 0007c 48 8d 4d 08 lea rcx, QWORD PTR rect$[rbp] 00080 ff 15 00 00 00 00 call QWORD PTR __imp_SetRect ; 1702 : ; 1703 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 00086 66 b9 39 38 mov cx, 14393 ; 00003839H 0008a e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 0008f 85 c0 test eax, eax 00091 74 5c je SHORT $LN2@glfwGetWin ; 1704 : { ; 1705 : AdjustWindowRectExForDpi(&rect, getWindowStyle(window), 00093 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 0009a 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000a1 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 000a7 89 85 24 01 00 00 mov DWORD PTR tv76[rbp], eax 000ad 48 8b 8d 60 01 00 00 mov rcx, QWORD PTR window$[rbp] 000b4 e8 00 00 00 00 call getWindowExStyle 000b9 89 85 28 01 00 00 mov DWORD PTR tv80[rbp], eax 000bf 48 8b 8d 60 01 00 00 mov rcx, QWORD PTR window$[rbp] 000c6 e8 00 00 00 00 call getWindowStyle 000cb 8b 8d 24 01 00 00 mov ecx, DWORD PTR tv76[rbp] 000d1 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 000d5 8b 8d 28 01 00 00 mov ecx, DWORD PTR tv80[rbp] 000db 44 8b c9 mov r9d, ecx 000de 45 33 c0 xor r8d, r8d 000e1 8b d0 mov edx, eax 000e3 48 8d 4d 08 lea rcx, QWORD PTR rect$[rbp] 000e7 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1706 : FALSE, getWindowExStyle(window), ; 1707 : GetDpiForWindow(window->win32.handle)); ; 1708 : } 000ed eb 36 jmp SHORT $LN3@glfwGetWin $LN2@glfwGetWin: ; 1709 : else ; 1710 : { ; 1711 : AdjustWindowRectEx(&rect, getWindowStyle(window), 000ef 48 8b 8d 60 01 00 00 mov rcx, QWORD PTR window$[rbp] 000f6 e8 00 00 00 00 call getWindowExStyle 000fb 89 85 24 01 00 00 mov DWORD PTR tv88[rbp], eax 00101 48 8b 8d 60 01 00 00 mov rcx, QWORD PTR window$[rbp] 00108 e8 00 00 00 00 call getWindowStyle 0010d 8b 8d 24 01 00 00 mov ecx, DWORD PTR tv88[rbp] 00113 44 8b c9 mov r9d, ecx 00116 45 33 c0 xor r8d, r8d 00119 8b d0 mov edx, eax 0011b 48 8d 4d 08 lea rcx, QWORD PTR rect$[rbp] 0011f ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx $LN3@glfwGetWin: ; 1712 : FALSE, getWindowExStyle(window)); ; 1713 : } ; 1714 : ; 1715 : if (left) 00125 48 83 bd 68 01 00 00 00 cmp QWORD PTR left$[rbp], 0 0012d 74 0e je SHORT $LN4@glfwGetWin ; 1716 : *left = -rect.left; 0012f 8b 45 08 mov eax, DWORD PTR rect$[rbp] 00132 f7 d8 neg eax 00134 48 8b 8d 68 01 00 00 mov rcx, QWORD PTR left$[rbp] 0013b 89 01 mov DWORD PTR [rcx], eax $LN4@glfwGetWin: ; 1717 : if (top) 0013d 48 83 bd 70 01 00 00 00 cmp QWORD PTR top$[rbp], 0 00145 74 0e je SHORT $LN5@glfwGetWin ; 1718 : *top = -rect.top; 00147 8b 45 0c mov eax, DWORD PTR rect$[rbp+4] 0014a f7 d8 neg eax 0014c 48 8b 8d 70 01 00 00 mov rcx, QWORD PTR top$[rbp] 00153 89 01 mov DWORD PTR [rcx], eax $LN5@glfwGetWin: ; 1719 : if (right) 00155 48 83 bd 78 01 00 00 00 cmp QWORD PTR right$[rbp], 0 0015d 74 13 je SHORT $LN6@glfwGetWin ; 1720 : *right = rect.right - width; 0015f 8b 45 34 mov eax, DWORD PTR width$[rbp] 00162 8b 4d 10 mov ecx, DWORD PTR rect$[rbp+8] 00165 2b c8 sub ecx, eax 00167 8b c1 mov eax, ecx 00169 48 8b 8d 78 01 00 00 mov rcx, QWORD PTR right$[rbp] 00170 89 01 mov DWORD PTR [rcx], eax $LN6@glfwGetWin: ; 1721 : if (bottom) 00172 48 83 bd 80 01 00 00 00 cmp QWORD PTR bottom$[rbp], 0 0017a 74 13 je SHORT $LN7@glfwGetWin ; 1722 : *bottom = rect.bottom - height; 0017c 8b 45 54 mov eax, DWORD PTR height$[rbp] 0017f 8b 4d 14 mov ecx, DWORD PTR rect$[rbp+12] 00182 2b c8 sub ecx, eax 00184 8b c1 mov eax, ecx 00186 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR bottom$[rbp] 0018d 89 01 mov DWORD PTR [rcx], eax $LN7@glfwGetWin: ; 1723 : } 0018f 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] 00193 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwGetWindowFrameSizeWin32$rtcFrameData 0019a e8 00 00 00 00 call _RTC_CheckStackVars 0019f 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 001a6 48 33 cd xor rcx, rbp 001a9 e8 00 00 00 00 call __security_check_cookie 001ae 48 8d a5 48 01 00 00 lea rsp, QWORD PTR [rbp+328] 001b5 5f pop rdi 001b6 5d pop rbp 001b7 c3 ret 0 _glfwGetWindowFrameSizeWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetFramebufferSizeWin32 _TEXT SEGMENT window$ = 224 width$ = 232 height$ = 240 _glfwGetFramebufferSizeWin32 PROC ; COMDAT ; 1689 : { $LN3: 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 55 push rbp 00010 57 push rdi 00011 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0001d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1690 : _glfwGetWindowSizeWin32(window, width, height); 00029 4c 8b 85 f0 00 00 00 mov r8, QWORD PTR height$[rbp] 00030 48 8b 95 e8 00 00 00 mov rdx, QWORD PTR width$[rbp] 00037 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 0003e e8 00 00 00 00 call _glfwGetWindowSizeWin32 ; 1691 : } 00043 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0004a 5f pop rdi 0004b 5d pop rbp 0004c c3 ret 0 _glfwGetFramebufferSizeWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowAspectRatioWin32 _TEXT SEGMENT area$ = 8 __$ArrayPad$ = 232 window$ = 272 numer$ = 280 denom$ = 288 _glfwSetWindowAspectRatioWin32 PROC ; COMDAT ; 1674 : { $LN5: 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000e 55 push rbp 0000f 57 push rdi 00010 48 81 ec 28 01 00 00 sub rsp, 296 ; 00000128H 00017 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] 0001c 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] 00021 b9 0e 00 00 00 mov ecx, 14 00026 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002b f3 ab rep stosd 0002d 48 8b 8c 24 48 01 00 00 mov rcx, QWORD PTR [rsp+328] 00035 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0003c 48 33 c5 xor rax, rbp 0003f 48 89 85 e8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00046 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0004d e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1675 : RECT area; ; 1676 : ; 1677 : if (numer == GLFW_DONT_CARE || denom == GLFW_DONT_CARE) 00052 83 bd 18 01 00 00 ff cmp DWORD PTR numer$[rbp], -1 00059 74 09 je SHORT $LN3@glfwSetWin 0005b 83 bd 20 01 00 00 ff cmp DWORD PTR denom$[rbp], -1 00062 75 02 jne SHORT $LN2@glfwSetWin $LN3@glfwSetWin: ; 1678 : return; 00064 eb 6b jmp SHORT $LN1@glfwSetWin $LN2@glfwSetWin: ; 1679 : ; 1680 : GetWindowRect(window->win32.handle, &area); 00066 48 8d 55 08 lea rdx, QWORD PTR area$[rbp] 0006a 48 8b 85 10 01 00 00 mov rax, QWORD PTR window$[rbp] 00071 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00078 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowRect ; 1681 : applyAspectRatio(window, WMSZ_BOTTOMRIGHT, &area); 0007e 4c 8d 45 08 lea r8, QWORD PTR area$[rbp] 00082 ba 08 00 00 00 mov edx, 8 00087 48 8b 8d 10 01 00 00 mov rcx, QWORD PTR window$[rbp] 0008e e8 00 00 00 00 call applyAspectRatio ; 1682 : MoveWindow(window->win32.handle, 00093 8b 45 0c mov eax, DWORD PTR area$[rbp+4] 00096 8b 4d 14 mov ecx, DWORD PTR area$[rbp+12] 00099 2b c8 sub ecx, eax 0009b 8b c1 mov eax, ecx 0009d 8b 4d 08 mov ecx, DWORD PTR area$[rbp] 000a0 8b 55 10 mov edx, DWORD PTR area$[rbp+8] 000a3 2b d1 sub edx, ecx 000a5 8b ca mov ecx, edx 000a7 c7 44 24 28 01 00 00 00 mov DWORD PTR [rsp+40], 1 000af 89 44 24 20 mov DWORD PTR [rsp+32], eax 000b3 44 8b c9 mov r9d, ecx 000b6 44 8b 45 0c mov r8d, DWORD PTR area$[rbp+4] 000ba 8b 55 08 mov edx, DWORD PTR area$[rbp] 000bd 48 8b 85 10 01 00 00 mov rax, QWORD PTR window$[rbp] 000c4 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000cb ff 15 00 00 00 00 call QWORD PTR __imp_MoveWindow $LN1@glfwSetWin: ; 1683 : area.left, area.top, ; 1684 : area.right - area.left, ; 1685 : area.bottom - area.top, TRUE); ; 1686 : } 000d1 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] 000d5 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwSetWindowAspectRatioWin32$rtcFrameData 000dc e8 00 00 00 00 call _RTC_CheckStackVars 000e1 48 8b 8d e8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000e8 48 33 cd xor rcx, rbp 000eb e8 00 00 00 00 call __security_check_cookie 000f0 48 8d a5 f8 00 00 00 lea rsp, QWORD PTR [rbp+248] 000f7 5f pop rdi 000f8 5d pop rbp 000f9 c3 ret 0 _glfwSetWindowAspectRatioWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowSizeLimitsWin32 _TEXT SEGMENT area$ = 8 __$ArrayPad$ = 232 window$ = 272 minwidth$ = 280 minheight$ = 288 maxwidth$ = 296 maxheight$ = 304 _glfwSetWindowSizeLimitsWin32 PROC ; COMDAT ; 1657 : { $LN6: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx 0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00013 55 push rbp 00014 57 push rdi 00015 48 81 ec 28 01 00 00 sub rsp, 296 ; 00000128H 0001c 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] 00021 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] 00026 b9 0e 00 00 00 mov ecx, 14 0002b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00030 f3 ab rep stosd 00032 48 8b 8c 24 48 01 00 00 mov rcx, QWORD PTR [rsp+328] 0003a 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00041 48 33 c5 xor rax, rbp 00044 48 89 85 e8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0004b 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00052 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1658 : RECT area; ; 1659 : ; 1660 : if ((minwidth == GLFW_DONT_CARE || minheight == GLFW_DONT_CARE) && 00057 83 bd 18 01 00 00 ff cmp DWORD PTR minwidth$[rbp], -1 0005e 74 09 je SHORT $LN3@glfwSetWin 00060 83 bd 20 01 00 00 ff cmp DWORD PTR minheight$[rbp], -1 00067 75 14 jne SHORT $LN2@glfwSetWin $LN3@glfwSetWin: 00069 83 bd 28 01 00 00 ff cmp DWORD PTR maxwidth$[rbp], -1 00070 74 09 je SHORT $LN4@glfwSetWin 00072 83 bd 30 01 00 00 ff cmp DWORD PTR maxheight$[rbp], -1 00079 75 02 jne SHORT $LN2@glfwSetWin $LN4@glfwSetWin: ; 1661 : (maxwidth == GLFW_DONT_CARE || maxheight == GLFW_DONT_CARE)) ; 1662 : { ; 1663 : return; 0007b eb 56 jmp SHORT $LN1@glfwSetWin $LN2@glfwSetWin: ; 1664 : } ; 1665 : ; 1666 : GetWindowRect(window->win32.handle, &area); 0007d 48 8d 55 08 lea rdx, QWORD PTR area$[rbp] 00081 48 8b 85 10 01 00 00 mov rax, QWORD PTR window$[rbp] 00088 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0008f ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowRect ; 1667 : MoveWindow(window->win32.handle, 00095 8b 45 0c mov eax, DWORD PTR area$[rbp+4] 00098 8b 4d 14 mov ecx, DWORD PTR area$[rbp+12] 0009b 2b c8 sub ecx, eax 0009d 8b c1 mov eax, ecx 0009f 8b 4d 08 mov ecx, DWORD PTR area$[rbp] 000a2 8b 55 10 mov edx, DWORD PTR area$[rbp+8] 000a5 2b d1 sub edx, ecx 000a7 8b ca mov ecx, edx 000a9 c7 44 24 28 01 00 00 00 mov DWORD PTR [rsp+40], 1 000b1 89 44 24 20 mov DWORD PTR [rsp+32], eax 000b5 44 8b c9 mov r9d, ecx 000b8 44 8b 45 0c mov r8d, DWORD PTR area$[rbp+4] 000bc 8b 55 08 mov edx, DWORD PTR area$[rbp] 000bf 48 8b 85 10 01 00 00 mov rax, QWORD PTR window$[rbp] 000c6 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000cd ff 15 00 00 00 00 call QWORD PTR __imp_MoveWindow $LN1@glfwSetWin: ; 1668 : area.left, area.top, ; 1669 : area.right - area.left, ; 1670 : area.bottom - area.top, TRUE); ; 1671 : } 000d3 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] 000d7 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwSetWindowSizeLimitsWin32$rtcFrameData 000de e8 00 00 00 00 call _RTC_CheckStackVars 000e3 48 8b 8d e8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000ea 48 33 cd xor rcx, rbp 000ed e8 00 00 00 00 call __security_check_cookie 000f2 48 8d a5 f8 00 00 00 lea rsp, QWORD PTR [rbp+248] 000f9 5f pop rdi 000fa 5d pop rbp 000fb c3 ret 0 _glfwSetWindowSizeLimitsWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowSizeWin32 _TEXT SEGMENT rect$4 = 8 tv87 = 228 tv75 = 228 tv79 = 232 __$ArrayPad$ = 240 window$ = 288 width$ = 296 height$ = 304 _glfwSetWindowSizeWin32 PROC ; COMDAT ; 1623 : { $LN8: 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000e 55 push rbp 0000f 57 push rdi 00010 48 81 ec 48 01 00 00 sub rsp, 328 ; 00000148H 00017 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] 0001c 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64] 00021 b9 12 00 00 00 mov ecx, 18 00026 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002b f3 ab rep stosd 0002d 48 8b 8c 24 68 01 00 00 mov rcx, QWORD PTR [rsp+360] 00035 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0003c 48 33 c5 xor rax, rbp 0003f 48 89 85 f0 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00046 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0004d e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1624 : if (window->monitor) 00052 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 00059 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 0005e 74 38 je SHORT $LN2@glfwSetWin ; 1625 : { ; 1626 : if (window->monitor->window == window) 00060 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 00067 48 8b 40 50 mov rax, QWORD PTR [rax+80] 0006b 48 8b 8d 20 01 00 00 mov rcx, QWORD PTR window$[rbp] 00072 48 39 88 90 00 00 00 cmp QWORD PTR [rax+144], rcx 00079 75 18 jne SHORT $LN4@glfwSetWin ; 1627 : { ; 1628 : acquireMonitor(window); 0007b 48 8b 8d 20 01 00 00 mov rcx, QWORD PTR window$[rbp] 00082 e8 00 00 00 00 call acquireMonitor ; 1629 : fitToMonitor(window); 00087 48 8b 8d 20 01 00 00 mov rcx, QWORD PTR window$[rbp] 0008e e8 00 00 00 00 call fitToMonitor $LN4@glfwSetWin: ; 1630 : } ; 1631 : } 00093 e9 ff 00 00 00 jmp $LN3@glfwSetWin $LN2@glfwSetWin: ; 1632 : else ; 1633 : { ; 1634 : RECT rect = { 0, 0, width, height }; 00098 c7 45 08 00 00 00 00 mov DWORD PTR rect$4[rbp], 0 0009f c7 45 0c 00 00 00 00 mov DWORD PTR rect$4[rbp+4], 0 000a6 8b 85 28 01 00 00 mov eax, DWORD PTR width$[rbp] 000ac 89 45 10 mov DWORD PTR rect$4[rbp+8], eax 000af 8b 85 30 01 00 00 mov eax, DWORD PTR height$[rbp] 000b5 89 45 14 mov DWORD PTR rect$4[rbp+12], eax ; 1635 : ; 1636 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 000b8 66 b9 39 38 mov cx, 14393 ; 00003839H 000bc e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 000c1 85 c0 test eax, eax 000c3 74 5c je SHORT $LN5@glfwSetWin ; 1637 : { ; 1638 : AdjustWindowRectExForDpi(&rect, getWindowStyle(window), 000c5 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 000cc 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000d3 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 000d9 89 85 e4 00 00 00 mov DWORD PTR tv75[rbp], eax 000df 48 8b 8d 20 01 00 00 mov rcx, QWORD PTR window$[rbp] 000e6 e8 00 00 00 00 call getWindowExStyle 000eb 89 85 e8 00 00 00 mov DWORD PTR tv79[rbp], eax 000f1 48 8b 8d 20 01 00 00 mov rcx, QWORD PTR window$[rbp] 000f8 e8 00 00 00 00 call getWindowStyle 000fd 8b 8d e4 00 00 00 mov ecx, DWORD PTR tv75[rbp] 00103 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 00107 8b 8d e8 00 00 00 mov ecx, DWORD PTR tv79[rbp] 0010d 44 8b c9 mov r9d, ecx 00110 45 33 c0 xor r8d, r8d 00113 8b d0 mov edx, eax 00115 48 8d 4d 08 lea rcx, QWORD PTR rect$4[rbp] 00119 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1639 : FALSE, getWindowExStyle(window), ; 1640 : GetDpiForWindow(window->win32.handle)); ; 1641 : } 0011f eb 36 jmp SHORT $LN6@glfwSetWin $LN5@glfwSetWin: ; 1642 : else ; 1643 : { ; 1644 : AdjustWindowRectEx(&rect, getWindowStyle(window), 00121 48 8b 8d 20 01 00 00 mov rcx, QWORD PTR window$[rbp] 00128 e8 00 00 00 00 call getWindowExStyle 0012d 89 85 e4 00 00 00 mov DWORD PTR tv87[rbp], eax 00133 48 8b 8d 20 01 00 00 mov rcx, QWORD PTR window$[rbp] 0013a e8 00 00 00 00 call getWindowStyle 0013f 8b 8d e4 00 00 00 mov ecx, DWORD PTR tv87[rbp] 00145 44 8b c9 mov r9d, ecx 00148 45 33 c0 xor r8d, r8d 0014b 8b d0 mov edx, eax 0014d 48 8d 4d 08 lea rcx, QWORD PTR rect$4[rbp] 00151 ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx $LN6@glfwSetWin: ; 1645 : FALSE, getWindowExStyle(window)); ; 1646 : } ; 1647 : ; 1648 : SetWindowPos(window->win32.handle, HWND_TOP, 00157 8b 45 0c mov eax, DWORD PTR rect$4[rbp+4] 0015a 8b 4d 14 mov ecx, DWORD PTR rect$4[rbp+12] 0015d 2b c8 sub ecx, eax 0015f 8b c1 mov eax, ecx 00161 8b 4d 08 mov ecx, DWORD PTR rect$4[rbp] 00164 8b 55 10 mov edx, DWORD PTR rect$4[rbp+8] 00167 2b d1 sub edx, ecx 00169 8b ca mov ecx, edx 0016b c7 44 24 30 16 02 00 00 mov DWORD PTR [rsp+48], 534 ; 00000216H 00173 89 44 24 28 mov DWORD PTR [rsp+40], eax 00177 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 0017b 45 33 c9 xor r9d, r9d 0017e 45 33 c0 xor r8d, r8d 00181 33 d2 xor edx, edx 00183 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 0018a 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00191 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos $LN3@glfwSetWin: ; 1649 : 0, 0, rect.right - rect.left, rect.bottom - rect.top, ; 1650 : SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOMOVE | SWP_NOZORDER); ; 1651 : } ; 1652 : } 00197 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64] 0019b 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwSetWindowSizeWin32$rtcFrameData 001a2 e8 00 00 00 00 call _RTC_CheckStackVars 001a7 48 8b 8d f0 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 001ae 48 33 cd xor rcx, rbp 001b1 e8 00 00 00 00 call __security_check_cookie 001b6 48 8d a5 08 01 00 00 lea rsp, QWORD PTR [rbp+264] 001bd 5f pop rdi 001be 5d pop rbp 001bf c3 ret 0 _glfwSetWindowSizeWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetWindowSizeWin32 _TEXT SEGMENT area$ = 8 __$ArrayPad$ = 232 window$ = 272 width$ = 280 height$ = 288 _glfwGetWindowSizeWin32 PROC ; COMDAT ; 1612 : { $LN5: 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 55 push rbp 00010 57 push rdi 00011 48 81 ec 18 01 00 00 sub rsp, 280 ; 00000118H 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0001d 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00022 b9 0e 00 00 00 mov ecx, 14 00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002c f3 ab rep stosd 0002e 48 8b 8c 24 38 01 00 00 mov rcx, QWORD PTR [rsp+312] 00036 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0003d 48 33 c5 xor rax, rbp 00040 48 89 85 e8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00047 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1613 : RECT area; ; 1614 : GetClientRect(window->win32.handle, &area); 00053 48 8d 55 08 lea rdx, QWORD PTR area$[rbp] 00057 48 8b 85 10 01 00 00 mov rax, QWORD PTR window$[rbp] 0005e 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00065 ff 15 00 00 00 00 call QWORD PTR __imp_GetClientRect ; 1615 : ; 1616 : if (width) 0006b 48 83 bd 18 01 00 00 00 cmp QWORD PTR width$[rbp], 0 00073 74 0c je SHORT $LN2@glfwGetWin ; 1617 : *width = area.right; 00075 48 8b 85 18 01 00 00 mov rax, QWORD PTR width$[rbp] 0007c 8b 4d 10 mov ecx, DWORD PTR area$[rbp+8] 0007f 89 08 mov DWORD PTR [rax], ecx $LN2@glfwGetWin: ; 1618 : if (height) 00081 48 83 bd 20 01 00 00 00 cmp QWORD PTR height$[rbp], 0 00089 74 0c je SHORT $LN3@glfwGetWin ; 1619 : *height = area.bottom; 0008b 48 8b 85 20 01 00 00 mov rax, QWORD PTR height$[rbp] 00092 8b 4d 14 mov ecx, DWORD PTR area$[rbp+12] 00095 89 08 mov DWORD PTR [rax], ecx $LN3@glfwGetWin: ; 1620 : } 00097 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 0009b 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwGetWindowSizeWin32$rtcFrameData 000a2 e8 00 00 00 00 call _RTC_CheckStackVars 000a7 48 8b 8d e8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000ae 48 33 cd xor rcx, rbp 000b1 e8 00 00 00 00 call __security_check_cookie 000b6 48 8d a5 f8 00 00 00 lea rsp, QWORD PTR [rbp+248] 000bd 5f pop rdi 000be 5d pop rbp 000bf c3 ret 0 _glfwGetWindowSizeWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowPosWin32 _TEXT SEGMENT rect$ = 8 tv80 = 228 tv68 = 228 tv72 = 232 __$ArrayPad$ = 240 window$ = 288 xpos$ = 296 ypos$ = 304 _glfwSetWindowPosWin32 PROC ; COMDAT ; 1592 : { $LN5: 00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000e 55 push rbp 0000f 57 push rdi 00010 48 81 ec 48 01 00 00 sub rsp, 328 ; 00000148H 00017 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64] 0001c 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64] 00021 b9 12 00 00 00 mov ecx, 18 00026 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002b f3 ab rep stosd 0002d 48 8b 8c 24 68 01 00 00 mov rcx, QWORD PTR [rsp+360] 00035 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0003c 48 33 c5 xor rax, rbp 0003f 48 89 85 f0 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00046 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0004d e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1593 : RECT rect = { xpos, ypos, xpos, ypos }; 00052 8b 85 28 01 00 00 mov eax, DWORD PTR xpos$[rbp] 00058 89 45 08 mov DWORD PTR rect$[rbp], eax 0005b 8b 85 30 01 00 00 mov eax, DWORD PTR ypos$[rbp] 00061 89 45 0c mov DWORD PTR rect$[rbp+4], eax 00064 8b 85 28 01 00 00 mov eax, DWORD PTR xpos$[rbp] 0006a 89 45 10 mov DWORD PTR rect$[rbp+8], eax 0006d 8b 85 30 01 00 00 mov eax, DWORD PTR ypos$[rbp] 00073 89 45 14 mov DWORD PTR rect$[rbp+12], eax ; 1594 : ; 1595 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 00076 66 b9 39 38 mov cx, 14393 ; 00003839H 0007a e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 0007f 85 c0 test eax, eax 00081 74 5c je SHORT $LN2@glfwSetWin ; 1596 : { ; 1597 : AdjustWindowRectExForDpi(&rect, getWindowStyle(window), 00083 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 0008a 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00091 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 00097 89 85 e4 00 00 00 mov DWORD PTR tv68[rbp], eax 0009d 48 8b 8d 20 01 00 00 mov rcx, QWORD PTR window$[rbp] 000a4 e8 00 00 00 00 call getWindowExStyle 000a9 89 85 e8 00 00 00 mov DWORD PTR tv72[rbp], eax 000af 48 8b 8d 20 01 00 00 mov rcx, QWORD PTR window$[rbp] 000b6 e8 00 00 00 00 call getWindowStyle 000bb 8b 8d e4 00 00 00 mov ecx, DWORD PTR tv68[rbp] 000c1 89 4c 24 20 mov DWORD PTR [rsp+32], ecx 000c5 8b 8d e8 00 00 00 mov ecx, DWORD PTR tv72[rbp] 000cb 44 8b c9 mov r9d, ecx 000ce 45 33 c0 xor r8d, r8d 000d1 8b d0 mov edx, eax 000d3 48 8d 4d 08 lea rcx, QWORD PTR rect$[rbp] 000d7 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1598 : FALSE, getWindowExStyle(window), ; 1599 : GetDpiForWindow(window->win32.handle)); ; 1600 : } 000dd eb 36 jmp SHORT $LN3@glfwSetWin $LN2@glfwSetWin: ; 1601 : else ; 1602 : { ; 1603 : AdjustWindowRectEx(&rect, getWindowStyle(window), 000df 48 8b 8d 20 01 00 00 mov rcx, QWORD PTR window$[rbp] 000e6 e8 00 00 00 00 call getWindowExStyle 000eb 89 85 e4 00 00 00 mov DWORD PTR tv80[rbp], eax 000f1 48 8b 8d 20 01 00 00 mov rcx, QWORD PTR window$[rbp] 000f8 e8 00 00 00 00 call getWindowStyle 000fd 8b 8d e4 00 00 00 mov ecx, DWORD PTR tv80[rbp] 00103 44 8b c9 mov r9d, ecx 00106 45 33 c0 xor r8d, r8d 00109 8b d0 mov edx, eax 0010b 48 8d 4d 08 lea rcx, QWORD PTR rect$[rbp] 0010f ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx $LN3@glfwSetWin: ; 1604 : FALSE, getWindowExStyle(window)); ; 1605 : } ; 1606 : ; 1607 : SetWindowPos(window->win32.handle, NULL, rect.left, rect.top, 0, 0, 00115 c7 44 24 30 15 00 00 00 mov DWORD PTR [rsp+48], 21 0011d c7 44 24 28 00 00 00 00 mov DWORD PTR [rsp+40], 0 00125 c7 44 24 20 00 00 00 00 mov DWORD PTR [rsp+32], 0 0012d 44 8b 4d 0c mov r9d, DWORD PTR rect$[rbp+4] 00131 44 8b 45 08 mov r8d, DWORD PTR rect$[rbp] 00135 33 d2 xor edx, edx 00137 48 8b 85 20 01 00 00 mov rax, QWORD PTR window$[rbp] 0013e 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00145 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos ; 1608 : SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOSIZE); ; 1609 : } 0014b 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64] 0014f 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwSetWindowPosWin32$rtcFrameData 00156 e8 00 00 00 00 call _RTC_CheckStackVars 0015b 48 8b 8d f0 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 00162 48 33 cd xor rcx, rbp 00165 e8 00 00 00 00 call __security_check_cookie 0016a 48 8d a5 08 01 00 00 lea rsp, QWORD PTR [rbp+264] 00171 5f pop rdi 00172 5d pop rbp 00173 c3 ret 0 _glfwSetWindowPosWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetWindowPosWin32 _TEXT SEGMENT pos$ = 8 __$ArrayPad$ = 216 window$ = 256 xpos$ = 264 ypos$ = 272 _glfwGetWindowPosWin32 PROC ; COMDAT ; 1581 : { $LN5: 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 55 push rbp 00010 57 push rdi 00011 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0001d 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32] 00022 b9 0a 00 00 00 mov ecx, 10 00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002c f3 ab rep stosd 0002e 48 8b 8c 24 28 01 00 00 mov rcx, QWORD PTR [rsp+296] 00036 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0003d 48 33 c5 xor rax, rbp 00040 48 89 85 d8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00047 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1582 : POINT pos = { 0, 0 }; 00053 c7 45 08 00 00 00 00 mov DWORD PTR pos$[rbp], 0 0005a c7 45 0c 00 00 00 00 mov DWORD PTR pos$[rbp+4], 0 ; 1583 : ClientToScreen(window->win32.handle, &pos); 00061 48 8d 55 08 lea rdx, QWORD PTR pos$[rbp] 00065 48 8b 85 00 01 00 00 mov rax, QWORD PTR window$[rbp] 0006c 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00073 ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 1584 : ; 1585 : if (xpos) 00079 48 83 bd 08 01 00 00 00 cmp QWORD PTR xpos$[rbp], 0 00081 74 0c je SHORT $LN2@glfwGetWin ; 1586 : *xpos = pos.x; 00083 48 8b 85 08 01 00 00 mov rax, QWORD PTR xpos$[rbp] 0008a 8b 4d 08 mov ecx, DWORD PTR pos$[rbp] 0008d 89 08 mov DWORD PTR [rax], ecx $LN2@glfwGetWin: ; 1587 : if (ypos) 0008f 48 83 bd 10 01 00 00 00 cmp QWORD PTR ypos$[rbp], 0 00097 74 0c je SHORT $LN3@glfwGetWin ; 1588 : *ypos = pos.y; 00099 48 8b 85 10 01 00 00 mov rax, QWORD PTR ypos$[rbp] 000a0 8b 4d 0c mov ecx, DWORD PTR pos$[rbp+4] 000a3 89 08 mov DWORD PTR [rax], ecx $LN3@glfwGetWin: ; 1589 : } 000a5 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 000a9 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwGetWindowPosWin32$rtcFrameData 000b0 e8 00 00 00 00 call _RTC_CheckStackVars 000b5 48 8b 8d d8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000bc 48 33 cd xor rcx, rbp 000bf e8 00 00 00 00 call __security_check_cookie 000c4 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 000cb 5f pop rdi 000cc 5d pop rbp 000cd c3 ret 0 _glfwGetWindowPosWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowIconWin32 _TEXT SEGMENT bigIcon$ = 8 smallIcon$ = 40 bigImage$1 = 72 smallImage$2 = 104 tv75 = 308 tv66 = 308 window$ = 352 count$ = 360 images$ = 368 _glfwSetWindowIconWin32 PROC ; COMDAT ; 1543 : { $LN8: 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 00005 89 54 24 10 mov DWORD PTR [rsp+16], edx 00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000e 55 push rbp 0000f 57 push rdi 00010 48 81 ec 68 01 00 00 sub rsp, 360 ; 00000168H 00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0001c 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00023 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1544 : HICON bigIcon = NULL, smallIcon = NULL; 00028 48 c7 45 08 00 00 00 00 mov QWORD PTR bigIcon$[rbp], 0 00030 48 c7 45 28 00 00 00 00 mov QWORD PTR smallIcon$[rbp], 0 ; 1545 : ; 1546 : if (count) 00038 83 bd 68 01 00 00 00 cmp DWORD PTR count$[rbp], 0 0003f 0f 84 ae 00 00 00 je $LN2@glfwSetWin ; 1547 : { ; 1548 : const GLFWimage* bigImage = chooseImage(count, images, 00045 b9 0c 00 00 00 mov ecx, 12 0004a ff 15 00 00 00 00 call QWORD PTR __imp_GetSystemMetrics 00050 89 85 34 01 00 00 mov DWORD PTR tv66[rbp], eax 00056 b9 0b 00 00 00 mov ecx, 11 0005b ff 15 00 00 00 00 call QWORD PTR __imp_GetSystemMetrics 00061 8b 8d 34 01 00 00 mov ecx, DWORD PTR tv66[rbp] 00067 44 8b c9 mov r9d, ecx 0006a 44 8b c0 mov r8d, eax 0006d 48 8b 95 70 01 00 00 mov rdx, QWORD PTR images$[rbp] 00074 8b 8d 68 01 00 00 mov ecx, DWORD PTR count$[rbp] 0007a e8 00 00 00 00 call chooseImage 0007f 48 89 45 48 mov QWORD PTR bigImage$1[rbp], rax ; 1549 : GetSystemMetrics(SM_CXICON), ; 1550 : GetSystemMetrics(SM_CYICON)); ; 1551 : const GLFWimage* smallImage = chooseImage(count, images, 00083 b9 32 00 00 00 mov ecx, 50 ; 00000032H 00088 ff 15 00 00 00 00 call QWORD PTR __imp_GetSystemMetrics 0008e 89 85 34 01 00 00 mov DWORD PTR tv75[rbp], eax 00094 b9 31 00 00 00 mov ecx, 49 ; 00000031H 00099 ff 15 00 00 00 00 call QWORD PTR __imp_GetSystemMetrics 0009f 8b 8d 34 01 00 00 mov ecx, DWORD PTR tv75[rbp] 000a5 44 8b c9 mov r9d, ecx 000a8 44 8b c0 mov r8d, eax 000ab 48 8b 95 70 01 00 00 mov rdx, QWORD PTR images$[rbp] 000b2 8b 8d 68 01 00 00 mov ecx, DWORD PTR count$[rbp] 000b8 e8 00 00 00 00 call chooseImage 000bd 48 89 45 68 mov QWORD PTR smallImage$2[rbp], rax ; 1552 : GetSystemMetrics(SM_CXSMICON), ; 1553 : GetSystemMetrics(SM_CYSMICON)); ; 1554 : ; 1555 : bigIcon = createIcon(bigImage, 0, 0, GLFW_TRUE); 000c1 41 b9 01 00 00 00 mov r9d, 1 000c7 45 33 c0 xor r8d, r8d 000ca 33 d2 xor edx, edx 000cc 48 8b 4d 48 mov rcx, QWORD PTR bigImage$1[rbp] 000d0 e8 00 00 00 00 call createIcon 000d5 48 89 45 08 mov QWORD PTR bigIcon$[rbp], rax ; 1556 : smallIcon = createIcon(smallImage, 0, 0, GLFW_TRUE); 000d9 41 b9 01 00 00 00 mov r9d, 1 000df 45 33 c0 xor r8d, r8d 000e2 33 d2 xor edx, edx 000e4 48 8b 4d 68 mov rcx, QWORD PTR smallImage$2[rbp] 000e8 e8 00 00 00 00 call createIcon 000ed 48 89 45 28 mov QWORD PTR smallIcon$[rbp], rax ; 1557 : } 000f1 eb 3a jmp SHORT $LN3@glfwSetWin $LN2@glfwSetWin: ; 1558 : else ; 1559 : { ; 1560 : bigIcon = (HICON) GetClassLongPtrW(window->win32.handle, GCLP_HICON); 000f3 ba f2 ff ff ff mov edx, -14 000f8 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 000ff 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00106 ff 15 00 00 00 00 call QWORD PTR __imp_GetClassLongPtrW 0010c 48 89 45 08 mov QWORD PTR bigIcon$[rbp], rax ; 1561 : smallIcon = (HICON) GetClassLongPtrW(window->win32.handle, GCLP_HICONSM); 00110 ba de ff ff ff mov edx, -34 ; ffffffffffffffdeH 00115 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 0011c 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 00123 ff 15 00 00 00 00 call QWORD PTR __imp_GetClassLongPtrW 00129 48 89 45 28 mov QWORD PTR smallIcon$[rbp], rax $LN3@glfwSetWin: ; 1562 : } ; 1563 : ; 1564 : SendMessageW(window->win32.handle, WM_SETICON, ICON_BIG, (LPARAM) bigIcon); 0012d 4c 8b 4d 08 mov r9, QWORD PTR bigIcon$[rbp] 00131 41 b8 01 00 00 00 mov r8d, 1 00137 ba 80 00 00 00 mov edx, 128 ; 00000080H 0013c 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 00143 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0014a ff 15 00 00 00 00 call QWORD PTR __imp_SendMessageW ; 1565 : SendMessageW(window->win32.handle, WM_SETICON, ICON_SMALL, (LPARAM) smallIcon); 00150 4c 8b 4d 28 mov r9, QWORD PTR smallIcon$[rbp] 00154 45 33 c0 xor r8d, r8d 00157 ba 80 00 00 00 mov edx, 128 ; 00000080H 0015c 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 00163 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0016a ff 15 00 00 00 00 call QWORD PTR __imp_SendMessageW ; 1566 : ; 1567 : if (window->win32.bigIcon) 00170 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 00177 48 83 b8 60 03 00 00 00 cmp QWORD PTR [rax+864], 0 0017f 74 14 je SHORT $LN4@glfwSetWin ; 1568 : DestroyIcon(window->win32.bigIcon); 00181 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 00188 48 8b 88 60 03 00 00 mov rcx, QWORD PTR [rax+864] 0018f ff 15 00 00 00 00 call QWORD PTR __imp_DestroyIcon $LN4@glfwSetWin: ; 1569 : ; 1570 : if (window->win32.smallIcon) 00195 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 0019c 48 83 b8 68 03 00 00 00 cmp QWORD PTR [rax+872], 0 001a4 74 14 je SHORT $LN5@glfwSetWin ; 1571 : DestroyIcon(window->win32.smallIcon); 001a6 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 001ad 48 8b 88 68 03 00 00 mov rcx, QWORD PTR [rax+872] 001b4 ff 15 00 00 00 00 call QWORD PTR __imp_DestroyIcon $LN5@glfwSetWin: ; 1572 : ; 1573 : if (count) 001ba 83 bd 68 01 00 00 00 cmp DWORD PTR count$[rbp], 0 001c1 74 24 je SHORT $LN6@glfwSetWin ; 1574 : { ; 1575 : window->win32.bigIcon = bigIcon; 001c3 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 001ca 48 8b 4d 08 mov rcx, QWORD PTR bigIcon$[rbp] 001ce 48 89 88 60 03 00 00 mov QWORD PTR [rax+864], rcx ; 1576 : window->win32.smallIcon = smallIcon; 001d5 48 8b 85 60 01 00 00 mov rax, QWORD PTR window$[rbp] 001dc 48 8b 4d 28 mov rcx, QWORD PTR smallIcon$[rbp] 001e0 48 89 88 68 03 00 00 mov QWORD PTR [rax+872], rcx $LN6@glfwSetWin: ; 1577 : } ; 1578 : } 001e7 48 8d a5 48 01 00 00 lea rsp, QWORD PTR [rbp+328] 001ee 5f pop rdi 001ef 5d pop rbp 001f0 c3 ret 0 _glfwSetWindowIconWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowTitleWin32 _TEXT SEGMENT wideTitle$ = 8 window$ = 256 title$ = 264 _glfwSetWindowTitleWin32 PROC ; COMDAT ; 1533 : { $LN4: 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a 55 push rbp 0000b 57 push rdi 0000c 48 81 ec 08 01 00 00 sub rsp, 264 ; 00000108H 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00018 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1534 : WCHAR* wideTitle = _glfwCreateWideStringFromUTF8Win32(title); 00024 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR title$[rbp] 0002b e8 00 00 00 00 call _glfwCreateWideStringFromUTF8Win32 00030 48 89 45 08 mov QWORD PTR wideTitle$[rbp], rax ; 1535 : if (!wideTitle) 00034 48 83 7d 08 00 cmp QWORD PTR wideTitle$[rbp], 0 00039 75 02 jne SHORT $LN2@glfwSetWin ; 1536 : return; 0003b eb 21 jmp SHORT $LN1@glfwSetWin $LN2@glfwSetWin: ; 1537 : ; 1538 : SetWindowTextW(window->win32.handle, wideTitle); 0003d 48 8b 55 08 mov rdx, QWORD PTR wideTitle$[rbp] 00041 48 8b 85 00 01 00 00 mov rax, QWORD PTR window$[rbp] 00048 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 0004f ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowTextW ; 1539 : _glfw_free(wideTitle); 00055 48 8b 4d 08 mov rcx, QWORD PTR wideTitle$[rbp] 00059 e8 00 00 00 00 call _glfw_free $LN1@glfwSetWin: ; 1540 : } 0005e 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 00065 5f pop rdi 00066 5d pop rbp 00067 c3 ret 0 _glfwSetWindowTitleWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwDestroyWindowWin32 _TEXT SEGMENT window$ = 224 _glfwDestroyWindowWin32 PROC ; COMDAT ; 1505 : { $LN10: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1506 : if (window->monitor) 0001f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00026 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 0002b 74 0c je SHORT $LN2@glfwDestro ; 1507 : releaseMonitor(window); 0002d 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00034 e8 00 00 00 00 call releaseMonitor $LN2@glfwDestro: ; 1508 : ; 1509 : if (window->context.destroy) 00039 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00040 48 83 b8 78 02 00 00 00 cmp QWORD PTR [rax+632], 0 00048 74 14 je SHORT $LN3@glfwDestro ; 1510 : window->context.destroy(window); 0004a 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00051 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00058 ff 90 78 02 00 00 call QWORD PTR [rax+632] $LN3@glfwDestro: ; 1511 : ; 1512 : if (_glfw.win32.disabledCursorWindow == window) 0005e 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00065 48 39 05 48 29 00 00 cmp QWORD PTR _glfw+10568, rax 0006c 75 0c jne SHORT $LN4@glfwDestro ; 1513 : enableCursor(window); 0006e 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00075 e8 00 00 00 00 call enableCursor $LN4@glfwDestro: ; 1514 : ; 1515 : if (_glfw.win32.capturedCursorWindow == window) 0007a 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00081 48 39 05 50 29 00 00 cmp QWORD PTR _glfw+10576, rax 00088 75 05 jne SHORT $LN5@glfwDestro ; 1516 : releaseCursor(); 0008a e8 00 00 00 00 call releaseCursor $LN5@glfwDestro: ; 1517 : ; 1518 : if (window->win32.handle) 0008f 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 00096 48 83 b8 58 03 00 00 00 cmp QWORD PTR [rax+856], 0 0009e 74 41 je SHORT $LN6@glfwDestro ; 1519 : { ; 1520 : RemovePropW(window->win32.handle, L"GLFW"); 000a0 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_19JBPKICJI@?$AAG?$AAL?$AAF?$AAW@ 000a7 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 000ae 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000b5 ff 15 00 00 00 00 call QWORD PTR __imp_RemovePropW ; 1521 : DestroyWindow(window->win32.handle); 000bb 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 000c2 48 8b 88 58 03 00 00 mov rcx, QWORD PTR [rax+856] 000c9 ff 15 00 00 00 00 call QWORD PTR __imp_DestroyWindow ; 1522 : window->win32.handle = NULL; 000cf 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 000d6 48 c7 80 58 03 00 00 00 00 00 00 mov QWORD PTR [rax+856], 0 $LN6@glfwDestro: ; 1523 : } ; 1524 : ; 1525 : if (window->win32.bigIcon) 000e1 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 000e8 48 83 b8 60 03 00 00 00 cmp QWORD PTR [rax+864], 0 000f0 74 14 je SHORT $LN7@glfwDestro ; 1526 : DestroyIcon(window->win32.bigIcon); 000f2 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 000f9 48 8b 88 60 03 00 00 mov rcx, QWORD PTR [rax+864] 00100 ff 15 00 00 00 00 call QWORD PTR __imp_DestroyIcon $LN7@glfwDestro: ; 1527 : ; 1528 : if (window->win32.smallIcon) 00106 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0010d 48 83 b8 68 03 00 00 00 cmp QWORD PTR [rax+872], 0 00115 74 14 je SHORT $LN8@glfwDestro ; 1529 : DestroyIcon(window->win32.smallIcon); 00117 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0011e 48 8b 88 68 03 00 00 mov rcx, QWORD PTR [rax+872] 00125 ff 15 00 00 00 00 call QWORD PTR __imp_DestroyIcon $LN8@glfwDestro: ; 1530 : } 0012b 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00132 5f pop rdi 00133 5d pop rbp 00134 c3 ret 0 _glfwDestroyWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwCreateWindowWin32 _TEXT SEGMENT window$ = 224 wndconfig$ = 232 ctxconfig$ = 240 fbconfig$ = 248 _glfwCreateWindowWin32 PROC ; COMDAT ; 1446 : { $LN23: 00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9 00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00014 55 push rbp 00015 57 push rdi 00016 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00022 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6A44CDE5_win32_window@c 00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1447 : if (!createNativeWindow(window, wndconfig, fbconfig)) 0002e 4c 8b 85 f8 00 00 00 mov r8, QWORD PTR fbconfig$[rbp] 00035 48 8b 95 e8 00 00 00 mov rdx, QWORD PTR wndconfig$[rbp] 0003c 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00043 e8 00 00 00 00 call createNativeWindow 00048 85 c0 test eax, eax 0004a 75 07 jne SHORT $LN2@glfwCreate ; 1448 : return GLFW_FALSE; 0004c 33 c0 xor eax, eax 0004e e9 b2 01 00 00 jmp $LN1@glfwCreate $LN2@glfwCreate: ; 1449 : ; 1450 : if (ctxconfig->client != GLFW_NO_API) 00053 48 8b 85 f0 00 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 0005a 83 38 00 cmp DWORD PTR [rax], 0 0005d 0f 84 f4 00 00 00 je $LN3@glfwCreate ; 1451 : { ; 1452 : if (ctxconfig->source == GLFW_NATIVE_CONTEXT_API) 00063 48 8b 85 f0 00 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 0006a 81 78 04 01 60 03 00 cmp DWORD PTR [rax+4], 221185 ; 00036001H 00071 75 3a jne SHORT $LN4@glfwCreate ; 1453 : { ; 1454 : if (!_glfwInitWGL()) 00073 e8 00 00 00 00 call _glfwInitWGL 00078 85 c0 test eax, eax 0007a 75 07 jne SHORT $LN6@glfwCreate ; 1455 : return GLFW_FALSE; 0007c 33 c0 xor eax, eax 0007e e9 82 01 00 00 jmp $LN1@glfwCreate $LN6@glfwCreate: ; 1456 : if (!_glfwCreateContextWGL(window, ctxconfig, fbconfig)) 00083 4c 8b 85 f8 00 00 00 mov r8, QWORD PTR fbconfig$[rbp] 0008a 48 8b 95 f0 00 00 00 mov rdx, QWORD PTR ctxconfig$[rbp] 00091 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00098 e8 00 00 00 00 call _glfwCreateContextWGL 0009d 85 c0 test eax, eax 0009f 75 07 jne SHORT $LN7@glfwCreate ; 1457 : return GLFW_FALSE; 000a1 33 c0 xor eax, eax 000a3 e9 5d 01 00 00 jmp $LN1@glfwCreate $LN7@glfwCreate: ; 1458 : } 000a8 e9 8c 00 00 00 jmp $LN5@glfwCreate $LN4@glfwCreate: ; 1459 : else if (ctxconfig->source == GLFW_EGL_CONTEXT_API) 000ad 48 8b 85 f0 00 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 000b4 81 78 04 02 60 03 00 cmp DWORD PTR [rax+4], 221186 ; 00036002H 000bb 75 37 jne SHORT $LN8@glfwCreate ; 1460 : { ; 1461 : if (!_glfwInitEGL()) 000bd e8 00 00 00 00 call _glfwInitEGL 000c2 85 c0 test eax, eax 000c4 75 07 jne SHORT $LN10@glfwCreate ; 1462 : return GLFW_FALSE; 000c6 33 c0 xor eax, eax 000c8 e9 38 01 00 00 jmp $LN1@glfwCreate $LN10@glfwCreate: ; 1463 : if (!_glfwCreateContextEGL(window, ctxconfig, fbconfig)) 000cd 4c 8b 85 f8 00 00 00 mov r8, QWORD PTR fbconfig$[rbp] 000d4 48 8b 95 f0 00 00 00 mov rdx, QWORD PTR ctxconfig$[rbp] 000db 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 000e2 e8 00 00 00 00 call _glfwCreateContextEGL 000e7 85 c0 test eax, eax 000e9 75 07 jne SHORT $LN11@glfwCreate ; 1464 : return GLFW_FALSE; 000eb 33 c0 xor eax, eax 000ed e9 13 01 00 00 jmp $LN1@glfwCreate $LN11@glfwCreate: ; 1465 : } 000f2 eb 45 jmp SHORT $LN9@glfwCreate $LN8@glfwCreate: ; 1466 : else if (ctxconfig->source == GLFW_OSMESA_CONTEXT_API) 000f4 48 8b 85 f0 00 00 00 mov rax, QWORD PTR ctxconfig$[rbp] 000fb 81 78 04 03 60 03 00 cmp DWORD PTR [rax+4], 221187 ; 00036003H 00102 75 35 jne SHORT $LN12@glfwCreate ; 1467 : { ; 1468 : if (!_glfwInitOSMesa()) 00104 e8 00 00 00 00 call _glfwInitOSMesa 00109 85 c0 test eax, eax 0010b 75 07 jne SHORT $LN13@glfwCreate ; 1469 : return GLFW_FALSE; 0010d 33 c0 xor eax, eax 0010f e9 f1 00 00 00 jmp $LN1@glfwCreate $LN13@glfwCreate: ; 1470 : if (!_glfwCreateContextOSMesa(window, ctxconfig, fbconfig)) 00114 4c 8b 85 f8 00 00 00 mov r8, QWORD PTR fbconfig$[rbp] 0011b 48 8b 95 f0 00 00 00 mov rdx, QWORD PTR ctxconfig$[rbp] 00122 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00129 e8 00 00 00 00 call _glfwCreateContextOSMesa 0012e 85 c0 test eax, eax 00130 75 07 jne SHORT $LN14@glfwCreate ; 1471 : return GLFW_FALSE; 00132 33 c0 xor eax, eax 00134 e9 cc 00 00 00 jmp $LN1@glfwCreate $LN14@glfwCreate: $LN12@glfwCreate: $LN9@glfwCreate: $LN5@glfwCreate: ; 1472 : } ; 1473 : ; 1474 : if (!_glfwRefreshContextAttribs(window, ctxconfig)) 00139 48 8b 95 f0 00 00 00 mov rdx, QWORD PTR ctxconfig$[rbp] 00140 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00147 e8 00 00 00 00 call _glfwRefreshContextAttribs 0014c 85 c0 test eax, eax 0014e 75 07 jne SHORT $LN15@glfwCreate ; 1475 : return GLFW_FALSE; 00150 33 c0 xor eax, eax 00152 e9 ae 00 00 00 jmp $LN1@glfwCreate $LN15@glfwCreate: $LN3@glfwCreate: ; 1476 : } ; 1477 : ; 1478 : if (wndconfig->mousePassthrough) 00157 48 8b 85 e8 00 00 00 mov rax, QWORD PTR wndconfig$[rbp] 0015e 83 78 3c 00 cmp DWORD PTR [rax+60], 0 00162 74 11 je SHORT $LN16@glfwCreate ; 1479 : _glfwSetWindowMousePassthroughWin32(window, GLFW_TRUE); 00164 ba 01 00 00 00 mov edx, 1 00169 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00170 e8 00 00 00 00 call _glfwSetWindowMousePassthroughWin32 $LN16@glfwCreate: ; 1480 : ; 1481 : if (window->monitor) 00175 48 8b 85 e0 00 00 00 mov rax, QWORD PTR window$[rbp] 0017c 48 83 78 50 00 cmp QWORD PTR [rax+80], 0 00181 74 4b je SHORT $LN17@glfwCreate ; 1482 : { ; 1483 : _glfwShowWindowWin32(window); 00183 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 0018a e8 00 00 00 00 call _glfwShowWindowWin32 ; 1484 : _glfwFocusWindowWin32(window); 0018f 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 00196 e8 00 00 00 00 call _glfwFocusWindowWin32 ; 1485 : acquireMonitor(window); 0019b 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 001a2 e8 00 00 00 00 call acquireMonitor ; 1486 : fitToMonitor(window); 001a7 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 001ae e8 00 00 00 00 call fitToMonitor ; 1487 : ; 1488 : if (wndconfig->centerCursor) 001b3 48 8b 85 e8 00 00 00 mov rax, QWORD PTR wndconfig$[rbp] 001ba 83 78 34 00 cmp DWORD PTR [rax+52], 0 001be 74 0c je SHORT $LN19@glfwCreate ; 1489 : _glfwCenterCursorInContentArea(window); 001c0 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 001c7 e8 00 00 00 00 call _glfwCenterCursorInContentArea $LN19@glfwCreate: ; 1490 : } 001cc eb 32 jmp SHORT $LN18@glfwCreate $LN17@glfwCreate: ; 1491 : else ; 1492 : { ; 1493 : if (wndconfig->visible) 001ce 48 8b 85 e8 00 00 00 mov rax, QWORD PTR wndconfig$[rbp] 001d5 83 78 1c 00 cmp DWORD PTR [rax+28], 0 001d9 74 25 je SHORT $LN20@glfwCreate ; 1494 : { ; 1495 : _glfwShowWindowWin32(window); 001db 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 001e2 e8 00 00 00 00 call _glfwShowWindowWin32 ; 1496 : if (wndconfig->focused) 001e7 48 8b 85 e8 00 00 00 mov rax, QWORD PTR wndconfig$[rbp] 001ee 83 78 24 00 cmp DWORD PTR [rax+36], 0 001f2 74 0c je SHORT $LN21@glfwCreate ; 1497 : _glfwFocusWindowWin32(window); 001f4 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR window$[rbp] 001fb e8 00 00 00 00 call _glfwFocusWindowWin32 $LN21@glfwCreate: $LN20@glfwCreate: $LN18@glfwCreate: ; 1498 : } ; 1499 : } ; 1500 : ; 1501 : return GLFW_TRUE; 00200 b8 01 00 00 00 mov eax, 1 $LN1@glfwCreate: ; 1502 : } 00205 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0020c 5f pop rdi 0020d 5d pop rbp 0020e c3 ret 0 _glfwCreateWindowWin32 ENDP _TEXT ENDS END