; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0 include listing.inc INCLUDELIB OLDNAMES 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@_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@_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' EXTRN __imp_GetWindowLongW:PROC EXTRN __imp_AdjustWindowRectEx:PROC EXTRN __imp_GetKeyState:PROC EXTRN __imp_GlobalUnlock:PROC EXTRN __imp_CreateDIBSection:PROC EXTRN __imp_PostMessageW:PROC EXTRN __imp_GetWindowRect:PROC EXTRN __imp_IsWindowVisible:PROC EXTRN __imp_SetWindowPos:PROC EXTRN __imp_GetPropW:PROC EXTRN __imp_MonitorFromWindow:PROC EXTRN __imp_GetModuleHandleW:PROC EXTRN __imp_SetThreadExecutionState:PROC EXTRN __imp_ScreenToClient:PROC EXTRN __imp_SendMessageW:PROC EXTRN __imp_RemovePropW:PROC EXTRN __imp_GetSystemMetrics:PROC EXTRN __imp_SetWindowTextW:PROC EXTRN __imp_GlobalLock:PROC EXTRN __imp_WaitMessage:PROC EXTRN __imp_MsgWaitForMultipleObjects:PROC EXTRN __imp_WindowFromPoint:PROC EXTRN __imp_GetWindowPlacement:PROC EXTRN __imp_GetClassLongPtrW:PROC EXTRN __imp_GetActiveWindow:PROC EXTRN __imp_OpenClipboard:PROC EXTRN __imp_OffsetRect:PROC EXTRN __imp_DestroyIcon:PROC EXTRN __imp_GlobalFree:PROC EXTRN __imp_GlobalAlloc:PROC EXTRN __imp_CreateIconIndirect:PROC EXTRN __imp_ClientToScreen:PROC EXTRN __imp_CloseClipboard:PROC EXTRN __imp_EmptyClipboard:PROC EXTRN __imp_GetLayeredWindowAttributes:PROC EXTRN __imp_SetWindowPlacement:PROC EXTRN __imp_GetRawInputData:PROC EXTRN __imp_TrackMouseEvent:PROC EXTRN __imp_CreateRectRgn:PROC EXTRN __imp_MoveWindow:PROC EXTRN __imp_GetMessageTime:PROC EXTRN __imp_FlashWindow:PROC EXTRN __imp_SetLayeredWindowAttributes:PROC EXTRN __imp_SetFocus:PROC EXTRN __imp_BringWindowToTop:PROC EXTRN __imp_SetPropW:PROC EXTRN __imp_RegisterRawInputDevices:PROC EXTRN __imp_GetClipboardData:PROC EXTRN __imp_LoadCursorW:PROC EXTRN __imp_ClipCursor:PROC EXTRN __imp_DragFinish:PROC EXTRN __imp_SetCapture:PROC EXTRN __imp_SetClipboardData:PROC EXTRN __imp_SetCursor:PROC EXTRN __imp_DragAcceptFiles:PROC EXTRN __imp_SetWindowLongW:PROC EXTRN __imp_GetClientRect:PROC EXTRN __imp_IsZoomed:PROC EXTRN __imp_SetRect:PROC EXTRN __imp_DeleteObject:PROC EXTRN __imp_SystemParametersInfoW:PROC EXTRN __imp_CreateBitmap:PROC EXTRN __imp_DragQueryPoint:PROC EXTRN __imp_PtInRect:PROC EXTRN __imp_ReleaseCapture:PROC EXTRN __imp_SetForegroundWindow:PROC EXTRN __imp_LoadImageW:PROC EXTRN __imp_DragQueryFileW:PROC EXTRN __imp_IsIconic:PROC EXTRN __imp_SetCursorPos:PROC EXTRN __imp_GetCursorPos:PROC ; 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@_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@_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' PUBLIC glfwGetWin32Window PUBLIC _glfwWindowMaximizedWin32 PUBLIC _glfwSetCursorModeWin32 PUBLIC _glfwWaitEventsTimeoutWin32 PUBLIC _glfwShowWindowWin32 PUBLIC _glfwSetCursorPosWin32 PUBLIC _glfwSetWindowSizeLimitsWin32 PUBLIC _glfwRestoreWindowWin32 PUBLIC _glfwGetEGLPlatformWin32 PUBLIC _glfwHideWindowWin32 PUBLIC _glfwWindowVisibleWin32 PUBLIC _glfwSetWindowAspectRatioWin32 PUBLIC _glfwGetFramebufferSizeWin32 PUBLIC _glfwGetScancodeNameWin32 PUBLIC _glfwCreateCursorWin32 PUBLIC _glfwGetWindowPosWin32 PUBLIC _glfwCreateStandardCursorWin32 PUBLIC _glfwGetWindowSizeWin32 PUBLIC _glfwSetWindowResizableWin32 PUBLIC _glfwSetWindowTitleWin32 PUBLIC _glfwPostEmptyEventWin32 PUBLIC _glfwWindowIconifiedWin32 PUBLIC _glfwCreateWindowWin32 PUBLIC _glfwGetCursorPosWin32 PUBLIC _glfwSetWindowSizeWin32 PUBLIC _glfwGetEGLNativeDisplayWin32 PUBLIC _glfwSetWindowPosWin32 PUBLIC _glfwSetWindowMonitorWin32 PUBLIC _glfwGetWindowFrameSizeWin32 PUBLIC _glfwWindowHoveredWin32 PUBLIC _glfwSetWindowMousePassthroughWin32 PUBLIC _glfwFramebufferTransparentWin32 PUBLIC _glfwSetWindowFloatingWin32 PUBLIC _glfwGetRequiredInstanceExtensionsWin32 PUBLIC _glfwSetWindowOpacityWin32 PUBLIC _glfwPollEventsWin32 PUBLIC _glfwGetWindowContentScaleWin32 PUBLIC _glfwRequestWindowAttentionWin32 PUBLIC _glfwMaximizeWindowWin32 PUBLIC _glfwGetClipboardStringWin32 PUBLIC _glfwIconifyWindowWin32 PUBLIC _glfwSetRawMouseMotionWin32 PUBLIC _glfwCreateWindowSurfaceWin32 PUBLIC _glfwGetKeyScancodeWin32 PUBLIC _glfwSetWindowDecoratedWin32 PUBLIC _glfwGetPhysicalDevicePresentationSupportWin32 PUBLIC _glfwWaitEventsWin32 PUBLIC _glfwDestroyCursorWin32 PUBLIC _glfwSetCursorWin32 PUBLIC _glfwFocusWindowWin32 PUBLIC _glfwWindowFocusedWin32 PUBLIC _glfwSetWindowIconWin32 PUBLIC _glfwSetClipboardStringWin32 PUBLIC _glfwDestroyWindowWin32 PUBLIC _glfwGetEGLNativeWindowWin32 PUBLIC _glfwRawMouseMotionSupportedWin32 PUBLIC _glfwGetWindowOpacityWin32 ; COMDAT pdata pdata SEGMENT $pdata$glfwGetWin32Window DD imagerel $LN6 DD imagerel $LN6+80 DD imagerel $unwind$glfwGetWin32Window pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$createNativeWindow DD imagerel createNativeWindow DD imagerel createNativeWindow+1391 DD imagerel $unwind$createNativeWindow pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$windowProc DD imagerel windowProc DD imagerel windowProc+144 DD imagerel $unwind$windowProc pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$windowProc DD imagerel windowProc+144 DD imagerel windowProc+3613 DD imagerel $chain$1$windowProc pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$3$windowProc DD imagerel windowProc+3613 DD imagerel windowProc+3793 DD imagerel $chain$3$windowProc pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$4$windowProc DD imagerel windowProc+3793 DD imagerel windowProc+4238 DD imagerel $chain$4$windowProc pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$5$windowProc DD imagerel windowProc+4238 DD imagerel windowProc+4773 DD imagerel $chain$5$windowProc pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$maximizeWindowManually DD imagerel maximizeWindowManually DD imagerel maximizeWindowManually+245 DD imagerel $unwind$maximizeWindowManually pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$0$maximizeWindowManually DD imagerel maximizeWindowManually+245 DD imagerel maximizeWindowManually+282 DD imagerel $chain$0$maximizeWindowManually pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$maximizeWindowManually DD imagerel maximizeWindowManually+282 DD imagerel maximizeWindowManually+360 DD imagerel $chain$1$maximizeWindowManually pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$2$maximizeWindowManually DD imagerel maximizeWindowManually+360 DD imagerel maximizeWindowManually+433 DD imagerel $chain$2$maximizeWindowManually pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$3$maximizeWindowManually DD imagerel maximizeWindowManually+433 DD imagerel maximizeWindowManually+518 DD imagerel $chain$3$maximizeWindowManually pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$releaseMonitor DD imagerel releaseMonitor DD imagerel releaseMonitor+141 DD imagerel $unwind$releaseMonitor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$acquireMonitor DD imagerel acquireMonitor DD imagerel acquireMonitor+126 DD imagerel $unwind$acquireMonitor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$fitToMonitor DD imagerel fitToMonitor DD imagerel fitToMonitor+152 DD imagerel $unwind$fitToMonitor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$getKeyMods DD imagerel getKeyMods DD imagerel getKeyMods+172 DD imagerel $unwind$getKeyMods pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$updateFramebufferTransparency DD imagerel updateFramebufferTransparency DD imagerel updateFramebufferTransparency+176 DD imagerel $unwind$updateFramebufferTransparency pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$0$updateFramebufferTransparency DD imagerel updateFramebufferTransparency+176 DD imagerel updateFramebufferTransparency+259 DD imagerel $chain$0$updateFramebufferTransparency pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$updateFramebufferTransparency DD imagerel updateFramebufferTransparency+259 DD imagerel updateFramebufferTransparency+278 DD imagerel $chain$1$updateFramebufferTransparency pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$updateWindowStyles DD imagerel updateWindowStyles DD imagerel updateWindowStyles+377 DD imagerel $unwind$updateWindowStyles pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$cursorInContentArea DD imagerel cursorInContentArea DD imagerel cursorInContentArea+160 DD imagerel $unwind$cursorInContentArea pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$enableCursor DD imagerel enableCursor DD imagerel enableCursor+273 DD imagerel $unwind$enableCursor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$disableCursor DD imagerel disableCursor DD imagerel disableCursor+396 DD imagerel $unwind$disableCursor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$disableRawMouseMotion DD imagerel disableRawMouseMotion DD imagerel disableRawMouseMotion+99 DD imagerel $unwind$disableRawMouseMotion pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$enableRawMouseMotion DD imagerel enableRawMouseMotion DD imagerel enableRawMouseMotion+99 DD imagerel $unwind$enableRawMouseMotion pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$releaseCursor DD imagerel releaseCursor DD imagerel releaseCursor+28 DD imagerel $unwind$releaseCursor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$captureCursor DD imagerel captureCursor DD imagerel captureCursor+115 DD imagerel $unwind$captureCursor pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$updateCursorImage DD imagerel updateCursorImage DD imagerel updateCursorImage+88 DD imagerel $unwind$updateCursorImage pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$applyAspectRatio DD imagerel applyAspectRatio DD imagerel applyAspectRatio+52 DD imagerel $unwind$applyAspectRatio pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$2$applyAspectRatio DD imagerel applyAspectRatio+52 DD imagerel applyAspectRatio+237 DD imagerel $chain$2$applyAspectRatio pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$3$applyAspectRatio DD imagerel applyAspectRatio+237 DD imagerel applyAspectRatio+424 DD imagerel $chain$3$applyAspectRatio pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$createIcon DD imagerel createIcon DD imagerel createIcon+549 DD imagerel $unwind$createIcon pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$chooseImage DD imagerel chooseImage DD imagerel chooseImage+25 DD imagerel $unwind$chooseImage pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$0$chooseImage DD imagerel chooseImage+25 DD imagerel chooseImage+102 DD imagerel $chain$0$chooseImage pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$chooseImage DD imagerel chooseImage+102 DD imagerel chooseImage+112 DD imagerel $chain$1$chooseImage pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetCursorModeWin32 DD imagerel $LN47 DD imagerel $LN47+367 DD imagerel $unwind$_glfwSetCursorModeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwWaitEventsTimeoutWin32 DD imagerel $LN4 DD imagerel $LN4+47 DD imagerel $unwind$_glfwWaitEventsTimeoutWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetCursorPosWin32 DD imagerel $LN4 DD imagerel $LN4+97 DD imagerel $unwind$_glfwSetCursorPosWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowSizeLimitsWin32 DD imagerel $LN9 DD imagerel $LN9+137 DD imagerel $unwind$_glfwSetWindowSizeLimitsWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetEGLPlatformWin32 DD imagerel $LN32 DD imagerel $LN32+233 DD imagerel $unwind$_glfwGetEGLPlatformWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowAspectRatioWin32 DD imagerel $LN9 DD imagerel $LN9+142 DD imagerel $unwind$_glfwSetWindowAspectRatioWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetFramebufferSizeWin32 DD imagerel $LN10 DD imagerel $LN10+95 DD imagerel $unwind$_glfwGetFramebufferSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetScancodeNameWin32 DD imagerel $LN6 DD imagerel $LN6+79 DD imagerel $unwind$_glfwGetScancodeNameWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwCreateCursorWin32 DD imagerel $LN5 DD imagerel $LN5+55 DD imagerel $unwind$_glfwCreateCursorWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetWindowPosWin32 DD imagerel $LN8 DD imagerel $LN8+102 DD imagerel $unwind$_glfwGetWindowPosWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwCreateStandardCursorWin32 DD imagerel $LN22 DD imagerel $LN22+256 DD imagerel $unwind$_glfwCreateStandardCursorWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetWindowSizeWin32 DD imagerel $LN8 DD imagerel $LN8+95 DD imagerel $unwind$_glfwGetWindowSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowTitleWin32 DD imagerel $LN9 DD imagerel $LN9+72 DD imagerel $unwind$_glfwSetWindowTitleWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwCreateWindowWin32 DD imagerel $LN63 DD imagerel $LN63+494 DD imagerel $unwind$_glfwCreateWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetCursorPosWin32 DD imagerel $LN10 DD imagerel $LN10+124 DD imagerel $unwind$_glfwGetCursorPosWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowSizeWin32 DD imagerel $LN40 DD imagerel $LN40+80 DD imagerel $unwind$_glfwSetWindowSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$_glfwSetWindowSizeWin32 DD imagerel $LN40+80 DD imagerel $LN40+361 DD imagerel $chain$1$_glfwSetWindowSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$2$_glfwSetWindowSizeWin32 DD imagerel $LN40+361 DD imagerel $LN40+380 DD imagerel $chain$2$_glfwSetWindowSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowPosWin32 DD imagerel $LN35 DD imagerel $LN35+302 DD imagerel $unwind$_glfwSetWindowPosWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowMonitorWin32 DD imagerel $LN100 DD imagerel $LN100+617 DD imagerel $unwind$_glfwSetWindowMonitorWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$_glfwSetWindowMonitorWin32 DD imagerel $LN100+617 DD imagerel $LN100+992 DD imagerel $chain$1$_glfwSetWindowMonitorWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$2$_glfwSetWindowMonitorWin32 DD imagerel $LN100+992 DD imagerel $LN100+1018 DD imagerel $chain$2$_glfwSetWindowMonitorWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetWindowFrameSizeWin32 DD imagerel $LN47 DD imagerel $LN47+37 DD imagerel $unwind$_glfwGetWindowFrameSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$5$_glfwGetWindowFrameSizeWin32 DD imagerel $LN47+37 DD imagerel $LN47+341 DD imagerel $chain$5$_glfwGetWindowFrameSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$6$_glfwGetWindowFrameSizeWin32 DD imagerel $LN47+341 DD imagerel $LN47+361 DD imagerel $chain$6$_glfwGetWindowFrameSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$7$_glfwGetWindowFrameSizeWin32 DD imagerel $LN47+361 DD imagerel $LN47+383 DD imagerel $chain$7$_glfwGetWindowFrameSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$8$_glfwGetWindowFrameSizeWin32 DD imagerel $LN47+383 DD imagerel $LN47+404 DD imagerel $chain$8$_glfwGetWindowFrameSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$9$_glfwGetWindowFrameSizeWin32 DD imagerel $LN47+404 DD imagerel $LN47+439 DD imagerel $chain$9$_glfwGetWindowFrameSizeWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowMousePassthroughWin32 DD imagerel $LN15 DD imagerel $LN15+232 DD imagerel $unwind$_glfwSetWindowMousePassthroughWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwFramebufferTransparentWin32 DD imagerel $LN13 DD imagerel $LN13+145 DD imagerel $unwind$_glfwFramebufferTransparentWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowFloatingWin32 DD imagerel $LN4 DD imagerel $LN4+58 DD imagerel $unwind$_glfwSetWindowFloatingWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowOpacityWin32 DD imagerel $LN11 DD imagerel $LN11+156 DD imagerel $unwind$_glfwSetWindowOpacityWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwPollEventsWin32 DD imagerel $LN109 DD imagerel $LN109+210 DD imagerel $unwind$_glfwPollEventsWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$4$_glfwPollEventsWin32 DD imagerel $LN109+210 DD imagerel $LN109+268 DD imagerel $chain$4$_glfwPollEventsWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$5$_glfwPollEventsWin32 DD imagerel $LN109+268 DD imagerel $LN109+580 DD imagerel $chain$5$_glfwPollEventsWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$6$_glfwPollEventsWin32 DD imagerel $LN109+580 DD imagerel $LN109+721 DD imagerel $chain$6$_glfwPollEventsWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$7$_glfwPollEventsWin32 DD imagerel $LN109+721 DD imagerel $LN109+835 DD imagerel $chain$7$_glfwPollEventsWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$8$_glfwPollEventsWin32 DD imagerel $LN109+835 DD imagerel $LN109+990 DD imagerel $chain$8$_glfwPollEventsWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetWindowContentScaleWin32 DD imagerel $LN4 DD imagerel $LN4+58 DD imagerel $unwind$_glfwGetWindowContentScaleWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwMaximizeWindowWin32 DD imagerel $LN24 DD imagerel $LN24+69 DD imagerel $unwind$_glfwMaximizeWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$0$_glfwMaximizeWindowWin32 DD imagerel $LN24+69 DD imagerel $LN24+282 DD imagerel $chain$0$_glfwMaximizeWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$_glfwMaximizeWindowWin32 DD imagerel $LN24+282 DD imagerel $LN24+319 DD imagerel $chain$1$_glfwMaximizeWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$2$_glfwMaximizeWindowWin32 DD imagerel $LN24+319 DD imagerel $LN24+397 DD imagerel $chain$2$_glfwMaximizeWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$3$_glfwMaximizeWindowWin32 DD imagerel $LN24+397 DD imagerel $LN24+470 DD imagerel $chain$3$_glfwMaximizeWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$4$_glfwMaximizeWindowWin32 DD imagerel $LN24+470 DD imagerel $LN24+533 DD imagerel $chain$4$_glfwMaximizeWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$5$_glfwMaximizeWindowWin32 DD imagerel $LN24+533 DD imagerel $LN24+555 DD imagerel $chain$5$_glfwMaximizeWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetClipboardStringWin32 DD imagerel $LN16 DD imagerel $LN16+50 DD imagerel $unwind$_glfwGetClipboardStringWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$0$_glfwGetClipboardStringWin32 DD imagerel $LN16+50 DD imagerel $LN16+104 DD imagerel $chain$0$_glfwGetClipboardStringWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$3$_glfwGetClipboardStringWin32 DD imagerel $LN16+104 DD imagerel $LN16+166 DD imagerel $chain$3$_glfwGetClipboardStringWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$5$_glfwGetClipboardStringWin32 DD imagerel $LN16+166 DD imagerel $LN16+243 DD imagerel $chain$5$_glfwGetClipboardStringWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwCreateWindowSurfaceWin32 DD imagerel $LN8 DD imagerel $LN8+204 DD imagerel $unwind$_glfwCreateWindowSurfaceWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetPhysicalDevicePresentationSupportWin32 DD imagerel $LN6 DD imagerel $LN6+82 DD imagerel $unwind$_glfwGetPhysicalDevicePresentationSupportWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwWaitEventsWin32 DD imagerel $LN4 DD imagerel $LN4+19 DD imagerel $unwind$_glfwWaitEventsWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetCursorWin32 DD imagerel $LN17 DD imagerel $LN17+111 DD imagerel $unwind$_glfwSetCursorWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwFocusWindowWin32 DD imagerel $LN4 DD imagerel $LN4+54 DD imagerel $unwind$_glfwFocusWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwWindowFocusedWin32 DD imagerel $LN4 DD imagerel $LN4+35 DD imagerel $unwind$_glfwWindowFocusedWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetWindowIconWin32 DD imagerel $LN44 DD imagerel $LN44+11 DD imagerel $unwind$_glfwSetWindowIconWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$0$_glfwSetWindowIconWin32 DD imagerel $LN44+11 DD imagerel $LN44+19 DD imagerel $chain$0$_glfwSetWindowIconWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$_glfwSetWindowIconWin32 DD imagerel $LN44+19 DD imagerel $LN44+38 DD imagerel $chain$1$_glfwSetWindowIconWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$4$_glfwSetWindowIconWin32 DD imagerel $LN44+38 DD imagerel $LN44+355 DD imagerel $chain$4$_glfwSetWindowIconWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$5$_glfwSetWindowIconWin32 DD imagerel $LN44+355 DD imagerel $LN44+463 DD imagerel $chain$5$_glfwSetWindowIconWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$6$_glfwSetWindowIconWin32 DD imagerel $LN44+463 DD imagerel $LN44+497 DD imagerel $chain$6$_glfwSetWindowIconWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$7$_glfwSetWindowIconWin32 DD imagerel $LN44+497 DD imagerel $LN44+519 DD imagerel $chain$7$_glfwSetWindowIconWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwSetClipboardStringWin32 DD imagerel $LN14 DD imagerel $LN14+58 DD imagerel $unwind$_glfwSetClipboardStringWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$0$_glfwSetClipboardStringWin32 DD imagerel $LN14+58 DD imagerel $LN14+117 DD imagerel $chain$0$_glfwSetClipboardStringWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$2$_glfwSetClipboardStringWin32 DD imagerel $LN14+117 DD imagerel $LN14+239 DD imagerel $chain$2$_glfwSetClipboardStringWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$4$_glfwSetClipboardStringWin32 DD imagerel $LN14+239 DD imagerel $LN14+270 DD imagerel $chain$4$_glfwSetClipboardStringWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$5$_glfwSetClipboardStringWin32 DD imagerel $LN14+270 DD imagerel $LN14+281 DD imagerel $chain$5$_glfwSetClipboardStringWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwDestroyWindowWin32 DD imagerel $LN20 DD imagerel $LN20+180 DD imagerel $unwind$_glfwDestroyWindowWin32 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwGetWindowOpacityWin32 DD imagerel $LN9 DD imagerel $LN9+150 DD imagerel $unwind$_glfwGetWindowOpacityWin32 ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetWindowOpacityWin32 DD 021519H DD 030025206H DD imagerel __GSHandlerCheck DD 028H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwDestroyWindowWin32 DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$5$_glfwSetClipboardStringWin32 DD 021H DD imagerel $LN14 DD imagerel $LN14+58 DD imagerel $unwind$_glfwSetClipboardStringWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$4$_glfwSetClipboardStringWin32 DD 020021H DD 083400H DD imagerel $LN14 DD imagerel $LN14+58 DD imagerel $unwind$_glfwSetClipboardStringWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$2$_glfwSetClipboardStringWin32 DD 020021H DD 083400H DD imagerel $LN14 DD imagerel $LN14+58 DD imagerel $unwind$_glfwSetClipboardStringWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$0$_glfwSetClipboardStringWin32 DD 020521H DD 083405H DD imagerel $LN14 DD imagerel $LN14+58 DD imagerel $unwind$_glfwSetClipboardStringWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetClipboardStringWin32 DD 040a01H DD 09640aH DD 07006520aH xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$7$_glfwSetWindowIconWin32 DD 021H DD imagerel $LN44 DD imagerel $LN44+11 DD imagerel $unwind$_glfwSetWindowIconWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$6$_glfwSetWindowIconWin32 DD 021H DD imagerel $LN44+11 DD imagerel $LN44+19 DD imagerel $chain$0$_glfwSetWindowIconWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$5$_glfwSetWindowIconWin32 DD 021H DD imagerel $LN44+19 DD imagerel $LN44+38 DD imagerel $chain$1$_glfwSetWindowIconWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$4$_glfwSetWindowIconWin32 DD 061421H DD 04f414H DD 0dd40fH DD 0a6405H DD imagerel $LN44+19 DD imagerel $LN44+38 DD imagerel $chain$1$_glfwSetWindowIconWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$_glfwSetWindowIconWin32 DD 020521H DD 05e405H DD imagerel $LN44+11 DD imagerel $LN44+19 DD imagerel $chain$0$_glfwSetWindowIconWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$0$_glfwSetWindowIconWin32 DD 020521H DD 0cc405H DD imagerel $LN44 DD imagerel $LN44+11 DD imagerel $unwind$_glfwSetWindowIconWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowIconWin32 DD 040b01H DD 07007520bH DD 030055006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwWindowFocusedWin32 DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwFocusWindowWin32 DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetCursorWin32 DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwWaitEventsWin32 DD 010401H DD 04204H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetPhysicalDevicePresentationSupportWin32 DD 040a01H DD 06340aH DD 07006320aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwCreateWindowSurfaceWin32 DD 051819H DD 07005a209H DD 050036004H DD 03002H DD imagerel __GSHandlerCheck DD 048H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$5$_glfwGetClipboardStringWin32 DD 040021H DD 047400H DD 063400H DD imagerel $LN16 DD imagerel $LN16+50 DD imagerel $unwind$_glfwGetClipboardStringWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$3$_glfwGetClipboardStringWin32 DD 040821H DD 047408H DD 063400H DD imagerel $LN16 DD imagerel $LN16+50 DD imagerel $unwind$_glfwGetClipboardStringWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$0$_glfwGetClipboardStringWin32 DD 020521H DD 063405H DD imagerel $LN16 DD imagerel $LN16+50 DD imagerel $unwind$_glfwGetClipboardStringWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetClipboardStringWin32 DD 010401H DD 04204H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$5$_glfwMaximizeWindowWin32 DD 021H DD imagerel $LN24 DD imagerel $LN24+69 DD imagerel $unwind$_glfwMaximizeWindowWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$4$_glfwMaximizeWindowWin32 DD 021H DD imagerel $LN24+69 DD imagerel $LN24+282 DD imagerel $chain$0$_glfwMaximizeWindowWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$3$_glfwMaximizeWindowWin32 DD 021H DD imagerel $LN24+282 DD imagerel $LN24+319 DD imagerel $chain$1$_glfwMaximizeWindowWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$2$_glfwMaximizeWindowWin32 DD 020821H DD 0133408H DD imagerel $LN24+282 DD imagerel $LN24+319 DD imagerel $chain$1$_glfwMaximizeWindowWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$_glfwMaximizeWindowWin32 DD 020821H DD 0145408H DD imagerel $LN24+69 DD imagerel $LN24+282 DD imagerel $chain$0$_glfwMaximizeWindowWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$0$_glfwMaximizeWindowWin32 DD 020821H DD 0156408H DD imagerel $LN24 DD imagerel $LN24+69 DD imagerel $unwind$_glfwMaximizeWindowWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwMaximizeWindowWin32 DD 021819H DD 07002f209H DD imagerel __GSHandlerCheck DD 078H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetWindowContentScaleWin32 DD 040a01H DD 06340aH DD 07006320aH xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$8$_glfwPollEventsWin32 DD 021H DD imagerel $LN109 DD imagerel $LN109+210 DD imagerel $unwind$_glfwPollEventsWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$7$_glfwPollEventsWin32 DD 060021H DD 013e400H DD 0187400H DD 0176400H DD imagerel $LN109 DD imagerel $LN109+210 DD imagerel $unwind$_glfwPollEventsWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$6$_glfwPollEventsWin32 DD 021H DD imagerel $LN109+210 DD imagerel $LN109+268 DD imagerel $chain$4$_glfwPollEventsWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$5$_glfwPollEventsWin32 DD 020821H DD 086808H DD imagerel $LN109+210 DD imagerel $LN109+268 DD imagerel $chain$4$_glfwPollEventsWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$4$_glfwPollEventsWin32 DD 0a3a21H DD 012f43aH DD 013e42cH DD 018741dH DD 0176415H DD 0165408H DD imagerel $LN109 DD imagerel $LN109+210 DD imagerel $unwind$_glfwPollEventsWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwPollEventsWin32 DD 031819H DD 0140109H DD 03002H DD imagerel __GSHandlerCheck DD 070H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowOpacityWin32 DD 040e01H DD 02680eH DD 030025206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowFloatingWin32 DD 010401H DD 08204H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwFramebufferTransparentWin32 DD 011319H DD 08204H DD imagerel __GSHandlerCheck DD 030H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowMousePassthroughWin32 DD 061e19H DD 0c640fH DD 0b340fH DD 0700b720fH DD imagerel __GSHandlerCheck DD 030H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$9$_glfwGetWindowFrameSizeWin32 DD 021H DD imagerel $LN47 DD imagerel $LN47+37 DD imagerel $unwind$_glfwGetWindowFrameSizeWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$8$_glfwGetWindowFrameSizeWin32 DD 020021H DD 0df400H DD imagerel $LN47 DD imagerel $LN47+37 DD imagerel $unwind$_glfwGetWindowFrameSizeWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$7$_glfwGetWindowFrameSizeWin32 DD 040021H DD 0df400H DD 0115400H DD imagerel $LN47 DD imagerel $LN47+37 DD imagerel $unwind$_glfwGetWindowFrameSizeWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$6$_glfwGetWindowFrameSizeWin32 DD 060021H DD 0df400H DD 0ec400H DD 0115400H DD imagerel $LN47 DD imagerel $LN47+37 DD imagerel $unwind$_glfwGetWindowFrameSizeWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$5$_glfwGetWindowFrameSizeWin32 DD 0c2821H DD 0df428H DD 0ec421H DD 0f741dH DD 010640fH DD 0115408H DD 0123404H DD imagerel $LN47 DD imagerel $LN47+37 DD imagerel $unwind$_glfwGetWindowFrameSizeWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetWindowFrameSizeWin32 DD 041d19H DD 013010eH DD 0d005e007H DD imagerel __GSHandlerCheck DD 050H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$2$_glfwSetWindowMonitorWin32 DD 021H DD imagerel $LN100 DD imagerel $LN100+617 DD imagerel $unwind$_glfwSetWindowMonitorWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$_glfwSetWindowMonitorWin32 DD 041921H DD 010f419H DD 011c408H DD imagerel $LN100 DD imagerel $LN100+617 DD imagerel $unwind$_glfwSetWindowMonitorWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowMonitorWin32 DD 072119H DD 0120113H DD 07005e007H DD 030036004H DD 05002H DD imagerel __GSHandlerCheck DD 078H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowPosWin32 DD 041719H DD 07004b208H DD 030026003H DD imagerel __GSHandlerCheck DD 050H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$2$_glfwSetWindowSizeWin32 DD 021H DD imagerel $LN40 DD imagerel $LN40+80 DD imagerel $unwind$_glfwSetWindowSizeWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$_glfwSetWindowSizeWin32 DD 041421H DD 0c6414H DD 0d3405H DD imagerel $LN40 DD imagerel $LN40+80 DD imagerel $unwind$_glfwSetWindowSizeWin32 xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowSizeWin32 DD 021519H DD 07002d206H DD imagerel __GSHandlerCheck DD 050H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetCursorPosWin32 DD 041719H DD 070045208H DD 030026003H DD imagerel __GSHandlerCheck DD 028H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwCreateWindowWin32 DD 051819H DD 070058209H DD 050036004H DD 03002H DD imagerel __GSHandlerCheck DD 030H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowTitleWin32 DD 040a01H DD 06340aH DD 07006320aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetWindowSizeWin32 DD 041919H DD 0d340aH DD 07006720aH DD imagerel __GSHandlerCheck DD 030H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwCreateStandardCursorWin32 DD 020601H DD 030025206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetWindowPosWin32 DD 041919H DD 0b340aH DD 07006520aH DD imagerel __GSHandlerCheck DD 028H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwCreateCursorWin32 DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetScancodeNameWin32 DD 010401H DD 04204H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetFramebufferSizeWin32 DD 041919H DD 0d340aH DD 07006720aH DD imagerel __GSHandlerCheck DD 030H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowAspectRatioWin32 DD 021d19H DD 0300a920eH DD imagerel __GSHandlerCheck DD 040H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwGetEGLPlatformWin32 DD 040a01H DD 06340aH DD 07006320aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetWindowSizeLimitsWin32 DD 021519H DD 030029206H DD imagerel __GSHandlerCheck DD 040H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetCursorPosWin32 DD 011319H DD 06204H DD imagerel __GSHandlerCheck DD 028H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwWaitEventsTimeoutWin32 DD 010401H DD 06204H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwSetCursorModeWin32 DD 041919H DD 09340aH DD 07006520aH DD imagerel __GSHandlerCheck DD 028H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$chooseImage DD 021H DD imagerel chooseImage DD imagerel chooseImage+25 DD imagerel $unwind$chooseImage xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$0$chooseImage DD 020521H DD 026405H DD imagerel chooseImage DD imagerel chooseImage+25 DD imagerel $unwind$chooseImage xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$chooseImage DD 030601H DD 033406H DD 07006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$createIcon DD 0a2719H DD 01f0119H DD 0e00bf00dH DD 0c007d009H DD 060047005H DD 050023003H DD imagerel __GSHandlerCheck DD 0e0H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$3$applyAspectRatio DD 021H DD imagerel applyAspectRatio DD imagerel applyAspectRatio+52 DD imagerel $unwind$applyAspectRatio xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$2$applyAspectRatio DD 060f21H DD 0ce40fH DD 013640bH DD 0115404H DD imagerel applyAspectRatio DD imagerel applyAspectRatio+52 DD imagerel $unwind$applyAspectRatio xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$applyAspectRatio DD 051d19H DD 05680eH DD 07005c209H DD 03004H DD imagerel __GSHandlerCheck DD 040H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$updateCursorImage DD 010401H DD 04204H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$captureCursor DD 021519H DD 030027206H DD imagerel __GSHandlerCheck DD 030H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$releaseCursor DD 010401H DD 04204H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$enableRawMouseMotion DD 011319H DD 08204H DD imagerel __GSHandlerCheck DD 030H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$disableRawMouseMotion DD 011319H DD 08204H DD imagerel __GSHandlerCheck DD 030H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$disableCursor DD 041919H DD 0b340aH DD 07006720aH DD imagerel __GSHandlerCheck DD 038H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$enableCursor DD 021519H DD 030027206H DD imagerel __GSHandlerCheck DD 030H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$cursorInContentArea DD 041919H DD 0b340aH DD 07006720aH DD imagerel __GSHandlerCheck DD 038H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$updateWindowStyles DD 067319H DD 0f7473H DD 010340aH DD 06006b20aH DD imagerel __GSHandlerCheck DD 050H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$updateFramebufferTransparency DD 021H DD imagerel updateFramebufferTransparency DD imagerel updateFramebufferTransparency+176 DD imagerel $unwind$updateFramebufferTransparency xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$0$updateFramebufferTransparency DD 020521H DD 0d3405H DD imagerel updateFramebufferTransparency DD imagerel updateFramebufferTransparency+176 DD imagerel $unwind$updateFramebufferTransparency xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$updateFramebufferTransparency DD 021519H DD 070029206H DD imagerel __GSHandlerCheck DD 048H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$getKeyMods DD 060f01H DD 07640fH DD 06340fH DD 0700b320fH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$fitToMonitor DD 021519H DD 03002d206H DD imagerel __GSHandlerCheck DD 068H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$acquireMonitor DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$releaseMonitor DD 020601H DD 030025206H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$3$maximizeWindowManually DD 021H DD imagerel maximizeWindowManually DD imagerel maximizeWindowManually+245 DD imagerel $unwind$maximizeWindowManually xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$2$maximizeWindowManually DD 021H DD imagerel maximizeWindowManually+245 DD imagerel maximizeWindowManually+282 DD imagerel $chain$0$maximizeWindowManually xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$maximizeWindowManually DD 020821H DD 0133408H DD imagerel maximizeWindowManually+245 DD imagerel maximizeWindowManually+282 DD imagerel $chain$0$maximizeWindowManually xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$0$maximizeWindowManually DD 020821H DD 0145408H DD imagerel maximizeWindowManually DD imagerel maximizeWindowManually+245 DD imagerel $unwind$maximizeWindowManually xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$maximizeWindowManually DD 041c19H DD 015640dH DD 07006f20dH DD imagerel __GSHandlerCheck DD 078H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$5$windowProc DD 021H DD imagerel windowProc DD imagerel windowProc+144 DD imagerel $unwind$windowProc xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$4$windowProc DD 021H DD imagerel windowProc+144 DD imagerel windowProc+3613 DD imagerel $chain$1$windowProc xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$3$windowProc DD 041c21H DD 0c781cH DD 0d6808H DD imagerel windowProc+144 DD imagerel windowProc+3613 DD imagerel $chain$1$windowProc xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$windowProc DD 041021H DD 01de410H DD 01ec408H DD imagerel windowProc DD imagerel windowProc+144 DD imagerel $unwind$windowProc xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$windowProc DD 082319H DD 01f0115H DD 0d007f009H DD 060047005H DD 050023003H DD imagerel __GSHandlerCheck DD 0b0H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$createNativeWindow DD 0b2a19H DD 02c341cH DD 022011cH DD 0e00ef010H DD 0c00ad00cH DD 060077008H DD 05006H DD imagerel __GSHandlerCheck DD 0108H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$glfwGetWin32Window DD 010401H DD 04204H ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetWindowOpacityWin32 _TEXT SEGMENT alpha$ = 32 flags$ = 36 __$ArrayPad$ = 40 window$ = 64 _glfwGetWindowOpacityWin32 PROC ; COMDAT ; 1982 : { $LN9: 00000 40 53 push rbx 00002 48 83 ec 30 sub rsp, 48 ; 00000030H 00006 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000d 48 33 c4 xor rax, rsp 00010 48 89 44 24 28 mov QWORD PTR __$ArrayPad$[rsp], rax 00015 48 8b d9 mov rbx, rcx ; 1983 : BYTE alpha; ; 1984 : DWORD flags; ; 1985 : ; 1986 : if ((GetWindowLongW(window->win32.handle, GWL_EXSTYLE) & WS_EX_LAYERED) && 00018 ba ec ff ff ff mov edx, -20 0001d 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00024 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW 0002a 0f ba e0 13 bt eax, 19 0002e 73 4b jae SHORT $LN3@glfwGetWin 00030 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00037 4c 8d 4c 24 24 lea r9, QWORD PTR flags$[rsp] 0003c 4c 8d 44 24 20 lea r8, QWORD PTR alpha$[rsp] 00041 33 d2 xor edx, edx 00043 ff 15 00 00 00 00 call QWORD PTR __imp_GetLayeredWindowAttributes 00049 85 c0 test eax, eax 0004b 74 2e je SHORT $LN3@glfwGetWin ; 1987 : GetLayeredWindowAttributes(window->win32.handle, NULL, &alpha, &flags)) ; 1988 : { ; 1989 : if (flags & LWA_ALPHA) 0004d f6 44 24 24 02 test BYTE PTR flags$[rsp], 2 00052 74 27 je SHORT $LN3@glfwGetWin ; 1990 : return alpha / 255.f; 00054 0f b6 44 24 20 movzx eax, BYTE PTR alpha$[rsp] 00059 66 0f 6e c0 movd xmm0, eax 0005d 0f 5b c0 cvtdq2ps xmm0, xmm0 00060 f3 0f 5e 05 00 00 00 00 divss xmm0, DWORD PTR __real@437f0000 ; 1994 : } 00068 48 8b 4c 24 28 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0006d 48 33 cc xor rcx, rsp 00070 e8 00 00 00 00 call __security_check_cookie 00075 48 83 c4 30 add rsp, 48 ; 00000030H 00079 5b pop rbx 0007a c3 ret 0 $LN3@glfwGetWin: ; 1991 : } ; 1992 : ; 1993 : return 1.f; 0007b f3 0f 10 05 00 00 00 00 movss xmm0, DWORD PTR __real@3f800000 ; 1994 : } 00083 48 8b 4c 24 28 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00088 48 33 cc xor rcx, rsp 0008b e8 00 00 00 00 call __security_check_cookie 00090 48 83 c4 30 add rsp, 48 ; 00000030H 00094 5b pop rbx 00095 c3 ret 0 _glfwGetWindowOpacityWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwRawMouseMotionSupportedWin32 _TEXT SEGMENT _glfwRawMouseMotionSupportedWin32 PROC ; COMDAT ; 2030 : return GLFW_TRUE; 00000 b8 01 00 00 00 mov eax, 1 ; 2031 : } 00005 c3 ret 0 _glfwRawMouseMotionSupportedWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetEGLNativeWindowWin32 _TEXT SEGMENT window$ = 8 _glfwGetEGLNativeWindowWin32 PROC ; COMDAT ; 2424 : return window->win32.handle; 00000 48 8b 81 58 03 00 00 mov rax, QWORD PTR [rcx+856] ; 2425 : } 00007 c3 ret 0 _glfwGetEGLNativeWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwDestroyWindowWin32 _TEXT SEGMENT window$ = 48 _glfwDestroyWindowWin32 PROC ; COMDAT ; 1505 : { $LN20: 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H ; 1506 : if (window->monitor) 00006 48 83 79 50 00 cmp QWORD PTR [rcx+80], 0 0000b 48 8b d9 mov rbx, rcx 0000e 74 05 je SHORT $LN2@glfwDestro ; 1507 : releaseMonitor(window); 00010 e8 00 00 00 00 call releaseMonitor $LN2@glfwDestro: ; 1508 : ; 1509 : if (window->context.destroy) 00015 48 8b 83 78 02 00 00 mov rax, QWORD PTR [rbx+632] 0001c 48 85 c0 test rax, rax 0001f 74 05 je SHORT $LN3@glfwDestro ; 1510 : window->context.destroy(window); 00021 48 8b cb mov rcx, rbx 00024 ff d0 call rax $LN3@glfwDestro: ; 1511 : ; 1512 : if (_glfw.win32.disabledCursorWindow == window) 00026 48 39 1d 48 29 00 00 cmp QWORD PTR _glfw+10568, rbx 0002d 75 08 jne SHORT $LN4@glfwDestro ; 1513 : enableCursor(window); 0002f 48 8b cb mov rcx, rbx 00032 e8 00 00 00 00 call enableCursor $LN4@glfwDestro: ; 1514 : ; 1515 : if (_glfw.win32.capturedCursorWindow == window) 00037 48 39 1d 50 29 00 00 cmp QWORD PTR _glfw+10576, rbx 0003e 75 13 jne SHORT $LN10@glfwDestro ; 256 : ClipCursor(NULL); 00040 33 c9 xor ecx, ecx 00042 ff 15 00 00 00 00 call QWORD PTR __imp_ClipCursor ; 257 : _glfw.win32.capturedCursorWindow = NULL; 00048 48 c7 05 50 29 00 00 00 00 00 00 mov QWORD PTR _glfw+10576, 0 $LN10@glfwDestro: ; 1516 : releaseCursor(); ; 1517 : ; 1518 : if (window->win32.handle) 00053 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 0005a 48 85 c9 test rcx, rcx 0005d 74 25 je SHORT $LN6@glfwDestro ; 1519 : { ; 1520 : RemovePropW(window->win32.handle, L"GLFW"); 0005f 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_19JBPKICJI@?$AAG?$AAL?$AAF?$AAW@ 00066 ff 15 00 00 00 00 call QWORD PTR __imp_RemovePropW ; 1521 : DestroyWindow(window->win32.handle); 0006c 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00073 ff 15 00 00 00 00 call QWORD PTR __imp_DestroyWindow ; 1522 : window->win32.handle = NULL; 00079 48 c7 83 58 03 00 00 00 00 00 00 mov QWORD PTR [rbx+856], 0 $LN6@glfwDestro: ; 1523 : } ; 1524 : ; 1525 : if (window->win32.bigIcon) 00084 48 8b 8b 60 03 00 00 mov rcx, QWORD PTR [rbx+864] 0008b 48 85 c9 test rcx, rcx 0008e 74 06 je SHORT $LN7@glfwDestro ; 1526 : DestroyIcon(window->win32.bigIcon); 00090 ff 15 00 00 00 00 call QWORD PTR __imp_DestroyIcon $LN7@glfwDestro: ; 1527 : ; 1528 : if (window->win32.smallIcon) 00096 48 8b 8b 68 03 00 00 mov rcx, QWORD PTR [rbx+872] 0009d 48 85 c9 test rcx, rcx 000a0 74 0c je SHORT $LN8@glfwDestro ; 1530 : } 000a2 48 83 c4 20 add rsp, 32 ; 00000020H 000a6 5b pop rbx ; 1529 : DestroyIcon(window->win32.smallIcon); 000a7 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_DestroyIcon $LN8@glfwDestro: ; 1530 : } 000ae 48 83 c4 20 add rsp, 32 ; 00000020H 000b2 5b pop rbx 000b3 c3 ret 0 _glfwDestroyWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetClipboardStringWin32 _TEXT SEGMENT string$ = 64 _glfwSetClipboardStringWin32 PROC ; COMDAT ; 2295 : { $LN14: 00000 48 89 74 24 10 mov QWORD PTR [rsp+16], rsi 00005 57 push rdi 00006 48 83 ec 30 sub rsp, 48 ; 00000030H ; 2296 : int characterCount; ; 2297 : HANDLE object; ; 2298 : WCHAR* buffer; ; 2299 : ; 2300 : characterCount = MultiByteToWideChar(CP_UTF8, 0, string, -1, NULL, 0); 0000a 33 c0 xor eax, eax 0000c 48 8b f1 mov rsi, rcx 0000f 4c 8b c1 mov r8, rcx 00012 89 44 24 28 mov DWORD PTR [rsp+40], eax 00016 33 d2 xor edx, edx 00018 48 89 44 24 20 mov QWORD PTR [rsp+32], rax 0001d b9 e9 fd 00 00 mov ecx, 65001 ; 0000fde9H 00022 44 8d 48 ff lea r9d, QWORD PTR [rax-1] 00026 ff 15 00 00 00 00 call QWORD PTR __imp_MultiByteToWideChar 0002c 48 63 f8 movsxd rdi, eax ; 2301 : if (!characterCount) 0002f 85 c0 test eax, eax 00031 0f 84 d7 00 00 00 je $LN1@glfwSetCli ; 2302 : return; ; 2303 : ; 2304 : object = GlobalAlloc(GMEM_MOVEABLE, characterCount * sizeof(WCHAR)); 00037 48 8b d7 mov rdx, rdi 0003a 48 89 5c 24 40 mov QWORD PTR [rsp+64], rbx 0003f 48 03 d2 add rdx, rdx 00042 b9 02 00 00 00 mov ecx, 2 00047 ff 15 00 00 00 00 call QWORD PTR __imp_GlobalAlloc 0004d 48 8b d8 mov rbx, rax ; 2305 : if (!object) 00050 48 85 c0 test rax, rax 00053 75 20 jne SHORT $LN3@glfwSetCli ; 2306 : { ; 2307 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00055 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DG@CGDLBFFB@Win32?3?5Failed?5to?5allocate?5globa@ 0005c b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00061 48 8b 5c 24 40 mov rbx, QWORD PTR [rsp+64] ; 2335 : } 00066 48 8b 74 24 48 mov rsi, QWORD PTR [rsp+72] 0006b 48 83 c4 30 add rsp, 48 ; 00000030H 0006f 5f pop rdi ; 2306 : { ; 2307 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00070 e9 00 00 00 00 jmp _glfwInputErrorWin32 $LN3@glfwSetCli: ; 2308 : "Win32: Failed to allocate global handle for clipboard"); ; 2309 : return; ; 2310 : } ; 2311 : ; 2312 : buffer = GlobalLock(object); 00075 48 8b cb mov rcx, rbx 00078 ff 15 00 00 00 00 call QWORD PTR __imp_GlobalLock ; 2313 : if (!buffer) 0007e 48 85 c0 test rax, rax 00081 75 09 jne SHORT $LN4@glfwSetCli ; 2314 : { ; 2315 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00083 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CE@OHDHEPIL@Win32?3?5Failed?5to?5lock?5global?5ha@ ; 2316 : "Win32: Failed to lock global handle"); ; 2317 : GlobalFree(object); ; 2318 : return; 0008a eb 40 jmp SHORT $LN12@glfwSetCli $LN4@glfwSetCli: ; 2319 : } ; 2320 : ; 2321 : MultiByteToWideChar(CP_UTF8, 0, string, -1, buffer, characterCount); 0008c 89 7c 24 28 mov DWORD PTR [rsp+40], edi 00090 41 b9 ff ff ff ff mov r9d, -1 00096 4c 8b c6 mov r8, rsi 00099 48 89 44 24 20 mov QWORD PTR [rsp+32], rax 0009e 33 d2 xor edx, edx 000a0 b9 e9 fd 00 00 mov ecx, 65001 ; 0000fde9H 000a5 ff 15 00 00 00 00 call QWORD PTR __imp_MultiByteToWideChar ; 2322 : GlobalUnlock(object); 000ab 48 8b cb mov rcx, rbx 000ae ff 15 00 00 00 00 call QWORD PTR __imp_GlobalUnlock ; 2323 : ; 2324 : if (!OpenClipboard(_glfw.win32.helperWindowHandle)) 000b4 48 8b 0d 80 1b 00 00 mov rcx, QWORD PTR _glfw+7040 000bb ff 15 00 00 00 00 call QWORD PTR __imp_OpenClipboard 000c1 85 c0 test eax, eax 000c3 75 2a jne SHORT $LN5@glfwSetCli ; 2325 : { ; 2326 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 000c5 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CA@FNCFBEIG@Win32?3?5Failed?5to?5open?5clipboard@ $LN12@glfwSetCli: 000cc b9 08 00 01 00 mov ecx, 65544 ; 00010008H 000d1 e8 00 00 00 00 call _glfwInputErrorWin32 ; 2327 : "Win32: Failed to open clipboard"); ; 2328 : GlobalFree(object); 000d6 48 8b cb mov rcx, rbx 000d9 48 8b 5c 24 40 mov rbx, QWORD PTR [rsp+64] ; 2335 : } 000de 48 8b 74 24 48 mov rsi, QWORD PTR [rsp+72] 000e3 48 83 c4 30 add rsp, 48 ; 00000030H 000e7 5f pop rdi ; 2327 : "Win32: Failed to open clipboard"); ; 2328 : GlobalFree(object); 000e8 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_GlobalFree $LN5@glfwSetCli: ; 2329 : return; ; 2330 : } ; 2331 : ; 2332 : EmptyClipboard(); 000ef ff 15 00 00 00 00 call QWORD PTR __imp_EmptyClipboard ; 2333 : SetClipboardData(CF_UNICODETEXT, object); 000f5 48 8b d3 mov rdx, rbx 000f8 b9 0d 00 00 00 mov ecx, 13 000fd ff 15 00 00 00 00 call QWORD PTR __imp_SetClipboardData ; 2334 : CloseClipboard(); 00103 ff 15 00 00 00 00 call QWORD PTR __imp_CloseClipboard 00109 48 8b 5c 24 40 mov rbx, QWORD PTR [rsp+64] $LN1@glfwSetCli: ; 2335 : } 0010e 48 8b 74 24 48 mov rsi, QWORD PTR [rsp+72] 00113 48 83 c4 30 add rsp, 48 ; 00000030H 00117 5f pop rdi 00118 c3 ret 0 _glfwSetClipboardStringWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowIconWin32 _TEXT SEGMENT window$ = 80 tv633 = 88 tv629 = 88 count$ = 88 images$ = 96 _glfwSetWindowIconWin32 PROC ; COMDAT ; 1543 : { $LN44: 00000 89 54 24 10 mov DWORD PTR [rsp+16], edx 00004 53 push rbx 00005 55 push rbp 00006 57 push rdi 00007 48 83 ec 30 sub rsp, 48 ; 00000030H 0000b 4c 89 64 24 60 mov QWORD PTR [rsp+96], r12 00010 48 8b e9 mov rbp, rcx 00013 4c 89 74 24 28 mov QWORD PTR [rsp+40], r14 00018 4d 8b f0 mov r14, r8 0001b 44 8b e2 mov r12d, edx ; 1544 : HICON bigIcon = NULL, smallIcon = NULL; ; 1545 : ; 1546 : if (count) 0001e 85 d2 test edx, edx 00020 0f 84 3d 01 00 00 je $LN2@glfwSetWin 00026 48 89 74 24 50 mov QWORD PTR [rsp+80], rsi ; 1547 : { ; 1548 : const GLFWimage* bigImage = chooseImage(count, images, 0002b b9 0c 00 00 00 mov ecx, 12 00030 4c 89 6c 24 68 mov QWORD PTR [rsp+104], r13 00035 4c 89 7c 24 20 mov QWORD PTR [rsp+32], r15 0003a ff 15 00 00 00 00 call QWORD PTR __imp_GetSystemMetrics 00040 b9 0b 00 00 00 mov ecx, 11 00045 8b d8 mov ebx, eax 00047 ff 15 00 00 00 00 call QWORD PTR __imp_GetSystemMetrics ; 84 : const GLFWimage* closest = NULL; 0004d 33 f6 xor esi, esi 0004f bf ff ff ff 7f mov edi, 2147483647 ; 7fffffffH ; 1547 : { ; 1548 : const GLFWimage* bigImage = chooseImage(count, images, 00054 44 8b d8 mov r11d, eax ; 83 : int i, leastDiff = INT_MAX; 00057 44 8b cf mov r9d, edi ; 84 : const GLFWimage* closest = NULL; 0005a 44 8b fe mov r15d, esi 0005d 45 8b ec mov r13d, r12d ; 85 : ; 86 : for (i = 0; i < count; i++) 00060 45 85 e4 test r12d, r12d 00063 0f 8e aa 00 00 00 jle $LN34@glfwSetWin 00069 44 0f af db imul r11d, ebx 0006d 4d 8b d6 mov r10, r14 00070 49 8b de mov rbx, r14 00073 0f 1f 40 00 66 0f 1f 84 00 00 00 00 00 npad 13 $LL24@glfwSetWin: ; 87 : { ; 88 : const int currDiff = abs(images[i].width * images[i].height - 00080 41 8b 42 04 mov eax, DWORD PTR [r10+4] 00084 41 8b c9 mov ecx, r9d 00087 41 0f af 02 imul eax, DWORD PTR [r10] 0008b 4d 8d 52 10 lea r10, QWORD PTR [r10+16] 0008f 4d 8b c7 mov r8, r15 00092 4c 8b fb mov r15, rbx 00095 41 2b c3 sub eax, r11d 00098 99 cdq 00099 33 c2 xor eax, edx 0009b 2b c2 sub eax, edx ; 89 : width * height); ; 90 : if (currDiff < leastDiff) 0009d 41 3b c1 cmp eax, r9d 000a0 44 0f 4c c8 cmovl r9d, eax 000a4 3b c1 cmp eax, ecx 000a6 4d 0f 4d f8 cmovge r15, r8 000aa 48 83 c3 10 add rbx, 16 000ae 49 83 ec 01 sub r12, 1 000b2 75 cc jne SHORT $LL24@glfwSetWin 000b4 41 8d 4c 24 32 lea ecx, QWORD PTR [r12+50] 000b9 ff 15 00 00 00 00 call QWORD PTR __imp_GetSystemMetrics 000bf 41 8d 4c 24 31 lea ecx, QWORD PTR [r12+49] 000c4 8b d8 mov ebx, eax 000c6 ff 15 00 00 00 00 call QWORD PTR __imp_GetSystemMetrics 000cc 44 8b 64 24 58 mov r12d, DWORD PTR count$[rsp] 000d1 4d 8b ce mov r9, r14 000d4 44 8b d0 mov r10d, eax 000d7 44 0f af d3 imul r10d, ebx 000db 0f 1f 44 00 00 npad 5 $LL27@glfwSetWin: ; 88 : const int currDiff = abs(images[i].width * images[i].height - 000e0 41 8b 46 04 mov eax, DWORD PTR [r14+4] 000e4 8b cf mov ecx, edi 000e6 41 0f af 06 imul eax, DWORD PTR [r14] 000ea 4d 8d 76 10 lea r14, QWORD PTR [r14+16] 000ee 4c 8b c6 mov r8, rsi 000f1 49 8b f1 mov rsi, r9 000f4 41 2b c2 sub eax, r10d 000f7 99 cdq 000f8 33 c2 xor eax, edx 000fa 2b c2 sub eax, edx ; 89 : width * height); ; 90 : if (currDiff < leastDiff) 000fc 3b c7 cmp eax, edi 000fe 0f 4c f8 cmovl edi, eax 00101 3b c1 cmp eax, ecx 00103 49 0f 4d f0 cmovge rsi, r8 00107 49 83 c1 10 add r9, 16 0010b 49 83 ed 01 sub r13, 1 0010f 75 cf jne SHORT $LL27@glfwSetWin 00111 eb 16 jmp SHORT $LN16@glfwSetWin $LN34@glfwSetWin: 00113 b9 32 00 00 00 mov ecx, 50 ; 00000032H 00118 ff 15 00 00 00 00 call QWORD PTR __imp_GetSystemMetrics 0011e b9 31 00 00 00 mov ecx, 49 ; 00000031H 00123 ff 15 00 00 00 00 call QWORD PTR __imp_GetSystemMetrics $LN16@glfwSetWin: ; 1549 : GetSystemMetrics(SM_CXICON), ; 1550 : GetSystemMetrics(SM_CYICON)); ; 1551 : const GLFWimage* smallImage = chooseImage(count, images, ; 1552 : GetSystemMetrics(SM_CXSMICON), ; 1553 : GetSystemMetrics(SM_CYSMICON)); ; 1554 : ; 1555 : bigIcon = createIcon(bigImage, 0, 0, GLFW_TRUE); 00129 41 b9 01 00 00 00 mov r9d, 1 0012f 45 33 c0 xor r8d, r8d 00132 33 d2 xor edx, edx 00134 49 8b cf mov rcx, r15 00137 e8 00 00 00 00 call createIcon ; 1556 : smallIcon = createIcon(smallImage, 0, 0, GLFW_TRUE); 0013c 41 b9 01 00 00 00 mov r9d, 1 00142 45 33 c0 xor r8d, r8d 00145 33 d2 xor edx, edx 00147 48 8b ce mov rcx, rsi 0014a 48 8b d8 mov rbx, rax 0014d e8 00 00 00 00 call createIcon 00152 4c 8b 7c 24 20 mov r15, QWORD PTR [rsp+32] 00157 4c 8b 6c 24 68 mov r13, QWORD PTR [rsp+104] 0015c 48 8b 74 24 50 mov rsi, QWORD PTR [rsp+80] ; 1557 : } 00161 eb 27 jmp SHORT $LN42@glfwSetWin $LN2@glfwSetWin: ; 1558 : else ; 1559 : { ; 1560 : bigIcon = (HICON) GetClassLongPtrW(window->win32.handle, GCLP_HICON); 00163 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 0016a ba f2 ff ff ff mov edx, -14 0016f ff 15 00 00 00 00 call QWORD PTR __imp_GetClassLongPtrW ; 1561 : smallIcon = (HICON) GetClassLongPtrW(window->win32.handle, GCLP_HICONSM); 00175 48 8b 8d 58 03 00 00 mov rcx, QWORD PTR [rbp+856] 0017c ba de ff ff ff mov edx, -34 ; ffffffffffffffdeH 00181 48 8b d8 mov rbx, rax 00184 ff 15 00 00 00 00 call QWORD PTR __imp_GetClassLongPtrW $LN42@glfwSetWin: ; 1562 : } ; 1563 : ; 1564 : SendMessageW(window->win32.handle, WM_SETICON, ICON_BIG, (LPARAM) bigIcon); 0018a 48 8b 8d 58 03 00 00 mov rcx, QWORD PTR [rbp+856] 00191 ba 80 00 00 00 mov edx, 128 ; 00000080H 00196 4c 8b cb mov r9, rbx 00199 48 8b f8 mov rdi, rax 0019c 44 8d 42 81 lea r8d, QWORD PTR [rdx-127] 001a0 ff 15 00 00 00 00 call QWORD PTR __imp_SendMessageW ; 1565 : SendMessageW(window->win32.handle, WM_SETICON, ICON_SMALL, (LPARAM) smallIcon); 001a6 48 8b 8d 58 03 00 00 mov rcx, QWORD PTR [rbp+856] 001ad 4c 8b cf mov r9, rdi 001b0 45 33 c0 xor r8d, r8d 001b3 ba 80 00 00 00 mov edx, 128 ; 00000080H 001b8 ff 15 00 00 00 00 call QWORD PTR __imp_SendMessageW ; 1566 : ; 1567 : if (window->win32.bigIcon) 001be 48 8b 8d 60 03 00 00 mov rcx, QWORD PTR [rbp+864] 001c5 4c 8b 74 24 28 mov r14, QWORD PTR [rsp+40] 001ca 48 85 c9 test rcx, rcx 001cd 74 06 je SHORT $LN4@glfwSetWin ; 1568 : DestroyIcon(window->win32.bigIcon); 001cf ff 15 00 00 00 00 call QWORD PTR __imp_DestroyIcon $LN4@glfwSetWin: ; 1569 : ; 1570 : if (window->win32.smallIcon) 001d5 48 8b 8d 68 03 00 00 mov rcx, QWORD PTR [rbp+872] 001dc 48 85 c9 test rcx, rcx 001df 74 06 je SHORT $LN5@glfwSetWin ; 1571 : DestroyIcon(window->win32.smallIcon); 001e1 ff 15 00 00 00 00 call QWORD PTR __imp_DestroyIcon $LN5@glfwSetWin: ; 1572 : ; 1573 : if (count) 001e7 45 85 e4 test r12d, r12d 001ea 4c 8b 64 24 60 mov r12, QWORD PTR [rsp+96] 001ef 74 0e je SHORT $LN6@glfwSetWin ; 1574 : { ; 1575 : window->win32.bigIcon = bigIcon; 001f1 48 89 9d 60 03 00 00 mov QWORD PTR [rbp+864], rbx ; 1576 : window->win32.smallIcon = smallIcon; 001f8 48 89 bd 68 03 00 00 mov QWORD PTR [rbp+872], rdi $LN6@glfwSetWin: ; 1577 : } ; 1578 : } 001ff 48 83 c4 30 add rsp, 48 ; 00000030H 00203 5f pop rdi 00204 5d pop rbp 00205 5b pop rbx 00206 c3 ret 0 _glfwSetWindowIconWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWindowFocusedWin32 _TEXT SEGMENT window$ = 48 _glfwWindowFocusedWin32 PROC ; COMDAT ; 1883 : { $LN4: 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b d9 mov rbx, rcx ; 1884 : return window->win32.handle == GetActiveWindow(); 00009 ff 15 00 00 00 00 call QWORD PTR __imp_GetActiveWindow 0000f 33 d2 xor edx, edx 00011 48 39 83 58 03 00 00 cmp QWORD PTR [rbx+856], rax 00018 0f 94 c2 sete dl 0001b 8b c2 mov eax, edx ; 1885 : } 0001d 48 83 c4 20 add rsp, 32 ; 00000020H 00021 5b pop rbx 00022 c3 ret 0 _glfwWindowFocusedWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwFocusWindowWin32 _TEXT SEGMENT window$ = 48 _glfwFocusWindowWin32 PROC ; COMDAT ; 1766 : { $LN4: 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b d9 mov rbx, rcx ; 1767 : BringWindowToTop(window->win32.handle); 00009 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00010 ff 15 00 00 00 00 call QWORD PTR __imp_BringWindowToTop ; 1768 : SetForegroundWindow(window->win32.handle); 00016 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 0001d ff 15 00 00 00 00 call QWORD PTR __imp_SetForegroundWindow ; 1769 : SetFocus(window->win32.handle); 00023 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] ; 1770 : } 0002a 48 83 c4 20 add rsp, 32 ; 00000020H 0002e 5b pop rbx ; 1769 : SetFocus(window->win32.handle); 0002f 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_SetFocus _glfwFocusWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetCursorWin32 _TEXT SEGMENT window$ = 48 cursor$ = 56 _glfwSetCursorWin32 PROC ; COMDAT ; 2289 : { $LN17: 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b d9 mov rbx, rcx ; 2290 : if (cursorInContentArea(window)) 00009 e8 00 00 00 00 call cursorInContentArea 0000e 85 c0 test eax, eax 00010 74 57 je SHORT $LN9@glfwSetCur ; 228 : if (window->cursorMode == GLFW_CURSOR_NORMAL || 00012 8b 83 84 00 00 00 mov eax, DWORD PTR [rbx+132] 00018 3d 01 40 03 00 cmp eax, 212993 ; 00034001H 0001d 74 15 je SHORT $LN7@glfwSetCur 0001f 3d 04 40 03 00 cmp eax, 212996 ; 00034004H 00024 74 0e je SHORT $LN7@glfwSetCur ; 235 : } ; 236 : else ; 237 : SetCursor(NULL); 00026 33 c9 xor ecx, ecx ; 2291 : updateCursorImage(window); ; 2292 : } 00028 48 83 c4 20 add rsp, 32 ; 00000020H 0002c 5b pop rbx 0002d 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_SetCursor $LN7@glfwSetCur: ; 231 : if (window->cursor) 00034 48 8b 4b 58 mov rcx, QWORD PTR [rbx+88] 00038 48 85 c9 test rcx, rcx 0003b 74 10 je SHORT $LN8@glfwSetCur ; 232 : SetCursor(window->cursor->win32.handle); 0003d 48 8b 49 08 mov rcx, QWORD PTR [rcx+8] ; 2291 : updateCursorImage(window); ; 2292 : } 00041 48 83 c4 20 add rsp, 32 ; 00000020H 00045 5b pop rbx 00046 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_SetCursor $LN8@glfwSetCur: ; 234 : SetCursor(LoadCursorW(NULL, IDC_ARROW)); 0004d ba 00 7f 00 00 mov edx, 32512 ; 00007f00H 00052 33 c9 xor ecx, ecx 00054 ff 15 00 00 00 00 call QWORD PTR __imp_LoadCursorW 0005a 48 8b c8 mov rcx, rax ; 2291 : updateCursorImage(window); ; 2292 : } 0005d 48 83 c4 20 add rsp, 32 ; 00000020H 00061 5b pop rbx 00062 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_SetCursor $LN9@glfwSetCur: 00069 48 83 c4 20 add rsp, 32 ; 00000020H 0006d 5b pop rbx 0006e c3 ret 0 _glfwSetCursorWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwDestroyCursorWin32 _TEXT SEGMENT cursor$ = 8 _glfwDestroyCursorWin32 PROC ; COMDAT ; 2284 : if (cursor->win32.handle) 00000 48 8b 49 08 mov rcx, QWORD PTR [rcx+8] 00004 48 85 c9 test rcx, rcx 00007 74 07 je SHORT $LN2@glfwDestro ; 2285 : DestroyIcon((HICON) cursor->win32.handle); 00009 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_DestroyIcon $LN2@glfwDestro: ; 2286 : } 00010 c3 ret 0 _glfwDestroyCursorWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWaitEventsWin32 _TEXT SEGMENT _glfwWaitEventsWin32 PROC ; COMDAT ; 2116 : { $LN4: 00000 48 83 ec 28 sub rsp, 40 ; 00000028H ; 2117 : WaitMessage(); 00004 ff 15 00 00 00 00 call QWORD PTR __imp_WaitMessage ; 2120 : } 0000a 48 83 c4 28 add rsp, 40 ; 00000028H ; 2118 : ; 2119 : _glfwPollEventsWin32(); 0000e e9 00 00 00 00 jmp _glfwPollEventsWin32 _glfwWaitEventsWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetPhysicalDevicePresentationSupportWin32 _TEXT SEGMENT instance$ = 48 device$ = 56 queuefamily$ = 64 _glfwGetPhysicalDevicePresentationSupportWin32 PROC ; COMDAT ; 2439 : { $LN6: 00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx 00005 57 push rdi 00006 48 83 ec 20 sub rsp, 32 ; 00000020H 0000a 48 8b fa mov rdi, rdx 0000d 41 8b d8 mov ebx, r8d ; 2440 : PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR ; 2441 : vkGetPhysicalDeviceWin32PresentationSupportKHR = 00010 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CP@FOBJNCLA@vkGetPhysicalDeviceWin32Present@ 00017 ff 15 40 1b 00 00 call QWORD PTR _glfw+6976 ; 2442 : (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR) ; 2443 : vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR"); ; 2444 : if (!vkGetPhysicalDeviceWin32PresentationSupportKHR) 0001d 48 85 c0 test rax, rax 00020 75 1e jne SHORT $LN2@glfwGetPhy ; 2445 : { ; 2446 : _glfwInputError(GLFW_API_UNAVAILABLE, 00022 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DO@PGEACBCJ@Win32?3?5Vulkan?5instance?5missing?5@ 00029 b9 06 00 01 00 mov ecx, 65542 ; 00010006H 0002e e8 00 00 00 00 call _glfwInputError ; 2447 : "Win32: Vulkan instance missing VK_KHR_win32_surface extension"); ; 2448 : return GLFW_FALSE; 00033 33 c0 xor eax, eax ; 2452 : } 00035 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48] 0003a 48 83 c4 20 add rsp, 32 ; 00000020H 0003e 5f pop rdi 0003f c3 ret 0 $LN2@glfwGetPhy: ; 2449 : } ; 2450 : ; 2451 : return vkGetPhysicalDeviceWin32PresentationSupportKHR(device, queuefamily); 00040 8b d3 mov edx, ebx 00042 48 8b cf mov rcx, rdi ; 2452 : } 00045 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48] 0004a 48 83 c4 20 add rsp, 32 ; 00000020H 0004e 5f pop rdi ; 2449 : } ; 2450 : ; 2451 : return vkGetPhysicalDeviceWin32PresentationSupportKHR(device, queuefamily); 0004f 48 ff e0 rex_jmp rax _glfwGetPhysicalDevicePresentationSupportWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowDecoratedWin32 _TEXT SEGMENT window$ = 8 enabled$ = 16 _glfwSetWindowDecoratedWin32 PROC ; COMDAT ; 1941 : updateWindowStyles(window); 00000 e9 00 00 00 00 jmp updateWindowStyles _glfwSetWindowDecoratedWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetKeyScancodeWin32 _TEXT SEGMENT key$ = 8 _glfwGetKeyScancodeWin32 PROC ; COMDAT ; 2214 : return _glfw.win32.scancodes[key]; 00000 48 63 c1 movsxd rax, ecx 00003 48 8d 0d a8 1f 00 00 lea rcx, OFFSET FLAT:_glfw+8104 0000a 0f bf 04 41 movsx eax, WORD PTR [rcx+rax*2] ; 2215 : } 0000e c3 ret 0 _glfwGetKeyScancodeWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwCreateWindowSurfaceWin32 _TEXT SEGMENT sci$ = 32 __$ArrayPad$ = 72 instance$ = 128 window$ = 136 allocator$ = 144 surface$ = 152 _glfwCreateWindowSurfaceWin32 PROC ; COMDAT ; 2458 : { $LN8: 00000 40 53 push rbx 00002 55 push rbp 00003 56 push rsi 00004 57 push rdi 00005 48 83 ec 58 sub rsp, 88 ; 00000058H 00009 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00010 48 33 c4 xor rax, rsp 00013 48 89 44 24 48 mov QWORD PTR __$ArrayPad$[rsp], rax 00018 48 8b fa mov rdi, rdx 0001b 49 8b e9 mov rbp, r9 ; 2459 : VkResult err; ; 2460 : VkWin32SurfaceCreateInfoKHR sci; ; 2461 : PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; ; 2462 : ; 2463 : vkCreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR) 0001e 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BI@INMBJMIJ@vkCreateWin32SurfaceKHR@ 00025 49 8b f0 mov rsi, r8 00028 48 8b d9 mov rbx, rcx 0002b ff 15 40 1b 00 00 call QWORD PTR _glfw+6976 00031 4c 8b d0 mov r10, rax ; 2464 : vkGetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR"); ; 2465 : if (!vkCreateWin32SurfaceKHR) 00034 48 85 c0 test rax, rax 00037 75 18 jne SHORT $LN2@glfwCreate ; 2466 : { ; 2467 : _glfwInputError(GLFW_API_UNAVAILABLE, 00039 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0DO@PGEACBCJ@Win32?3?5Vulkan?5instance?5missing?5@ 00040 b9 06 00 01 00 mov ecx, 65542 ; 00010006H 00045 e8 00 00 00 00 call _glfwInputError ; 2468 : "Win32: Vulkan instance missing VK_KHR_win32_surface extension"); ; 2469 : return VK_ERROR_EXTENSION_NOT_PRESENT; 0004a b8 f9 ff ff ff mov eax, -7 0004f eb 65 jmp SHORT $LN1@glfwCreate $LN2@glfwCreate: ; 2470 : } ; 2471 : ; 2472 : memset(&sci, 0, sizeof(sci)); ; 2473 : sci.sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR; ; 2474 : sci.hinstance = _glfw.win32.instance; 00051 48 8b 05 78 1b 00 00 mov rax, QWORD PTR _glfw+7032 ; 2475 : sci.hwnd = window->win32.handle; ; 2476 : ; 2477 : err = vkCreateWin32SurfaceKHR(instance, &sci, allocator, surface); 00058 48 8d 54 24 20 lea rdx, QWORD PTR sci$[rsp] 0005d 48 89 44 24 38 mov QWORD PTR sci$[rsp+24], rax 00062 0f 57 c0 xorps xmm0, xmm0 00065 48 8b 87 58 03 00 00 mov rax, QWORD PTR [rdi+856] 0006c 4c 8b cd mov r9, rbp 0006f 4c 8b c6 mov r8, rsi 00072 48 89 44 24 40 mov QWORD PTR sci$[rsp+32], rax 00077 48 8b cb mov rcx, rbx 0007a c7 44 24 34 00 00 00 00 mov DWORD PTR sci$[rsp+20], 0 00082 f3 0f 7f 44 24 24 movdqu XMMWORD PTR sci$[rsp+4], xmm0 00088 c7 44 24 20 28 ed 9a 3b mov DWORD PTR sci$[rsp], 1000009000 ; 3b9aed28H 00090 41 ff d2 call r10 00093 8b d8 mov ebx, eax ; 2478 : if (err) 00095 85 c0 test eax, eax 00097 74 1b je SHORT $LN3@glfwCreate ; 2479 : { ; 2480 : _glfwInputError(GLFW_PLATFORM_ERROR, 00099 8b c8 mov ecx, eax 0009b e8 00 00 00 00 call _glfwGetVulkanResultString 000a0 4c 8b c0 mov r8, rax 000a3 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CL@LJNEEKEI@Win32?3?5Failed?5to?5create?5Vulkan?5@ 000aa b9 08 00 01 00 mov ecx, 65544 ; 00010008H 000af 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; 000b4 8b c3 mov eax, ebx $LN1@glfwCreate: ; 2486 : } 000b6 48 8b 4c 24 48 mov rcx, QWORD PTR __$ArrayPad$[rsp] 000bb 48 33 cc xor rcx, rsp 000be e8 00 00 00 00 call __security_check_cookie 000c3 48 83 c4 58 add rsp, 88 ; 00000058H 000c7 5f pop rdi 000c8 5e pop rsi 000c9 5d pop rbp 000ca 5b pop rbx 000cb c3 ret 0 _glfwCreateWindowSurfaceWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetRawMouseMotionWin32 _TEXT SEGMENT window$ = 8 enabled$ = 16 _glfwSetRawMouseMotionWin32 PROC ; COMDAT ; 2019 : if (_glfw.win32.disabledCursorWindow != window) 00000 48 39 0d 48 29 00 00 cmp QWORD PTR _glfw+10568, rcx 00007 75 0d jne SHORT $LN4@glfwSetRaw ; 2020 : return; ; 2021 : ; 2022 : if (enabled) 00009 85 d2 test edx, edx 0000b 0f 85 00 00 00 00 jne enableRawMouseMotion $LN3@glfwSetRaw: ; 2023 : enableRawMouseMotion(window); ; 2024 : else ; 2025 : disableRawMouseMotion(window); 00011 e9 00 00 00 00 jmp disableRawMouseMotion $LN4@glfwSetRaw: ; 2026 : } 00016 c3 ret 0 _glfwSetRawMouseMotionWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwIconifyWindowWin32 _TEXT SEGMENT window$ = 8 _glfwIconifyWindowWin32 PROC ; COMDAT ; 1734 : ShowWindow(window->win32.handle, SW_MINIMIZE); 00000 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00007 ba 06 00 00 00 mov edx, 6 0000c 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_ShowWindow _glfwIconifyWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetClipboardStringWin32 _TEXT SEGMENT _glfwGetClipboardStringWin32 PROC ; COMDAT ; 2338 : { $LN16: 00000 48 83 ec 28 sub rsp, 40 ; 00000028H ; 2339 : HANDLE object; ; 2340 : WCHAR* buffer; ; 2341 : ; 2342 : if (!OpenClipboard(_glfw.win32.helperWindowHandle)) 00004 48 8b 0d 80 1b 00 00 mov rcx, QWORD PTR _glfw+7040 0000b ff 15 00 00 00 00 call QWORD PTR __imp_OpenClipboard 00011 85 c0 test eax, eax 00013 75 18 jne SHORT $LN2@glfwGetCli ; 2343 : { ; 2344 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00015 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CA@FNCFBEIG@Win32?3?5Failed?5to?5open?5clipboard@ 0001c b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00021 e8 00 00 00 00 call _glfwInputErrorWin32 ; 2345 : "Win32: Failed to open clipboard"); ; 2346 : return NULL; 00026 33 c0 xor eax, eax ; 2374 : } 00028 48 83 c4 28 add rsp, 40 ; 00000028H 0002c c3 ret 0 $LN2@glfwGetCli: ; 2347 : } ; 2348 : ; 2349 : object = GetClipboardData(CF_UNICODETEXT); 0002d b9 0d 00 00 00 mov ecx, 13 00032 48 89 5c 24 30 mov QWORD PTR [rsp+48], rbx 00037 ff 15 00 00 00 00 call QWORD PTR __imp_GetClipboardData 0003d 48 8b d8 mov rbx, rax ; 2350 : if (!object) 00040 48 85 c0 test rax, rax 00043 75 23 jne SHORT $LN3@glfwGetCli ; 2351 : { ; 2352 : _glfwInputErrorWin32(GLFW_FORMAT_UNAVAILABLE, 00045 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CN@FGAGPCCP@Win32?3?5Failed?5to?5convert?5clipbo@ 0004c b9 09 00 01 00 mov ecx, 65545 ; 00010009H 00051 e8 00 00 00 00 call _glfwInputErrorWin32 ; 2353 : "Win32: Failed to convert clipboard to string"); ; 2354 : CloseClipboard(); 00056 ff 15 00 00 00 00 call QWORD PTR __imp_CloseClipboard 0005c 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48] ; 2355 : return NULL; 00061 33 c0 xor eax, eax ; 2374 : } 00063 48 83 c4 28 add rsp, 40 ; 00000028H 00067 c3 ret 0 $LN3@glfwGetCli: ; 2356 : } ; 2357 : ; 2358 : buffer = GlobalLock(object); 00068 48 8b cb mov rcx, rbx 0006b 48 89 7c 24 20 mov QWORD PTR [rsp+32], rdi 00070 ff 15 00 00 00 00 call QWORD PTR __imp_GlobalLock 00076 48 8b f8 mov rdi, rax ; 2359 : if (!buffer) 00079 48 85 c0 test rax, rax 0007c 75 28 jne SHORT $LN4@glfwGetCli ; 2360 : { ; 2361 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 0007e 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CE@OHDHEPIL@Win32?3?5Failed?5to?5lock?5global?5ha@ 00085 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 0008a e8 00 00 00 00 call _glfwInputErrorWin32 ; 2362 : "Win32: Failed to lock global handle"); ; 2363 : CloseClipboard(); 0008f ff 15 00 00 00 00 call QWORD PTR __imp_CloseClipboard 00095 48 8b 7c 24 20 mov rdi, QWORD PTR [rsp+32] ; 2364 : return NULL; 0009a 33 c0 xor eax, eax 0009c 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48] ; 2374 : } 000a1 48 83 c4 28 add rsp, 40 ; 00000028H 000a5 c3 ret 0 $LN4@glfwGetCli: ; 2365 : } ; 2366 : ; 2367 : _glfw_free(_glfw.win32.clipboardString); 000a6 48 8b 0d a0 1b 00 00 mov rcx, QWORD PTR _glfw+7072 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 320 : if (block) 000ad 48 85 c9 test rcx, rcx 000b0 74 0d je SHORT $LN7@glfwGetCli ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 000b2 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 000b9 ff 15 18 00 00 00 call QWORD PTR _glfw+24 $LN7@glfwGetCli: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 2368 : _glfw.win32.clipboardString = _glfwCreateUTF8FromWideStringWin32(buffer); 000bf 48 8b cf mov rcx, rdi 000c2 e8 00 00 00 00 call _glfwCreateUTF8FromWideStringWin32 ; 2369 : ; 2370 : GlobalUnlock(object); 000c7 48 8b cb mov rcx, rbx 000ca 48 89 05 a0 1b 00 00 mov QWORD PTR _glfw+7072, rax 000d1 ff 15 00 00 00 00 call QWORD PTR __imp_GlobalUnlock ; 2371 : CloseClipboard(); 000d7 ff 15 00 00 00 00 call QWORD PTR __imp_CloseClipboard ; 2372 : ; 2373 : return _glfw.win32.clipboardString; 000dd 48 8b 05 a0 1b 00 00 mov rax, QWORD PTR _glfw+7072 000e4 48 8b 7c 24 20 mov rdi, QWORD PTR [rsp+32] 000e9 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48] ; 2374 : } 000ee 48 83 c4 28 add rsp, 40 ; 00000028H 000f2 c3 ret 0 _glfwGetClipboardStringWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwMaximizeWindowWin32 _TEXT SEGMENT rect$1 = 64 mi$2 = 80 __$ArrayPad$ = 120 window$ = 144 _glfwMaximizeWindowWin32 PROC ; COMDAT ; 1743 : { $LN24: 00000 40 57 push rdi 00002 48 81 ec 80 00 00 00 sub rsp, 128 ; 00000080H 00009 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00010 48 33 c4 xor rax, rsp 00013 48 89 44 24 78 mov QWORD PTR __$ArrayPad$[rsp], rax 00018 48 8b f9 mov rdi, rcx ; 1744 : if (IsWindowVisible(window->win32.handle)) 0001b 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00022 ff 15 00 00 00 00 call QWORD PTR __imp_IsWindowVisible 00028 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 0002f 85 c0 test eax, eax 00031 74 10 je SHORT $LN2@glfwMaximi ; 1745 : ShowWindow(window->win32.handle, SW_MAXIMIZE); 00033 ba 03 00 00 00 mov edx, 3 00038 ff 15 00 00 00 00 call QWORD PTR __imp_ShowWindow 0003e e9 d2 01 00 00 jmp $LN5@glfwMaximi $LN2@glfwMaximi: ; 484 : MONITORINFO mi = { sizeof(mi) }; 00043 33 c0 xor eax, eax 00045 48 89 b4 24 a8 00 00 00 mov QWORD PTR [rsp+168], rsi 0004d 0f 57 c0 xorps xmm0, xmm0 00050 c7 44 24 50 28 00 00 00 mov DWORD PTR mi$2[rsp], 40 ; 00000028H 00058 0f 11 44 24 54 movups XMMWORD PTR mi$2[rsp+4], xmm0 0005d 89 44 24 74 mov DWORD PTR mi$2[rsp+36], eax ; 485 : ; 486 : GetMonitorInfoW(MonitorFromWindow(window->win32.handle, 00061 8d 50 02 lea edx, QWORD PTR [rax+2] 00064 0f 11 44 24 64 movups XMMWORD PTR mi$2[rsp+20], xmm0 00069 ff 15 00 00 00 00 call QWORD PTR __imp_MonitorFromWindow 0006f 48 8b c8 mov rcx, rax 00072 48 8d 54 24 50 lea rdx, QWORD PTR mi$2[rsp] 00077 ff 15 00 00 00 00 call QWORD PTR __imp_GetMonitorInfoW ; 487 : MONITOR_DEFAULTTONEAREST), &mi); ; 488 : ; 489 : rect = mi.rcWork; 0007d 0f 10 4c 24 64 movups xmm1, XMMWORD PTR mi$2[rsp+20] ; 490 : ; 491 : if (window->maxwidth != GLFW_DONT_CARE && window->maxheight != GLFW_DONT_CARE) 00082 8b 4f 68 mov ecx, DWORD PTR [rdi+104] 00085 0f 11 4c 24 40 movups XMMWORD PTR rect$1[rsp], xmm1 0008a 83 f9 ff cmp ecx, -1 0008d 74 48 je SHORT $LN6@glfwMaximi 0008f 44 8b 47 6c mov r8d, DWORD PTR [rdi+108] 00093 41 83 f8 ff cmp r8d, -1 00097 74 3e je SHORT $LN6@glfwMaximi ; 493 : rect.right = _glfw_min(rect.right, rect.left + window->maxwidth); 00099 66 0f 7e ca movd edx, xmm1 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 239 : return a < b ? a : b; 0009d 66 0f 6f c1 movdqa xmm0, xmm1 000a1 66 0f 73 d9 08 psrldq xmm1, 8 000a6 66 0f 7e c8 movd eax, xmm1 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 493 : rect.right = _glfw_min(rect.right, rect.left + window->maxwidth); 000aa 03 d1 add edx, ecx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 239 : return a < b ? a : b; 000ac 66 0f 73 d8 08 psrldq xmm0, 8 000b1 66 0f 7e c1 movd ecx, xmm0 000b5 3b c2 cmp eax, edx 000b7 0f 4c d1 cmovl edx, ecx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 494 : rect.bottom = _glfw_min(rect.bottom, rect.top + window->maxheight); 000ba 48 8b 4c 24 40 mov rcx, QWORD PTR rect$1[rsp] 000bf 48 c1 e9 20 shr rcx, 32 ; 00000020H 000c3 41 03 c8 add ecx, r8d 000c6 89 54 24 48 mov DWORD PTR rect$1[rsp+8], edx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 239 : return a < b ? a : b; 000ca 39 4c 24 4c cmp DWORD PTR rect$1[rsp+12], ecx 000ce 0f 4c 4c 24 4c cmovl ecx, DWORD PTR rect$1[rsp+12] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 494 : rect.bottom = _glfw_min(rect.bottom, rect.top + window->maxheight); 000d3 89 4c 24 4c mov DWORD PTR rect$1[rsp+12], ecx $LN6@glfwMaximi: ; 495 : } ; 496 : ; 497 : style = GetWindowLongW(window->win32.handle, GWL_STYLE); 000d7 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 000de ba f0 ff ff ff mov edx, -16 000e3 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW ; 498 : style |= WS_MAXIMIZE; ; 499 : SetWindowLongW(window->win32.handle, GWL_STYLE, style); 000e9 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 000f0 ba f0 ff ff ff mov edx, -16 000f5 8b f0 mov esi, eax 000f7 0f ba ee 18 bts esi, 24 000fb 44 8b c6 mov r8d, esi 000fe ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW ; 500 : ; 501 : if (window->decorated) 00104 83 7f 0c 00 cmp DWORD PTR [rdi+12], 0 00108 0f 84 c8 00 00 00 je $LN17@glfwMaximi ; 502 : { ; 503 : const DWORD exStyle = GetWindowLongW(window->win32.handle, GWL_EXSTYLE); 0010e 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 00115 ba ec ff ff ff mov edx, -20 0011a 48 89 ac 24 a0 00 00 00 mov QWORD PTR [rsp+160], rbp 00122 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW ; 504 : ; 505 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 00128 b9 39 38 00 00 mov ecx, 14393 ; 00003839H 0012d 8b e8 mov ebp, eax 0012f e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 00134 85 c0 test eax, eax 00136 74 55 je SHORT $LN8@glfwMaximi ; 506 : { ; 507 : const UINT dpi = GetDpiForWindow(window->win32.handle); 00138 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 0013f 48 89 9c 24 98 00 00 00 mov QWORD PTR [rsp+152], rbx 00147 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 ; 508 : AdjustWindowRectExForDpi(&rect, style, FALSE, exStyle, dpi); 0014d 44 8b cd mov r9d, ebp 00150 48 8d 4c 24 40 lea rcx, QWORD PTR rect$1[rsp] 00155 45 33 c0 xor r8d, r8d 00158 89 44 24 20 mov DWORD PTR [rsp+32], eax 0015c 8b d6 mov edx, esi 0015e 8b d8 mov ebx, eax 00160 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 509 : OffsetRect(&rect, 0, GetSystemMetricsForDpi(SM_CYCAPTION, dpi)); 00166 8b d3 mov edx, ebx 00168 b9 04 00 00 00 mov ecx, 4 0016d ff 15 d0 29 00 00 call QWORD PTR _glfw+10704 00173 33 d2 xor edx, edx 00175 48 8d 4c 24 40 lea rcx, QWORD PTR rect$1[rsp] 0017a 44 8b c0 mov r8d, eax 0017d ff 15 00 00 00 00 call QWORD PTR __imp_OffsetRect 00183 48 8b 9c 24 98 00 00 00 mov rbx, QWORD PTR [rsp+152] ; 510 : } 0018b eb 2e jmp SHORT $LN9@glfwMaximi $LN8@glfwMaximi: ; 511 : else ; 512 : { ; 513 : AdjustWindowRectEx(&rect, style, FALSE, exStyle); 0018d 44 8b cd mov r9d, ebp 00190 48 8d 4c 24 40 lea rcx, QWORD PTR rect$1[rsp] 00195 45 33 c0 xor r8d, r8d 00198 8b d6 mov edx, esi 0019a ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx ; 514 : OffsetRect(&rect, 0, GetSystemMetrics(SM_CYCAPTION)); 001a0 b9 04 00 00 00 mov ecx, 4 001a5 ff 15 00 00 00 00 call QWORD PTR __imp_GetSystemMetrics 001ab 33 d2 xor edx, edx 001ad 48 8d 4c 24 40 lea rcx, QWORD PTR rect$1[rsp] 001b2 44 8b c0 mov r8d, eax 001b5 ff 15 00 00 00 00 call QWORD PTR __imp_OffsetRect $LN9@glfwMaximi: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 239 : return a < b ? a : b; 001bb 8b 4c 24 70 mov ecx, DWORD PTR mi$2[rsp+32] 001bf 39 4c 24 4c cmp DWORD PTR rect$1[rsp+12], ecx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 517 : rect.bottom = _glfw_min(rect.bottom, mi.rcWork.bottom); 001c3 48 8b ac 24 a0 00 00 00 mov rbp, QWORD PTR [rsp+160] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 239 : return a < b ? a : b; 001cb 0f 4c 4c 24 4c cmovl ecx, DWORD PTR rect$1[rsp+12] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 517 : rect.bottom = _glfw_min(rect.bottom, mi.rcWork.bottom); 001d0 89 4c 24 4c mov DWORD PTR rect$1[rsp+12], ecx 001d4 eb 04 jmp SHORT $LN7@glfwMaximi $LN17@glfwMaximi: ; 500 : ; 501 : if (window->decorated) 001d6 8b 4c 24 4c mov ecx, DWORD PTR rect$1[rsp+12] $LN7@glfwMaximi: ; 518 : } ; 519 : ; 520 : SetWindowPos(window->win32.handle, HWND_TOP, 001da 44 8b 4c 24 44 mov r9d, DWORD PTR rect$1[rsp+4] 001df 33 d2 xor edx, edx 001e1 8b 44 24 48 mov eax, DWORD PTR rect$1[rsp+8] 001e5 41 2b c9 sub ecx, r9d 001e8 44 8b 44 24 40 mov r8d, DWORD PTR rect$1[rsp] 001ed 41 2b c0 sub eax, r8d 001f0 c7 44 24 30 34 00 00 00 mov DWORD PTR [rsp+48], 52 ; 00000034H 001f8 89 4c 24 28 mov DWORD PTR [rsp+40], ecx 001fc 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 00203 89 44 24 20 mov DWORD PTR [rsp+32], eax 00207 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos 0020d 48 8b b4 24 a8 00 00 00 mov rsi, QWORD PTR [rsp+168] $LN5@glfwMaximi: ; 1746 : else ; 1747 : maximizeWindowManually(window); ; 1748 : } 00215 48 8b 4c 24 78 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0021a 48 33 cc xor rcx, rsp 0021d e8 00 00 00 00 call __security_check_cookie 00222 48 81 c4 80 00 00 00 add rsp, 128 ; 00000080H 00229 5f pop rdi 0022a c3 ret 0 _glfwMaximizeWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwRequestWindowAttentionWin32 _TEXT SEGMENT window$ = 8 _glfwRequestWindowAttentionWin32 PROC ; COMDAT ; 1762 : FlashWindow(window->win32.handle, TRUE); 00000 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00007 ba 01 00 00 00 mov edx, 1 0000c 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_FlashWindow _glfwRequestWindowAttentionWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetWindowContentScaleWin32 _TEXT SEGMENT window$ = 48 xscale$ = 56 yscale$ = 64 _glfwGetWindowContentScaleWin32 PROC ; COMDAT ; 1726 : { $LN4: 00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx 00005 57 push rdi 00006 48 83 ec 20 sub rsp, 32 ; 00000020H ; 1727 : const HANDLE handle = MonitorFromWindow(window->win32.handle, 0000a 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00011 48 8b fa mov rdi, rdx 00014 ba 02 00 00 00 mov edx, 2 00019 49 8b d8 mov rbx, r8 0001c ff 15 00 00 00 00 call QWORD PTR __imp_MonitorFromWindow ; 1728 : MONITOR_DEFAULTTONEAREST); ; 1729 : _glfwGetHMONITORContentScaleWin32(handle, xscale, yscale); 00022 4c 8b c3 mov r8, rbx 00025 48 8b d7 mov rdx, rdi 00028 48 8b c8 mov rcx, rax ; 1730 : } 0002b 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48] 00030 48 83 c4 20 add rsp, 32 ; 00000020H 00034 5f pop rdi ; 1728 : MONITOR_DEFAULTTONEAREST); ; 1729 : _glfwGetHMONITORContentScaleWin32(handle, xscale, yscale); 00035 e9 00 00 00 00 jmp _glfwGetHMONITORContentScaleWin32 _glfwGetWindowContentScaleWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwPollEventsWin32 _TEXT SEGMENT pos$1 = 48 area$2 = 48 msg$ = 64 __$ArrayPad$ = 112 _glfwPollEventsWin32 PROC ; COMDAT ; 2034 : { $LN109: 00000 40 53 push rbx 00002 48 81 ec a0 00 00 00 sub rsp, 160 ; 000000a0H 00009 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00010 48 33 c4 xor rax, rsp 00013 48 89 44 24 70 mov QWORD PTR __$ArrayPad$[rsp], rax ; 2035 : MSG msg; ; 2036 : HWND handle; ; 2037 : _GLFWwindow* window; ; 2038 : ; 2039 : while (PeekMessageW(&msg, NULL, 0, 0, PM_REMOVE)) 00018 45 33 c9 xor r9d, r9d 0001b c7 44 24 20 01 00 00 00 mov DWORD PTR [rsp+32], 1 00023 45 33 c0 xor r8d, r8d 00026 48 8d 4c 24 40 lea rcx, QWORD PTR msg$[rsp] 0002b 33 d2 xor edx, edx 0002d ff 15 00 00 00 00 call QWORD PTR __imp_PeekMessageW 00033 85 c0 test eax, eax 00035 74 70 je SHORT $LN3@glfwPollEv $LL2@glfwPollEv: ; 2040 : { ; 2041 : if (msg.message == WM_QUIT) 00037 83 7c 24 48 12 cmp DWORD PTR msg$[rsp+8], 18 0003c 75 34 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; 0003e 48 8b 1d 78 07 00 00 mov rbx, QWORD PTR _glfw+1912 ; 2048 : while (window) 00045 48 85 db test rbx, rbx 00048 74 3e je SHORT $LN10@glfwPollEv 0004a 66 0f 1f 44 00 00 npad 6 $LL4@glfwPollEv: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; 166 : if (window->callbacks.close) 00050 48 8b 83 e0 02 00 00 mov rax, QWORD PTR [rbx+736] 00057 c7 43 20 01 00 00 00 mov DWORD PTR [rbx+32], 1 0005e 48 85 c0 test rax, rax 00061 74 05 je SHORT $LN20@glfwPollEv ; 167 : window->callbacks.close((GLFWwindow*) window); 00063 48 8b cb mov rcx, rbx 00066 ff d0 call rax $LN20@glfwPollEv: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 2051 : window = window->next; 00068 48 8b 1b mov rbx, QWORD PTR [rbx] 0006b 48 85 db test rbx, rbx 0006e 75 e0 jne SHORT $LL4@glfwPollEv ; 2052 : } ; 2053 : } 00070 eb 16 jmp SHORT $LN10@glfwPollEv $LN9@glfwPollEv: ; 2054 : else ; 2055 : { ; 2056 : TranslateMessage(&msg); 00072 48 8d 4c 24 40 lea rcx, QWORD PTR msg$[rsp] 00077 ff 15 00 00 00 00 call QWORD PTR __imp_TranslateMessage ; 2057 : DispatchMessageW(&msg); 0007d 48 8d 4c 24 40 lea rcx, QWORD PTR msg$[rsp] 00082 ff 15 00 00 00 00 call QWORD PTR __imp_DispatchMessageW $LN10@glfwPollEv: ; 2035 : MSG msg; ; 2036 : HWND handle; ; 2037 : _GLFWwindow* window; ; 2038 : ; 2039 : while (PeekMessageW(&msg, NULL, 0, 0, PM_REMOVE)) 00088 45 33 c9 xor r9d, r9d 0008b c7 44 24 20 01 00 00 00 mov DWORD PTR [rsp+32], 1 00093 45 33 c0 xor r8d, r8d 00096 48 8d 4c 24 40 lea rcx, QWORD PTR msg$[rsp] 0009b 33 d2 xor edx, edx 0009d ff 15 00 00 00 00 call QWORD PTR __imp_PeekMessageW 000a3 85 c0 test eax, eax 000a5 75 90 jne SHORT $LL2@glfwPollEv $LN3@glfwPollEv: ; 2058 : } ; 2059 : } ; 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(); 000a7 ff 15 00 00 00 00 call QWORD PTR __imp_GetActiveWindow ; 2069 : if (handle) 000ad 48 85 c0 test rax, rax 000b0 0f 84 8d 02 00 00 je $LN66@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 c8 mov rcx, rax 000c0 ff 15 00 00 00 00 call QWORD PTR __imp_GetPropW 000c6 48 8b d8 mov rbx, rax ; 2072 : if (window) 000c9 48 85 c0 test rax, rax 000cc 0f 84 71 02 00 00 je $LN66@glfwPollEv 000d2 48 89 ac 24 b0 00 00 00 mov QWORD PTR [rsp+176], rbp ; 2087 : const int scancode = _glfw.win32.scancodes[key]; ; 2088 : ; 2089 : if ((GetKeyState(vk) & 0x8000)) 000da b9 a0 00 00 00 mov ecx, 160 ; 000000a0H 000df 48 89 b4 24 b8 00 00 00 mov QWORD PTR [rsp+184], rsi 000e7 48 89 bc 24 c0 00 00 00 mov QWORD PTR [rsp+192], rdi 000ef 0f bf 3d 50 22 00 00 movsx edi, WORD PTR _glfw+8784 000f6 4c 89 b4 24 98 00 00 00 mov QWORD PTR [rsp+152], r14 000fe 41 be 5b 01 00 00 mov r14d, 347 ; 0000015bH 00104 4c 89 bc 24 90 00 00 00 mov QWORD PTR [rsp+144], r15 0010c 0f 29 b4 24 80 00 00 00 movaps XMMWORD PTR [rsp+128], xmm6 00114 66 0f 6f 35 00 00 00 00 movdqa xmm6, XMMWORD PTR __xmm@000001570000005b00000158000000a1 0011c ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 00122 66 85 c0 test ax, ax 00125 78 58 js SHORT $LN6@glfwPollEv ; 2090 : continue; ; 2091 : if (window->keys[key] != GLFW_PRESS) 00127 80 bb e4 01 00 00 01 cmp BYTE PTR [rbx+484], 1 0012e 75 4f jne SHORT $LN6@glfwPollEv ; 2094 : _glfwInputKey(window, key, scancode, GLFW_RELEASE, getKeyMods()); 00130 e8 00 00 00 00 call getKeyMods ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 286 : if (action == GLFW_RELEASE && window->keys[key] == GLFW_RELEASE) 00135 80 bb e4 01 00 00 00 cmp BYTE PTR [rbx+484], 0 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 2094 : _glfwInputKey(window, key, scancode, GLFW_RELEASE, getKeyMods()); 0013c 44 8b c8 mov r9d, eax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 286 : if (action == GLFW_RELEASE && window->keys[key] == GLFW_RELEASE) 0013f 74 3e je SHORT $LN6@glfwPollEv ; 287 : return; ; 288 : ; 289 : if (action == GLFW_PRESS && window->keys[key] == GLFW_PRESS) ; 290 : repeated = GLFW_TRUE; ; 291 : ; 292 : if (action == GLFW_RELEASE && window->stickyKeys) ; 293 : window->keys[key] = _GLFW_STICK; ; 294 : else ; 295 : window->keys[key] = (char)action; ; 296 : ; 297 : if (repeated) 00141 8b 4b 78 mov ecx, DWORD PTR [rbx+120] 00144 f7 d9 neg ecx 00146 1a d2 sbb dl, dl 00148 80 e2 03 and dl, 3 0014b 88 93 e4 01 00 00 mov BYTE PTR [rbx+484], dl ; 298 : action = GLFW_REPEAT; ; 299 : } ; 300 : ; 301 : if (!window->lockKeyMods) ; 302 : mods &= ~(GLFW_MOD_CAPS_LOCK | GLFW_MOD_NUM_LOCK); ; 303 : ; 304 : if (window->callbacks.key) 00151 4c 8b 93 38 03 00 00 mov r10, QWORD PTR [rbx+824] 00158 4d 85 d2 test r10, r10 0015b 74 22 je SHORT $LN6@glfwPollEv 0015d 83 e0 cf and eax, -49 ; ffffffffffffffcfH ; 305 : window->callbacks.key((GLFWwindow*)window, key, scancode, action, mods); 00160 41 8d 56 f9 lea edx, QWORD PTR [r14-7] 00164 83 bb 80 00 00 00 00 cmp DWORD PTR [rbx+128], 0 0016b 44 8b c7 mov r8d, edi 0016e 48 8b cb mov rcx, rbx 00171 41 0f 45 c1 cmovne eax, r9d 00175 45 33 c9 xor r9d, r9d 00178 89 44 24 20 mov DWORD PTR [rsp+32], eax 0017c 41 ff d2 call r10 $LN6@glfwPollEv: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 2086 : const int key = keys[i][1]; 0017f 66 0f 6f c6 movdqa xmm0, xmm6 ; 2087 : const int scancode = _glfw.win32.scancodes[key]; ; 2088 : ; 2089 : if ((GetKeyState(vk) & 0x8000)) 00183 66 0f 7e f1 movd ecx, xmm6 00187 66 0f 73 d8 04 psrldq xmm0, 4 0018c 4c 8d 3d 00 00 00 00 lea r15, OFFSET FLAT:_glfw 00193 66 0f 7e c6 movd esi, xmm0 00197 48 63 fe movsxd rdi, esi 0019a 41 0f bf ac 7f a8 1f 00 00 movsx ebp, WORD PTR [r15+rdi*2+8104] 001a3 ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 001a9 66 85 c0 test ax, ax 001ac 78 61 js SHORT $LN50@glfwPollEv ; 2090 : continue; ; 2091 : if (window->keys[key] != GLFW_PRESS) 001ae 80 bc 1f 90 00 00 00 01 cmp BYTE PTR [rdi+rbx+144], 1 001b6 75 57 jne SHORT $LN50@glfwPollEv ; 2094 : _glfwInputKey(window, key, scancode, GLFW_RELEASE, getKeyMods()); 001b8 e8 00 00 00 00 call getKeyMods 001bd 44 8b c8 mov r9d, eax 001c0 81 fe 5c 01 00 00 cmp esi, 348 ; 0000015cH ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 282 : if (key >= 0 && key <= GLFW_KEY_LAST) 001c6 77 1b ja SHORT $LN48@glfwPollEv ; 286 : if (action == GLFW_RELEASE && window->keys[key] == GLFW_RELEASE) 001c8 80 bc 1f 90 00 00 00 00 cmp BYTE PTR [rdi+rbx+144], 0 001d0 74 3d je SHORT $LN50@glfwPollEv ; 287 : return; ; 288 : ; 289 : if (action == GLFW_PRESS && window->keys[key] == GLFW_PRESS) ; 290 : repeated = GLFW_TRUE; ; 291 : ; 292 : if (action == GLFW_RELEASE && window->stickyKeys) ; 293 : window->keys[key] = _GLFW_STICK; ; 294 : else ; 295 : window->keys[key] = (char)action; ; 296 : ; 297 : if (repeated) 001d2 8b 4b 78 mov ecx, DWORD PTR [rbx+120] 001d5 f7 d9 neg ecx 001d7 1a d2 sbb dl, dl 001d9 80 e2 03 and dl, 3 001dc 88 94 1f 90 00 00 00 mov BYTE PTR [rdi+rbx+144], dl $LN48@glfwPollEv: ; 298 : action = GLFW_REPEAT; ; 299 : } ; 300 : ; 301 : if (!window->lockKeyMods) ; 302 : mods &= ~(GLFW_MOD_CAPS_LOCK | GLFW_MOD_NUM_LOCK); ; 303 : ; 304 : if (window->callbacks.key) 001e3 4c 8b 93 38 03 00 00 mov r10, QWORD PTR [rbx+824] 001ea 4d 85 d2 test r10, r10 001ed 74 20 je SHORT $LN50@glfwPollEv 001ef 83 e0 cf and eax, -49 ; ffffffffffffffcfH ; 305 : window->callbacks.key((GLFWwindow*)window, key, scancode, action, mods); 001f2 44 8b c5 mov r8d, ebp 001f5 83 bb 80 00 00 00 00 cmp DWORD PTR [rbx+128], 0 001fc 8b d6 mov edx, esi 001fe 48 8b cb mov rcx, rbx 00201 41 0f 45 c1 cmovne eax, r9d 00205 45 33 c9 xor r9d, r9d 00208 89 44 24 20 mov DWORD PTR [rsp+32], eax 0020c 41 ff d2 call r10 $LN50@glfwPollEv: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 2086 : const int key = keys[i][1]; 0020f 66 0f 6f c6 movdqa xmm0, xmm6 ; 2087 : const int scancode = _glfw.win32.scancodes[key]; ; 2088 : ; 2089 : if ((GetKeyState(vk) & 0x8000)) 00213 66 0f 73 de 08 psrldq xmm6, 8 00218 66 0f 73 d8 0c psrldq xmm0, 12 0021d 66 0f 7e c6 movd esi, xmm0 00221 66 0f 7e f1 movd ecx, xmm6 00225 48 63 fe movsxd rdi, esi 00228 41 0f bf ac 7f a8 1f 00 00 movsx ebp, WORD PTR [r15+rdi*2+8104] 00231 ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 00237 0f 28 b4 24 80 00 00 00 movaps xmm6, XMMWORD PTR [rsp+128] 0023f 66 85 c0 test ax, ax 00242 78 61 js SHORT $LN58@glfwPollEv ; 2090 : continue; ; 2091 : if (window->keys[key] != GLFW_PRESS) 00244 80 bc 1f 90 00 00 00 01 cmp BYTE PTR [rdi+rbx+144], 1 0024c 75 57 jne SHORT $LN58@glfwPollEv ; 2094 : _glfwInputKey(window, key, scancode, GLFW_RELEASE, getKeyMods()); 0024e e8 00 00 00 00 call getKeyMods 00253 44 8b c8 mov r9d, eax 00256 81 fe 5c 01 00 00 cmp esi, 348 ; 0000015cH ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 282 : if (key >= 0 && key <= GLFW_KEY_LAST) 0025c 77 1b ja SHORT $LN56@glfwPollEv ; 286 : if (action == GLFW_RELEASE && window->keys[key] == GLFW_RELEASE) 0025e 80 bc 1f 90 00 00 00 00 cmp BYTE PTR [rdi+rbx+144], 0 00266 74 3d je SHORT $LN58@glfwPollEv ; 287 : return; ; 288 : ; 289 : if (action == GLFW_PRESS && window->keys[key] == GLFW_PRESS) ; 290 : repeated = GLFW_TRUE; ; 291 : ; 292 : if (action == GLFW_RELEASE && window->stickyKeys) ; 293 : window->keys[key] = _GLFW_STICK; ; 294 : else ; 295 : window->keys[key] = (char)action; ; 296 : ; 297 : if (repeated) 00268 8b 4b 78 mov ecx, DWORD PTR [rbx+120] 0026b f7 d9 neg ecx 0026d 1a d2 sbb dl, dl 0026f 80 e2 03 and dl, 3 00272 88 94 1f 90 00 00 00 mov BYTE PTR [rdi+rbx+144], dl $LN56@glfwPollEv: ; 298 : action = GLFW_REPEAT; ; 299 : } ; 300 : ; 301 : if (!window->lockKeyMods) ; 302 : mods &= ~(GLFW_MOD_CAPS_LOCK | GLFW_MOD_NUM_LOCK); ; 303 : ; 304 : if (window->callbacks.key) 00279 4c 8b 93 38 03 00 00 mov r10, QWORD PTR [rbx+824] 00280 4d 85 d2 test r10, r10 00283 74 20 je SHORT $LN58@glfwPollEv 00285 83 e0 cf and eax, -49 ; ffffffffffffffcfH ; 305 : window->callbacks.key((GLFWwindow*)window, key, scancode, action, mods); 00288 44 8b c5 mov r8d, ebp 0028b 83 bb 80 00 00 00 00 cmp DWORD PTR [rbx+128], 0 00292 8b d6 mov edx, esi 00294 48 8b cb mov rcx, rbx 00297 41 0f 45 c1 cmovne eax, r9d 0029b 45 33 c9 xor r9d, r9d 0029e 89 44 24 20 mov DWORD PTR [rsp+32], eax 002a2 41 ff d2 call r10 $LN58@glfwPollEv: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 2086 : const int key = keys[i][1]; 002a5 49 63 fe movsxd rdi, r14d ; 2087 : const int scancode = _glfw.win32.scancodes[key]; ; 2088 : ; 2089 : if ((GetKeyState(vk) & 0x8000)) 002a8 b9 5c 00 00 00 mov ecx, 92 ; 0000005cH 002ad 41 0f bf b4 7f a8 1f 00 00 movsx esi, WORD PTR [r15+rdi*2+8104] 002b6 ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 002bc 4c 8b bc 24 90 00 00 00 mov r15, QWORD PTR [rsp+144] 002c4 48 8b ac 24 b0 00 00 00 mov rbp, QWORD PTR [rsp+176] 002cc 66 85 c0 test ax, ax 002cf 78 5a js SHORT $LN107@glfwPollEv ; 2090 : continue; ; 2091 : if (window->keys[key] != GLFW_PRESS) 002d1 80 bc 1f 90 00 00 00 01 cmp BYTE PTR [rdi+rbx+144], 1 002d9 75 50 jne SHORT $LN107@glfwPollEv ; 2094 : _glfwInputKey(window, key, scancode, GLFW_RELEASE, getKeyMods()); 002db e8 00 00 00 00 call getKeyMods ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 286 : if (action == GLFW_RELEASE && window->keys[key] == GLFW_RELEASE) 002e0 80 bc 1f 90 00 00 00 00 cmp BYTE PTR [rdi+rbx+144], 0 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 2094 : _glfwInputKey(window, key, scancode, GLFW_RELEASE, getKeyMods()); 002e8 44 8b c8 mov r9d, eax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 286 : if (action == GLFW_RELEASE && window->keys[key] == GLFW_RELEASE) 002eb 74 3e je SHORT $LN107@glfwPollEv ; 287 : return; ; 288 : ; 289 : if (action == GLFW_PRESS && window->keys[key] == GLFW_PRESS) ; 290 : repeated = GLFW_TRUE; ; 291 : ; 292 : if (action == GLFW_RELEASE && window->stickyKeys) ; 293 : window->keys[key] = _GLFW_STICK; ; 294 : else ; 295 : window->keys[key] = (char)action; ; 296 : ; 297 : if (repeated) 002ed 8b 4b 78 mov ecx, DWORD PTR [rbx+120] 002f0 f7 d9 neg ecx 002f2 1a d2 sbb dl, dl 002f4 80 e2 03 and dl, 3 002f7 88 94 1f 90 00 00 00 mov BYTE PTR [rdi+rbx+144], dl ; 298 : action = GLFW_REPEAT; ; 299 : } ; 300 : ; 301 : if (!window->lockKeyMods) ; 302 : mods &= ~(GLFW_MOD_CAPS_LOCK | GLFW_MOD_NUM_LOCK); ; 303 : ; 304 : if (window->callbacks.key) 002fe 4c 8b 93 38 03 00 00 mov r10, QWORD PTR [rbx+824] 00305 4d 85 d2 test r10, r10 00308 74 21 je SHORT $LN107@glfwPollEv 0030a 83 e0 cf and eax, -49 ; ffffffffffffffcfH ; 305 : window->callbacks.key((GLFWwindow*)window, key, scancode, action, mods); 0030d 44 8b c6 mov r8d, esi 00310 83 bb 80 00 00 00 00 cmp DWORD PTR [rbx+128], 0 00317 41 8b d6 mov edx, r14d 0031a 48 8b cb mov rcx, rbx 0031d 41 0f 45 c1 cmovne eax, r9d 00321 45 33 c9 xor r9d, r9d 00324 89 44 24 20 mov DWORD PTR [rsp+32], eax 00328 41 ff d2 call r10 $LN107@glfwPollEv: 0032b 48 8b bc 24 c0 00 00 00 mov rdi, QWORD PTR [rsp+192] 00333 48 8b b4 24 b8 00 00 00 mov rsi, QWORD PTR [rsp+184] 0033b 4c 8b b4 24 98 00 00 00 mov r14, QWORD PTR [rsp+152] $LN66@glfwPollEv: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 2099 : window = _glfw.win32.disabledCursorWindow; 00343 48 8b 1d 48 29 00 00 mov rbx, QWORD PTR _glfw+10568 ; 2100 : if (window) 0034a 48 85 db test rbx, rbx 0034d 74 79 je SHORT $LN36@glfwPollEv ; 1614 : GetClientRect(window->win32.handle, &area); 0034f 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00356 48 8d 54 24 30 lea rdx, QWORD PTR area$2[rsp] 0035b ff 15 00 00 00 00 call QWORD PTR __imp_GetClientRect ; 2101 : { ; 2102 : int width, height; ; 2103 : _glfwGetWindowSizeWin32(window, &width, &height); ; 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 || 00361 8b 44 24 38 mov eax, DWORD PTR area$2[rsp+8] 00365 44 8b 4c 24 3c mov r9d, DWORD PTR area$2[rsp+12] 0036a 99 cdq 0036b 2b c2 sub eax, edx 0036d d1 f8 sar eax, 1 0036f 44 8b c0 mov r8d, eax 00372 39 83 94 03 00 00 cmp DWORD PTR [rbx+916], eax 00378 75 10 jne SHORT $LN77@glfwPollEv 0037a 41 8b c1 mov eax, r9d 0037d 99 cdq 0037e 2b c2 sub eax, edx 00380 d1 f8 sar eax, 1 00382 39 83 98 03 00 00 cmp DWORD PTR [rbx+920], eax 00388 74 3e je SHORT $LN36@glfwPollEv $LN77@glfwPollEv: ; 2157 : ClientToScreen(window->win32.handle, &pos); 0038a 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] ; 2108 : window->win32.lastCursorPosY != height / 2) ; 2109 : { ; 2110 : _glfwSetCursorPosWin32(window, width / 2, height / 2); 00391 41 8b c1 mov eax, r9d 00394 99 cdq ; 2151 : POINT pos = { (int) xpos, (int) ypos }; 00395 44 89 44 24 30 mov DWORD PTR pos$1[rsp], r8d ; 2108 : window->win32.lastCursorPosY != height / 2) ; 2109 : { ; 2110 : _glfwSetCursorPosWin32(window, width / 2, height / 2); 0039a 2b c2 sub eax, edx ; 2154 : window->win32.lastCursorPosX = pos.x; 0039c 44 89 83 94 03 00 00 mov DWORD PTR [rbx+916], r8d ; 2108 : window->win32.lastCursorPosY != height / 2) ; 2109 : { ; 2110 : _glfwSetCursorPosWin32(window, width / 2, height / 2); 003a3 d1 f8 sar eax, 1 ; 2157 : ClientToScreen(window->win32.handle, &pos); 003a5 48 8d 54 24 30 lea rdx, QWORD PTR pos$1[rsp] ; 2108 : window->win32.lastCursorPosY != height / 2) ; 2109 : { ; 2110 : _glfwSetCursorPosWin32(window, width / 2, height / 2); 003aa 89 44 24 34 mov DWORD PTR pos$1[rsp+4], eax ; 2155 : window->win32.lastCursorPosY = pos.y; 003ae 89 83 98 03 00 00 mov DWORD PTR [rbx+920], eax ; 2156 : ; 2157 : ClientToScreen(window->win32.handle, &pos); 003b4 ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 2158 : SetCursorPos(pos.x, pos.y); 003ba 8b 54 24 34 mov edx, DWORD PTR pos$1[rsp+4] 003be 8b 4c 24 30 mov ecx, DWORD PTR pos$1[rsp] 003c2 ff 15 00 00 00 00 call QWORD PTR __imp_SetCursorPos $LN36@glfwPollEv: ; 2111 : } ; 2112 : } ; 2113 : } 003c8 48 8b 4c 24 70 mov rcx, QWORD PTR __$ArrayPad$[rsp] 003cd 48 33 cc xor rcx, rsp 003d0 e8 00 00 00 00 call __security_check_cookie 003d5 48 81 c4 a0 00 00 00 add rsp, 160 ; 000000a0H 003dc 5b pop rbx 003dd c3 ret 0 _glfwPollEventsWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowOpacityWin32 _TEXT SEGMENT window$ = 64 opacity$ = 72 _glfwSetWindowOpacityWin32 PROC ; COMDAT ; 1997 : { $LN11: 00000 40 53 push rbx 00002 48 83 ec 30 sub rsp, 48 ; 00000030H 00006 48 8b d9 mov rbx, rcx 00009 0f 29 74 24 20 movaps XMMWORD PTR [rsp+32], xmm6 ; 1998 : LONG exStyle = GetWindowLongW(window->win32.handle, GWL_EXSTYLE); 0000e 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00015 ba ec ff ff ff mov edx, -20 0001a 0f 28 f1 movaps xmm6, xmm1 0001d ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW ; 1999 : if (opacity < 1.f || (exStyle & WS_EX_TRANSPARENT)) 00023 f3 0f 10 05 00 00 00 00 movss xmm0, DWORD PTR __real@3f800000 0002b 0f 2f c6 comiss xmm0, xmm6 0002e 77 28 ja SHORT $LN4@glfwSetWin 00030 a8 20 test al, 32 ; 00000020H 00032 75 24 jne SHORT $LN4@glfwSetWin ; 2005 : } ; 2006 : else if (exStyle & WS_EX_TRANSPARENT) ; 2007 : { ; 2008 : SetLayeredWindowAttributes(window->win32.handle, 0, 0, 0); ; 2009 : } ; 2010 : else ; 2011 : { ; 2012 : exStyle &= ~WS_EX_LAYERED; ; 2013 : SetWindowLongW(window->win32.handle, GWL_EXSTYLE, exStyle); 00034 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 0003b 0f ba f0 13 btr eax, 19 0003f 44 8b c0 mov r8d, eax 00042 ba ec ff ff ff mov edx, -20 ; 2014 : } ; 2015 : } 00047 0f 28 74 24 20 movaps xmm6, XMMWORD PTR [rsp+32] 0004c 48 83 c4 30 add rsp, 48 ; 00000030H 00050 5b pop rbx ; 2005 : } ; 2006 : else if (exStyle & WS_EX_TRANSPARENT) ; 2007 : { ; 2008 : SetLayeredWindowAttributes(window->win32.handle, 0, 0, 0); ; 2009 : } ; 2010 : else ; 2011 : { ; 2012 : exStyle &= ~WS_EX_LAYERED; ; 2013 : SetWindowLongW(window->win32.handle, GWL_EXSTYLE, exStyle); 00051 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_SetWindowLongW $LN4@glfwSetWin: ; 2000 : { ; 2001 : const BYTE alpha = (BYTE) (255 * opacity); ; 2002 : exStyle |= WS_EX_LAYERED; ; 2003 : SetWindowLongW(window->win32.handle, GWL_EXSTYLE, exStyle); 00058 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 0005f 0f ba e8 13 bts eax, 19 00063 44 8b c0 mov r8d, eax 00066 ba ec ff ff ff mov edx, -20 0006b ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW 00071 f3 0f 59 35 00 00 00 00 mulss xmm6, DWORD PTR __real@437f0000 ; 2004 : SetLayeredWindowAttributes(window->win32.handle, 0, alpha, LWA_ALPHA); 00079 33 d2 xor edx, edx 0007b 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00082 f3 44 0f 2c c6 cvttss2si r8d, xmm6 00087 44 8d 4a 02 lea r9d, QWORD PTR [rdx+2] ; 2014 : } ; 2015 : } 0008b 0f 28 74 24 20 movaps xmm6, XMMWORD PTR [rsp+32] 00090 48 83 c4 30 add rsp, 48 ; 00000030H 00094 5b pop rbx ; 2004 : SetLayeredWindowAttributes(window->win32.handle, 0, alpha, LWA_ALPHA); 00095 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_SetLayeredWindowAttributes _glfwSetWindowOpacityWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetRequiredInstanceExtensionsWin32 _TEXT SEGMENT extensions$ = 8 _glfwGetRequiredInstanceExtensionsWin32 PROC ; COMDAT ; 2429 : if (!_glfw.vk.KHR_surface || !_glfw.vk.KHR_win32_surface) 00000 83 3d 48 1b 00 00 00 cmp DWORD PTR _glfw+6984, 0 00007 74 1e je SHORT $LN3@glfwGetReq 00009 83 3d 4c 1b 00 00 00 cmp DWORD PTR _glfw+6988, 0 00010 74 15 je SHORT $LN3@glfwGetReq ; 2430 : return; ; 2431 : ; 2432 : extensions[0] = "VK_KHR_surface"; 00012 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0P@IENCOMCD@VK_KHR_surface@ 00019 48 89 01 mov QWORD PTR [rcx], rax ; 2433 : extensions[1] = "VK_KHR_win32_surface"; 0001c 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_0BF@COCMEDFO@VK_KHR_win32_surface@ 00023 48 89 41 08 mov QWORD PTR [rcx+8], rax $LN3@glfwGetReq: ; 2434 : } 00027 c3 ret 0 _glfwGetRequiredInstanceExtensionsWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowFloatingWin32 _TEXT SEGMENT window$ = 80 enabled$ = 88 _glfwSetWindowFloatingWin32 PROC ; COMDAT ; 1945 : { $LN4: 00000 48 83 ec 48 sub rsp, 72 ; 00000048H ; 1946 : const HWND after = enabled ? HWND_TOPMOST : HWND_NOTOPMOST; ; 1947 : SetWindowPos(window->win32.handle, after, 0, 0, 0, 0, 00004 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 0000b 45 33 c0 xor r8d, r8d 0000e 85 d2 test edx, edx 00010 c7 44 24 30 13 00 00 00 mov DWORD PTR [rsp+48], 19 00018 41 8b c0 mov eax, r8d 0001b 44 89 44 24 28 mov DWORD PTR [rsp+40], r8d 00020 0f 95 c0 setne al 00023 44 89 44 24 20 mov DWORD PTR [rsp+32], r8d 00028 45 33 c9 xor r9d, r9d 0002b 48 8d 50 fe lea rdx, QWORD PTR [rax-2] 0002f ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos ; 1948 : SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); ; 1949 : } 00035 48 83 c4 48 add rsp, 72 ; 00000048H 00039 c3 ret 0 _glfwSetWindowFloatingWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwFramebufferTransparentWin32 _TEXT SEGMENT composition$ = 32 opaque$ = 36 color$ = 40 __$ArrayPad$ = 48 window$ = 80 _glfwFramebufferTransparentWin32 PROC ; COMDAT ; 1908 : { $LN13: 00000 48 83 ec 48 sub rsp, 72 ; 00000048H 00004 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000b 48 33 c4 xor rax, rsp 0000e 48 89 44 24 30 mov QWORD PTR __$ArrayPad$[rsp], rax ; 1909 : BOOL composition, opaque; ; 1910 : DWORD color; ; 1911 : ; 1912 : if (!window->win32.transparent) 00013 83 b9 80 03 00 00 00 cmp DWORD PTR [rcx+896], 0 0001a 74 61 je SHORT $LN5@glfwFrameb ; 1913 : return GLFW_FALSE; ; 1914 : ; 1915 : if (!IsWindowsVistaOrGreater()) 0001c 33 d2 xor edx, edx 0001e e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 00023 85 c0 test eax, eax 00025 74 56 je SHORT $LN5@glfwFrameb ; 1916 : return GLFW_FALSE; ; 1917 : ; 1918 : if (FAILED(DwmIsCompositionEnabled(&composition)) || !composition) 00027 48 8d 4c 24 20 lea rcx, QWORD PTR composition$[rsp] 0002c ff 15 e0 29 00 00 call QWORD PTR _glfw+10720 00032 85 c0 test eax, eax 00034 78 47 js SHORT $LN5@glfwFrameb 00036 83 7c 24 20 00 cmp DWORD PTR composition$[rsp], 0 0003b 74 40 je SHORT $LN5@glfwFrameb ; 1920 : ; 1921 : if (!IsWindows8OrGreater()) 0003d ba 02 00 00 00 mov edx, 2 00042 e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 00047 85 c0 test eax, eax 00049 75 1b jne SHORT $LN7@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) 0004b 48 8d 54 24 24 lea rdx, QWORD PTR opaque$[rsp] 00050 48 8d 4c 24 28 lea rcx, QWORD PTR color$[rsp] 00055 ff 15 f8 29 00 00 call QWORD PTR _glfw+10744 0005b 85 c0 test eax, eax 0005d 78 1e js SHORT $LN5@glfwFrameb 0005f 83 7c 24 24 00 cmp DWORD PTR opaque$[rsp], 0 00064 75 17 jne SHORT $LN5@glfwFrameb $LN7@glfwFrameb: ; 1928 : return GLFW_FALSE; ; 1929 : } ; 1930 : ; 1931 : return GLFW_TRUE; 00066 b8 01 00 00 00 mov eax, 1 ; 1932 : } 0006b 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00070 48 33 cc xor rcx, rsp 00073 e8 00 00 00 00 call __security_check_cookie 00078 48 83 c4 48 add rsp, 72 ; 00000048H 0007c c3 ret 0 $LN5@glfwFrameb: ; 1919 : return GLFW_FALSE; 0007d 33 c0 xor eax, eax ; 1932 : } 0007f 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00084 48 33 cc xor rcx, rsp 00087 e8 00 00 00 00 call __security_check_cookie 0008c 48 83 c4 48 add rsp, 72 ; 00000048H 00090 c3 ret 0 _glfwFramebufferTransparentWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowMousePassthroughWin32 _TEXT SEGMENT alpha$ = 32 flags$ = 36 key$ = 40 __$ArrayPad$ = 48 window$ = 80 enabled$ = 88 _glfwSetWindowMousePassthroughWin32 PROC ; COMDAT ; 1952 : { $LN15: 00000 48 89 5c 24 10 mov QWORD PTR [rsp+16], rbx 00005 48 89 74 24 18 mov QWORD PTR [rsp+24], rsi 0000a 57 push rdi 0000b 48 83 ec 40 sub rsp, 64 ; 00000040H 0000f 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00016 48 33 c4 xor rax, rsp 00019 48 89 44 24 30 mov QWORD PTR __$ArrayPad$[rsp], rax ; 1953 : COLORREF key = 0; 0001e 33 c0 xor eax, eax 00020 8b f2 mov esi, edx 00022 48 8b f9 mov rdi, rcx 00025 89 44 24 28 mov DWORD PTR key$[rsp], eax ; 1954 : BYTE alpha = 0; ; 1955 : DWORD flags = 0; ; 1956 : DWORD exStyle = GetWindowLongW(window->win32.handle, GWL_EXSTYLE); 00029 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00030 88 44 24 20 mov BYTE PTR alpha$[rsp], al 00034 8d 50 ec lea edx, QWORD PTR [rax-20] 00037 89 44 24 24 mov DWORD PTR flags$[rsp], eax 0003b ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW 00041 8b d8 mov ebx, eax ; 1957 : ; 1958 : if (exStyle & WS_EX_LAYERED) 00043 0f ba e0 13 bt eax, 19 00047 73 1c jae SHORT $LN2@glfwSetWin ; 1959 : GetLayeredWindowAttributes(window->win32.handle, &key, &alpha, &flags); 00049 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 00050 4c 8d 4c 24 24 lea r9, QWORD PTR flags$[rsp] 00055 4c 8d 44 24 20 lea r8, QWORD PTR alpha$[rsp] 0005a 48 8d 54 24 28 lea rdx, QWORD PTR key$[rsp] 0005f ff 15 00 00 00 00 call QWORD PTR __imp_GetLayeredWindowAttributes $LN2@glfwSetWin: ; 1960 : ; 1961 : if (enabled) 00065 85 f6 test esi, esi 00067 74 39 je SHORT $LN3@glfwSetWin ; 1962 : exStyle |= (WS_EX_TRANSPARENT | WS_EX_LAYERED); 00069 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 00070 81 cb 20 00 08 00 or ebx, 524320 ; 00080020H 00076 44 8b c3 mov r8d, ebx 00079 ba ec ff ff ff mov edx, -20 0007e ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW ; 1972 : } ; 1973 : } ; 1974 : ; 1975 : SetWindowLongW(window->win32.handle, GWL_EXSTYLE, exStyle); ; 1976 : ; 1977 : if (enabled) ; 1978 : SetLayeredWindowAttributes(window->win32.handle, key, alpha, flags); 00084 44 8b 4c 24 24 mov r9d, DWORD PTR flags$[rsp] 00089 44 0f b6 44 24 20 movzx r8d, BYTE PTR alpha$[rsp] 0008f 8b 54 24 28 mov edx, DWORD PTR key$[rsp] 00093 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 0009a ff 15 00 00 00 00 call QWORD PTR __imp_SetLayeredWindowAttributes 000a0 eb 29 jmp SHORT $LN7@glfwSetWin $LN3@glfwSetWin: ; 1963 : else ; 1964 : { ; 1965 : exStyle &= ~WS_EX_TRANSPARENT; 000a2 83 e3 df and ebx, -33 ; ffffffdfH ; 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) 000a5 0f ba e3 13 bt ebx, 19 000a9 73 0b jae SHORT $LN6@glfwSetWin ; 1969 : { ; 1970 : if (!(flags & LWA_ALPHA)) 000ab f6 44 24 24 02 test BYTE PTR flags$[rsp], 2 000b0 75 04 jne SHORT $LN6@glfwSetWin ; 1971 : exStyle &= ~WS_EX_LAYERED; 000b2 0f ba f3 13 btr ebx, 19 $LN6@glfwSetWin: ; 1979 : } 000b6 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 000bd 44 8b c3 mov r8d, ebx 000c0 ba ec ff ff ff mov edx, -20 000c5 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW $LN7@glfwSetWin: 000cb 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp] 000d0 48 33 cc xor rcx, rsp 000d3 e8 00 00 00 00 call __security_check_cookie 000d8 48 8b 5c 24 58 mov rbx, QWORD PTR [rsp+88] 000dd 48 8b 74 24 60 mov rsi, QWORD PTR [rsp+96] 000e2 48 83 c4 40 add rsp, 64 ; 00000040H 000e6 5f pop rdi 000e7 c3 ret 0 _glfwSetWindowMousePassthroughWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWindowHoveredWin32 _TEXT SEGMENT window$ = 8 _glfwWindowHoveredWin32 PROC ; COMDAT ; 1904 : return cursorInContentArea(window); 00000 e9 00 00 00 00 jmp cursorInContentArea _glfwWindowHoveredWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetWindowFrameSizeWin32 _TEXT SEGMENT rect$ = 48 area$1 = 64 __$ArrayPad$ = 80 window$ = 176 left$ = 184 top$ = 192 right$ = 200 bottom$ = 208 _glfwGetWindowFrameSizeWin32 PROC ; COMDAT ; 1696 : { $LN47: 00000 4c 8b dc mov r11, rsp 00003 41 55 push r13 00005 41 56 push r14 00007 48 81 ec 98 00 00 00 sub rsp, 152 ; 00000098H 0000e 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00015 48 33 c4 xor rax, rsp 00018 48 89 44 24 50 mov QWORD PTR __$ArrayPad$[rsp], rax 0001d 4c 8b b4 24 d0 00 00 00 mov r14, QWORD PTR bottom$[rsp] 00025 49 89 5b e8 mov QWORD PTR [r11-24], rbx 00029 49 89 6b e0 mov QWORD PTR [r11-32], rbp 0002d 49 8b e8 mov rbp, r8 00030 49 89 73 d8 mov QWORD PTR [r11-40], rsi 00034 48 8b f1 mov rsi, rcx ; 1614 : GetClientRect(window->win32.handle, &area); 00037 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] ; 1696 : { 0003e 49 89 7b d0 mov QWORD PTR [r11-48], rdi 00042 4d 89 63 c8 mov QWORD PTR [r11-56], r12 00046 4c 8b e2 mov r12, rdx 00049 4d 89 7b c0 mov QWORD PTR [r11-64], r15 ; 1614 : GetClientRect(window->win32.handle, &area); 0004d 49 8d 53 98 lea rdx, QWORD PTR [r11-104] ; 1696 : { 00051 4d 8b f9 mov r15, r9 ; 1614 : GetClientRect(window->win32.handle, &area); 00054 ff 15 00 00 00 00 call QWORD PTR __imp_GetClientRect ; 1697 : RECT rect; ; 1698 : int width, height; ; 1699 : ; 1700 : _glfwGetWindowSizeWin32(window, &width, &height); ; 1701 : SetRect(&rect, 0, 0, width, height); 0005a 44 8b 4c 24 48 mov r9d, DWORD PTR area$1[rsp+8] 0005f 48 8d 4c 24 30 lea rcx, QWORD PTR rect$[rsp] 00064 44 8b 6c 24 4c mov r13d, DWORD PTR area$1[rsp+12] 00069 45 33 c0 xor r8d, r8d 0006c 33 d2 xor edx, edx 0006e 44 89 6c 24 20 mov DWORD PTR [rsp+32], r13d 00073 ff 15 00 00 00 00 call QWORD PTR __imp_SetRect ; 1702 : ; 1703 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 00079 b9 39 38 00 00 mov ecx, 14393 ; 00003839H 0007e e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 00083 48 8b 4e 50 mov rcx, QWORD PTR [rsi+80] 00087 bf 00 00 04 00 mov edi, 262144 ; 00040000H 0008c 85 c0 test eax, eax 0008e 74 5f je SHORT $LN2@glfwGetWin ; 72 : if (window->monitor || window->floating) 00090 48 85 c9 test rcx, rcx 00093 75 05 jne SHORT $LN15@glfwGetWin 00095 39 4e 14 cmp DWORD PTR [rsi+20], ecx 00098 74 05 je SHORT $LN14@glfwGetWin $LN15@glfwGetWin: ; 73 : style |= WS_EX_TOPMOST; 0009a bf 08 00 04 00 mov edi, 262152 ; 00040008H $LN14@glfwGetWin: ; 46 : if (window->monitor) 0009f 48 85 c9 test rcx, rcx 000a2 74 07 je SHORT $LN18@glfwGetWin ; 47 : style |= WS_POPUP; 000a4 bb 00 00 00 86 mov ebx, -2046820352 ; 86000000H 000a9 eb 1e jmp SHORT $LN21@glfwGetWin $LN18@glfwGetWin: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 000ab 83 7e 0c 00 cmp DWORD PTR [rsi+12], 0 000af 74 13 je SHORT $LN20@glfwGetWin ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 000b1 83 7e 08 00 cmp DWORD PTR [rsi+8], 0 000b5 bb 00 00 cf 06 mov ebx, 114229248 ; 06cf0000H 000ba b8 00 00 ca 06 mov eax, 113901568 ; 06ca0000H 000bf 0f 44 d8 cmove ebx, eax 000c2 eb 05 jmp SHORT $LN21@glfwGetWin $LN20@glfwGetWin: ; 59 : else ; 60 : style |= WS_POPUP; 000c4 bb 00 00 0a 86 mov ebx, -2046164992 ; 860a0000H $LN21@glfwGetWin: ; 1704 : { ; 1705 : AdjustWindowRectExForDpi(&rect, getWindowStyle(window), 000c9 48 8b 8e 58 03 00 00 mov rcx, QWORD PTR [rsi+856] 000d0 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 000d6 44 8b cf mov r9d, edi 000d9 48 8d 4c 24 30 lea rcx, QWORD PTR rect$[rsp] 000de 45 33 c0 xor r8d, r8d 000e1 89 44 24 20 mov DWORD PTR [rsp+32], eax 000e5 8b d3 mov edx, ebx 000e7 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1706 : FALSE, getWindowExStyle(window), ; 1707 : GetDpiForWindow(window->win32.handle)); ; 1708 : } 000ed eb 4c jmp SHORT $LN3@glfwGetWin $LN2@glfwGetWin: ; 72 : if (window->monitor || window->floating) 000ef 48 85 c9 test rcx, rcx 000f2 75 05 jne SHORT $LN26@glfwGetWin 000f4 39 4e 14 cmp DWORD PTR [rsi+20], ecx 000f7 74 05 je SHORT $LN25@glfwGetWin $LN26@glfwGetWin: ; 73 : style |= WS_EX_TOPMOST; 000f9 bf 08 00 04 00 mov edi, 262152 ; 00040008H $LN25@glfwGetWin: ; 46 : if (window->monitor) 000fe 48 85 c9 test rcx, rcx 00101 74 07 je SHORT $LN29@glfwGetWin ; 47 : style |= WS_POPUP; 00103 bb 00 00 00 86 mov ebx, -2046820352 ; 86000000H 00108 eb 1e jmp SHORT $LN32@glfwGetWin $LN29@glfwGetWin: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 0010a 83 7e 0c 00 cmp DWORD PTR [rsi+12], 0 0010e 74 13 je SHORT $LN31@glfwGetWin ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 00110 83 7e 08 00 cmp DWORD PTR [rsi+8], 0 00114 bb 00 00 cf 06 mov ebx, 114229248 ; 06cf0000H 00119 b8 00 00 ca 06 mov eax, 113901568 ; 06ca0000H 0011e 0f 44 d8 cmove ebx, eax 00121 eb 05 jmp SHORT $LN32@glfwGetWin $LN31@glfwGetWin: ; 59 : else ; 60 : style |= WS_POPUP; 00123 bb 00 00 0a 86 mov ebx, -2046164992 ; 860a0000H $LN32@glfwGetWin: ; 1709 : else ; 1710 : { ; 1711 : AdjustWindowRectEx(&rect, getWindowStyle(window), 00128 44 8b cf mov r9d, edi 0012b 48 8d 4c 24 30 lea rcx, QWORD PTR rect$[rsp] 00130 45 33 c0 xor r8d, r8d 00133 8b d3 mov edx, ebx 00135 ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx $LN3@glfwGetWin: ; 1712 : FALSE, getWindowExStyle(window)); ; 1713 : } ; 1714 : ; 1715 : if (left) 0013b 48 8b 7c 24 78 mov rdi, QWORD PTR [rsp+120] 00140 48 8b b4 24 80 00 00 00 mov rsi, QWORD PTR [rsp+128] 00148 48 8b 9c 24 90 00 00 00 mov rbx, QWORD PTR [rsp+144] 00150 4d 85 e4 test r12, r12 00153 74 0a je SHORT $LN4@glfwGetWin ; 1716 : *left = -rect.left; 00155 8b 44 24 30 mov eax, DWORD PTR rect$[rsp] 00159 f7 d8 neg eax 0015b 41 89 04 24 mov DWORD PTR [r12], eax $LN4@glfwGetWin: ; 1717 : if (top) 0015f 4c 8b 64 24 70 mov r12, QWORD PTR [rsp+112] 00164 48 85 ed test rbp, rbp 00167 74 09 je SHORT $LN5@glfwGetWin ; 1718 : *top = -rect.top; 00169 8b 44 24 34 mov eax, DWORD PTR rect$[rsp+4] 0016d f7 d8 neg eax 0016f 89 45 00 mov DWORD PTR [rbp], eax $LN5@glfwGetWin: ; 1719 : if (right) 00172 48 8b ac 24 88 00 00 00 mov rbp, QWORD PTR [rsp+136] 0017a 4d 85 ff test r15, r15 0017d 74 0b je SHORT $LN6@glfwGetWin ; 1720 : *right = rect.right - width; 0017f 8b 44 24 38 mov eax, DWORD PTR rect$[rsp+8] 00183 2b 44 24 48 sub eax, DWORD PTR area$1[rsp+8] 00187 41 89 07 mov DWORD PTR [r15], eax $LN6@glfwGetWin: ; 1721 : if (bottom) 0018a 4c 8b 7c 24 68 mov r15, QWORD PTR [rsp+104] 0018f 4d 85 f6 test r14, r14 00192 74 0a je SHORT $LN7@glfwGetWin ; 1722 : *bottom = rect.bottom - height; 00194 8b 44 24 3c mov eax, DWORD PTR rect$[rsp+12] 00198 41 2b c5 sub eax, r13d 0019b 41 89 06 mov DWORD PTR [r14], eax $LN7@glfwGetWin: ; 1723 : } 0019e 48 8b 4c 24 50 mov rcx, QWORD PTR __$ArrayPad$[rsp] 001a3 48 33 cc xor rcx, rsp 001a6 e8 00 00 00 00 call __security_check_cookie 001ab 48 81 c4 98 00 00 00 add rsp, 152 ; 00000098H 001b2 41 5e pop r14 001b4 41 5d pop r13 001b6 c3 ret 0 _glfwGetWindowFrameSizeWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowMonitorWin32 _TEXT SEGMENT rect$1 = 64 rect$2 = 64 mi$3 = 80 __$ArrayPad$ = 120 window$ = 192 monitor$ = 200 xpos$ = 208 ypos$ = 216 width$ = 224 height$ = 232 refreshRate$ = 240 _glfwSetWindowMonitorWin32 PROC ; COMDAT ; 1777 : { $LN100: 00000 40 55 push rbp 00002 53 push rbx 00003 56 push rsi 00004 57 push rdi 00005 41 56 push r14 00007 48 8d 6c 24 e1 lea rbp, QWORD PTR [rsp-31] 0000c 48 81 ec 90 00 00 00 sub rsp, 144 ; 00000090H 00013 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0001a 48 33 c4 xor rax, rsp 0001d 48 89 45 07 mov QWORD PTR __$ArrayPad$[rbp-113], rax ; 1778 : if (window->monitor == monitor) 00021 48 8b 41 50 mov rax, QWORD PTR [rcx+80] 00025 45 8b f1 mov r14d, r9d 00028 41 8b f0 mov esi, r8d 0002b 48 8b da mov rbx, rdx 0002e 48 8b f9 mov rdi, rcx 00031 48 3b c2 cmp rax, rdx 00034 0f 85 38 01 00 00 jne $LN2@glfwSetWin ; 1779 : { ; 1780 : if (monitor) 0003a 48 85 d2 test rdx, rdx 0003d 74 1f je SHORT $LN3@glfwSetWin ; 1781 : { ; 1782 : if (monitor->window == window) 0003f 48 39 8a 90 00 00 00 cmp QWORD PTR [rdx+144], rcx 00046 0f 85 94 03 00 00 jne $LN10@glfwSetWin ; 1783 : { ; 1784 : acquireMonitor(window); 0004c e8 00 00 00 00 call acquireMonitor ; 1785 : fitToMonitor(window); 00051 48 8b cf mov rcx, rdi 00054 e8 00 00 00 00 call fitToMonitor ; 1786 : } ; 1787 : } 00059 e9 82 03 00 00 jmp $LN10@glfwSetWin $LN3@glfwSetWin: ; 1788 : else ; 1789 : { ; 1790 : RECT rect = { xpos, ypos, xpos + width, ypos + height }; 0005e 8b 4d 6f mov ecx, DWORD PTR width$[rbp-113] 00061 03 ce add ecx, esi 00063 89 75 cf mov DWORD PTR rect$2[rbp-113], esi 00066 89 4d d7 mov DWORD PTR rect$2[rbp-105], ecx 00069 8b 4d 77 mov ecx, DWORD PTR height$[rbp-113] 0006c 41 03 ce add ecx, r14d 0006f 44 89 75 d3 mov DWORD PTR rect$2[rbp-109], r14d 00073 89 4d db mov DWORD PTR rect$2[rbp-101], ecx ; 1791 : ; 1792 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 00076 b9 39 38 00 00 mov ecx, 14393 ; 00003839H 0007b e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 00080 48 8b 4f 50 mov rcx, QWORD PTR [rdi+80] 00084 be 00 00 04 00 mov esi, 262144 ; 00040000H 00089 85 c0 test eax, eax 0008b 74 60 je SHORT $LN6@glfwSetWin ; 72 : if (window->monitor || window->floating) 0008d 48 85 c9 test rcx, rcx 00090 75 05 jne SHORT $LN20@glfwSetWin 00092 39 4f 14 cmp DWORD PTR [rdi+20], ecx 00095 74 11 je SHORT $LN23@glfwSetWin $LN20@glfwSetWin: ; 73 : style |= WS_EX_TOPMOST; 00097 be 08 00 04 00 mov esi, 262152 ; 00040008H ; 46 : if (window->monitor) 0009c 48 85 c9 test rcx, rcx 0009f 74 07 je SHORT $LN23@glfwSetWin ; 47 : style |= WS_POPUP; 000a1 bb 00 00 00 86 mov ebx, -2046820352 ; 86000000H 000a6 eb 20 jmp SHORT $LN26@glfwSetWin $LN23@glfwSetWin: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 000a8 83 7f 0c 00 cmp DWORD PTR [rdi+12], 0 000ac 74 15 je SHORT $LN25@glfwSetWin ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 000ae 83 7f 08 00 cmp DWORD PTR [rdi+8], 0 000b2 bb 00 00 cf 06 mov ebx, 114229248 ; 06cf0000H 000b7 41 be 00 00 ca 06 mov r14d, 113901568 ; 06ca0000H 000bd 41 0f 44 de cmove ebx, r14d 000c1 eb 05 jmp SHORT $LN26@glfwSetWin $LN25@glfwSetWin: ; 59 : else ; 60 : style |= WS_POPUP; 000c3 bb 00 00 0a 86 mov ebx, -2046164992 ; 860a0000H $LN26@glfwSetWin: ; 1793 : { ; 1794 : AdjustWindowRectExForDpi(&rect, getWindowStyle(window), 000c8 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 000cf ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 000d5 44 8b ce mov r9d, esi 000d8 48 8d 4d cf lea rcx, QWORD PTR rect$2[rbp-113] 000dc 45 33 c0 xor r8d, r8d 000df 89 44 24 20 mov DWORD PTR [rsp+32], eax 000e3 8b d3 mov edx, ebx 000e5 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1795 : FALSE, getWindowExStyle(window), ; 1796 : GetDpiForWindow(window->win32.handle)); ; 1797 : } 000eb eb 4d jmp SHORT $LN7@glfwSetWin $LN6@glfwSetWin: ; 72 : if (window->monitor || window->floating) 000ed 48 85 c9 test rcx, rcx 000f0 75 05 jne SHORT $LN31@glfwSetWin 000f2 39 4f 14 cmp DWORD PTR [rdi+20], ecx 000f5 74 11 je SHORT $LN34@glfwSetWin $LN31@glfwSetWin: ; 73 : style |= WS_EX_TOPMOST; 000f7 be 08 00 04 00 mov esi, 262152 ; 00040008H ; 46 : if (window->monitor) 000fc 48 85 c9 test rcx, rcx 000ff 74 07 je SHORT $LN34@glfwSetWin ; 47 : style |= WS_POPUP; 00101 bb 00 00 00 86 mov ebx, -2046820352 ; 86000000H 00106 eb 20 jmp SHORT $LN37@glfwSetWin $LN34@glfwSetWin: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 00108 83 7f 0c 00 cmp DWORD PTR [rdi+12], 0 0010c 74 15 je SHORT $LN36@glfwSetWin ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 0010e 83 7f 08 00 cmp DWORD PTR [rdi+8], 0 00112 bb 00 00 cf 06 mov ebx, 114229248 ; 06cf0000H 00117 41 be 00 00 ca 06 mov r14d, 113901568 ; 06ca0000H 0011d 41 0f 44 de cmove ebx, r14d 00121 eb 05 jmp SHORT $LN37@glfwSetWin $LN36@glfwSetWin: ; 59 : else ; 60 : style |= WS_POPUP; 00123 bb 00 00 0a 86 mov ebx, -2046164992 ; 860a0000H $LN37@glfwSetWin: ; 1798 : else ; 1799 : { ; 1800 : AdjustWindowRectEx(&rect, getWindowStyle(window), 00128 44 8b ce mov r9d, esi 0012b 48 8d 4d cf lea rcx, QWORD PTR rect$2[rbp-113] 0012f 45 33 c0 xor r8d, r8d 00132 8b d3 mov edx, ebx 00134 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, 0013a 8b 4d db mov ecx, DWORD PTR rect$2[rbp-101] 0013d 33 d2 xor edx, edx 0013f 44 8b 4d d3 mov r9d, DWORD PTR rect$2[rbp-109] 00143 41 2b c9 sub ecx, r9d 00146 8b 45 d7 mov eax, DWORD PTR rect$2[rbp-105] 00149 44 8b 45 cf mov r8d, DWORD PTR rect$2[rbp-113] 0014d 41 2b c0 sub eax, r8d 00150 c7 44 24 30 14 01 00 00 mov DWORD PTR [rsp+48], 276 ; 00000114H 00158 89 4c 24 28 mov DWORD PTR [rsp+40], ecx 0015c 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 00163 89 44 24 20 mov DWORD PTR [rsp+32], eax 00167 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos ; 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; 0016d e9 6e 02 00 00 jmp $LN10@glfwSetWin $LN2@glfwSetWin: ; 1811 : } ; 1812 : ; 1813 : if (window->monitor) 00172 48 85 c0 test rax, rax 00175 74 05 je SHORT $LN8@glfwSetWin ; 1814 : releaseMonitor(window); 00177 e8 00 00 00 00 call releaseMonitor $LN8@glfwSetWin: ; 1815 : ; 1816 : _glfwInputWindowMonitor(window, monitor); 0017c 48 89 5f 50 mov QWORD PTR [rdi+80], rbx ; 1817 : ; 1818 : if (window->monitor) 00180 48 85 db test rbx, rbx 00183 0f 84 d6 00 00 00 je $LN9@glfwSetWin ; 1819 : { ; 1820 : MONITORINFO mi = { sizeof(mi) }; 00189 33 c0 xor eax, eax 0018b c7 45 df 28 00 00 00 mov DWORD PTR mi$3[rbp-113], 40 ; 00000028H 00192 0f 57 c0 xorps xmm0, xmm0 00195 89 45 03 mov DWORD PTR mi$3[rbp-77], eax ; 1821 : UINT flags = SWP_SHOWWINDOW | SWP_NOACTIVATE | SWP_NOCOPYBITS; 00198 bb 50 01 00 00 mov ebx, 336 ; 00000150H 0019d 0f 11 45 e3 movups XMMWORD PTR mi$3[rbp-109], xmm0 001a1 0f 11 45 f3 movups XMMWORD PTR mi$3[rbp-93], xmm0 ; 1822 : ; 1823 : if (window->decorated) 001a5 39 47 0c cmp DWORD PTR [rdi+12], eax 001a8 74 5f je SHORT $LN76@glfwSetWin ; 1824 : { ; 1825 : DWORD style = GetWindowLongW(window->win32.handle, GWL_STYLE); 001aa 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 001b1 8d 50 f0 lea edx, QWORD PTR [rax-16] 001b4 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW ; 1826 : style &= ~WS_OVERLAPPEDWINDOW; 001ba 25 ff ff 30 ff and eax, -13565953 ; ff30ffffH ; 46 : if (window->monitor) 001bf 48 83 7f 50 00 cmp QWORD PTR [rdi+80], 0 001c4 74 07 je SHORT $LN41@glfwSetWin ; 47 : style |= WS_POPUP; 001c6 bb 00 00 00 86 mov ebx, -2046820352 ; 86000000H 001cb eb 20 jmp SHORT $LN44@glfwSetWin $LN41@glfwSetWin: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 001cd 83 7f 0c 00 cmp DWORD PTR [rdi+12], 0 001d1 74 15 je SHORT $LN43@glfwSetWin ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 001d3 83 7f 08 00 cmp DWORD PTR [rdi+8], 0 001d7 bb 00 00 cf 06 mov ebx, 114229248 ; 06cf0000H 001dc 41 be 00 00 ca 06 mov r14d, 113901568 ; 06ca0000H 001e2 41 0f 44 de cmove ebx, r14d 001e6 eb 05 jmp SHORT $LN44@glfwSetWin $LN43@glfwSetWin: ; 59 : else ; 60 : style |= WS_POPUP; 001e8 bb 00 00 0a 86 mov ebx, -2046164992 ; 860a0000H $LN44@glfwSetWin: ; 1827 : style |= getWindowStyle(window); ; 1828 : SetWindowLongW(window->win32.handle, GWL_STYLE, style); 001ed 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 001f4 0b d8 or ebx, eax 001f6 44 8b c3 mov r8d, ebx 001f9 ba f0 ff ff ff mov edx, -16 001fe ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW ; 1829 : flags |= SWP_FRAMECHANGED; 00204 bb 70 01 00 00 mov ebx, 368 ; 00000170H $LN76@glfwSetWin: ; 1830 : } ; 1831 : ; 1832 : acquireMonitor(window); 00209 48 8b cf mov rcx, rdi 0020c e8 00 00 00 00 call acquireMonitor ; 1833 : ; 1834 : GetMonitorInfoW(window->monitor->win32.handle, &mi); 00211 48 8b 4f 50 mov rcx, QWORD PTR [rdi+80] 00215 48 8d 55 df lea rdx, QWORD PTR mi$3[rbp-113] 00219 48 8b 89 00 01 00 00 mov rcx, QWORD PTR [rcx+256] 00220 ff 15 00 00 00 00 call QWORD PTR __imp_GetMonitorInfoW ; 1835 : SetWindowPos(window->win32.handle, HWND_TOPMOST, 00226 8b 4d ef mov ecx, DWORD PTR mi$3[rbp-97] 00229 48 c7 c2 ff ff ff ff mov rdx, -1 00230 44 8b 4d e7 mov r9d, DWORD PTR mi$3[rbp-105] 00234 41 2b c9 sub ecx, r9d 00237 8b 45 eb mov eax, DWORD PTR mi$3[rbp-101] 0023a 44 8b 45 e3 mov r8d, DWORD PTR mi$3[rbp-109] 0023e 41 2b c0 sub eax, r8d 00241 89 5c 24 30 mov DWORD PTR [rsp+48], ebx 00245 89 4c 24 28 mov DWORD PTR [rsp+40], ecx 00249 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 00250 89 44 24 20 mov DWORD PTR [rsp+32], eax 00254 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 : } 0025a e9 81 01 00 00 jmp $LN10@glfwSetWin $LN9@glfwSetWin: ; 1842 : else ; 1843 : { ; 1844 : HWND after; ; 1845 : RECT rect = { xpos, ypos, xpos + width, ypos + height }; 0025f 8b 4d 6f mov ecx, DWORD PTR width$[rbp-113] ; 1846 : DWORD style = GetWindowLongW(window->win32.handle, GWL_STYLE); 00262 ba f0 ff ff ff mov edx, -16 00267 03 ce add ecx, esi 00269 4c 89 a4 24 88 00 00 00 mov QWORD PTR [rsp+136], r12 00271 89 4d d7 mov DWORD PTR rect$1[rbp-105], ecx 00274 8b 4d 77 mov ecx, DWORD PTR height$[rbp-113] 00277 41 03 ce add ecx, r14d 0027a 4c 89 bc 24 80 00 00 00 mov QWORD PTR [rsp+128], r15 00282 89 4d db mov DWORD PTR rect$1[rbp-101], ecx 00285 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 0028c 89 75 cf mov DWORD PTR rect$1[rbp-113], esi 0028f 44 89 75 d3 mov DWORD PTR rect$1[rbp-109], r14d 00293 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW ; 1847 : UINT flags = SWP_NOACTIVATE | SWP_NOCOPYBITS; ; 1848 : ; 1849 : if (window->decorated) 00299 83 7f 0c 00 cmp DWORD PTR [rdi+12], 0 0029d bb 00 00 00 86 mov ebx, -2046820352 ; 86000000H 002a2 41 bc 10 01 00 00 mov r12d, 272 ; 00000110H 002a8 41 be 00 00 ca 06 mov r14d, 113901568 ; 06ca0000H 002ae 74 39 je SHORT $LN12@glfwSetWin ; 1850 : { ; 1851 : style &= ~WS_POPUP; 002b0 0f ba f0 1f btr eax, 31 ; 46 : if (window->monitor) 002b4 48 83 7f 50 00 cmp QWORD PTR [rdi+80], 0 002b9 74 05 je SHORT $LN48@glfwSetWin ; 47 : style |= WS_POPUP; 002bb 44 8b c3 mov r8d, ebx 002be eb 0e jmp SHORT $LN51@glfwSetWin $LN48@glfwSetWin: ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 002c0 83 7f 08 00 cmp DWORD PTR [rdi+8], 0 002c4 41 b8 00 00 cf 06 mov r8d, 114229248 ; 06cf0000H 002ca 45 0f 44 c6 cmove r8d, r14d $LN51@glfwSetWin: ; 1852 : style |= getWindowStyle(window); ; 1853 : SetWindowLongW(window->win32.handle, GWL_STYLE, style); 002ce 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 002d5 44 0b c0 or r8d, eax 002d8 ba f0 ff ff ff mov edx, -16 002dd ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW ; 1854 : ; 1855 : flags |= SWP_FRAMECHANGED; 002e3 41 bc 30 01 00 00 mov r12d, 304 ; 00000130H $LN12@glfwSetWin: ; 1856 : } ; 1857 : ; 1858 : if (window->floating) ; 1859 : after = HWND_TOPMOST; ; 1860 : else ; 1861 : after = HWND_NOTOPMOST; ; 1862 : ; 1863 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 002e9 45 33 ff xor r15d, r15d 002ec b9 39 38 00 00 mov ecx, 14393 ; 00003839H 002f1 44 39 7f 14 cmp DWORD PTR [rdi+20], r15d 002f5 41 0f 95 c7 setne r15b 002f9 e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 002fe 48 8b 4f 50 mov rcx, QWORD PTR [rdi+80] 00302 be 00 00 04 00 mov esi, 262144 ; 00040000H 00307 85 c0 test eax, eax 00309 74 53 je SHORT $LN15@glfwSetWin ; 72 : if (window->monitor || window->floating) 0030b 48 85 c9 test rcx, rcx 0030e 75 05 jne SHORT $LN56@glfwSetWin 00310 39 4f 14 cmp DWORD PTR [rdi+20], ecx 00313 74 0a je SHORT $LN59@glfwSetWin $LN56@glfwSetWin: ; 73 : style |= WS_EX_TOPMOST; 00315 be 08 00 04 00 mov esi, 262152 ; 00040008H ; 46 : if (window->monitor) 0031a 48 85 c9 test rcx, rcx 0031d 75 1a jne SHORT $LN62@glfwSetWin $LN59@glfwSetWin: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 0031f 83 7f 0c 00 cmp DWORD PTR [rdi+12], 0 00323 74 0f je SHORT $LN61@glfwSetWin ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 00325 83 7f 08 00 cmp DWORD PTR [rdi+8], 0 00329 bb 00 00 cf 06 mov ebx, 114229248 ; 06cf0000H 0032e 41 0f 44 de cmove ebx, r14d 00332 eb 05 jmp SHORT $LN62@glfwSetWin $LN61@glfwSetWin: ; 59 : else ; 60 : style |= WS_POPUP; 00334 bb 00 00 0a 86 mov ebx, -2046164992 ; 860a0000H $LN62@glfwSetWin: ; 1864 : { ; 1865 : AdjustWindowRectExForDpi(&rect, getWindowStyle(window), 00339 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 00340 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 00346 44 8b ce mov r9d, esi 00349 48 8d 4d cf lea rcx, QWORD PTR rect$1[rbp-113] 0034d 45 33 c0 xor r8d, r8d 00350 89 44 24 20 mov DWORD PTR [rsp+32], eax 00354 8b d3 mov edx, ebx 00356 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1866 : FALSE, getWindowExStyle(window), ; 1867 : GetDpiForWindow(window->win32.handle)); ; 1868 : } 0035c eb 40 jmp SHORT $LN16@glfwSetWin $LN15@glfwSetWin: ; 72 : if (window->monitor || window->floating) 0035e 48 85 c9 test rcx, rcx 00361 75 05 jne SHORT $LN67@glfwSetWin 00363 39 4f 14 cmp DWORD PTR [rdi+20], ecx 00366 74 0a je SHORT $LN70@glfwSetWin $LN67@glfwSetWin: ; 73 : style |= WS_EX_TOPMOST; 00368 be 08 00 04 00 mov esi, 262152 ; 00040008H ; 46 : if (window->monitor) 0036d 48 85 c9 test rcx, rcx 00370 75 1a jne SHORT $LN73@glfwSetWin $LN70@glfwSetWin: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 00372 83 7f 0c 00 cmp DWORD PTR [rdi+12], 0 00376 74 0f je SHORT $LN72@glfwSetWin ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 00378 83 7f 08 00 cmp DWORD PTR [rdi+8], 0 0037c bb 00 00 cf 06 mov ebx, 114229248 ; 06cf0000H 00381 41 0f 44 de cmove ebx, r14d 00385 eb 05 jmp SHORT $LN73@glfwSetWin $LN72@glfwSetWin: ; 59 : else ; 60 : style |= WS_POPUP; 00387 bb 00 00 0a 86 mov ebx, -2046164992 ; 860a0000H $LN73@glfwSetWin: ; 1869 : else ; 1870 : { ; 1871 : AdjustWindowRectEx(&rect, getWindowStyle(window), 0038c 44 8b ce mov r9d, esi 0038f 48 8d 4d cf lea rcx, QWORD PTR rect$1[rbp-113] 00393 45 33 c0 xor r8d, r8d 00396 8b d3 mov edx, ebx 00398 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, 0039e 8b 4d db mov ecx, DWORD PTR rect$1[rbp-101] 003a1 49 8d 57 fe lea rdx, QWORD PTR [r15-2] 003a5 44 8b 4d d3 mov r9d, DWORD PTR rect$1[rbp-109] 003a9 41 2b c9 sub ecx, r9d 003ac 8b 45 d7 mov eax, DWORD PTR rect$1[rbp-105] 003af 44 8b 45 cf mov r8d, DWORD PTR rect$1[rbp-113] 003b3 41 2b c0 sub eax, r8d 003b6 44 89 64 24 30 mov DWORD PTR [rsp+48], r12d 003bb 89 4c 24 28 mov DWORD PTR [rsp+40], ecx 003bf 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 003c6 89 44 24 20 mov DWORD PTR [rsp+32], eax 003ca ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos 003d0 4c 8b bc 24 80 00 00 00 mov r15, QWORD PTR [rsp+128] 003d8 4c 8b a4 24 88 00 00 00 mov r12, QWORD PTR [rsp+136] $LN10@glfwSetWin: ; 1876 : rect.left, rect.top, ; 1877 : rect.right - rect.left, rect.bottom - rect.top, ; 1878 : flags); ; 1879 : } ; 1880 : } 003e0 48 8b 4d 07 mov rcx, QWORD PTR __$ArrayPad$[rbp-113] 003e4 48 33 cc xor rcx, rsp 003e7 e8 00 00 00 00 call __security_check_cookie 003ec 48 81 c4 90 00 00 00 add rsp, 144 ; 00000090H 003f3 41 5e pop r14 003f5 5f pop rdi 003f6 5e pop rsi 003f7 5b pop rbx 003f8 5d pop rbp 003f9 c3 ret 0 _glfwSetWindowMonitorWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowPosWin32 _TEXT SEGMENT rect$ = 64 __$ArrayPad$ = 80 window$ = 128 xpos$ = 136 ypos$ = 144 _glfwSetWindowPosWin32 PROC ; COMDAT ; 1592 : { $LN35: 00000 40 53 push rbx 00002 56 push rsi 00003 57 push rdi 00004 48 83 ec 60 sub rsp, 96 ; 00000060H 00008 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000f 48 33 c4 xor rax, rsp 00012 48 89 44 24 50 mov QWORD PTR __$ArrayPad$[rsp], rax 00017 48 8b f9 mov rdi, rcx ; 1593 : RECT rect = { xpos, ypos, xpos, ypos }; 0001a 89 54 24 40 mov DWORD PTR rect$[rsp], edx ; 1594 : ; 1595 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 0001e b9 39 38 00 00 mov ecx, 14393 ; 00003839H 00023 44 89 44 24 44 mov DWORD PTR rect$[rsp+4], r8d 00028 89 54 24 48 mov DWORD PTR rect$[rsp+8], edx 0002c 44 89 44 24 4c mov DWORD PTR rect$[rsp+12], r8d 00031 e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 00036 48 8b 4f 50 mov rcx, QWORD PTR [rdi+80] 0003a be 00 00 04 00 mov esi, 262144 ; 00040000H 0003f 85 c0 test eax, eax 00041 74 5f je SHORT $LN2@glfwSetWin ; 72 : if (window->monitor || window->floating) 00043 48 85 c9 test rcx, rcx 00046 75 05 jne SHORT $LN7@glfwSetWin 00048 39 4f 14 cmp DWORD PTR [rdi+20], ecx 0004b 74 05 je SHORT $LN6@glfwSetWin $LN7@glfwSetWin: ; 73 : style |= WS_EX_TOPMOST; 0004d be 08 00 04 00 mov esi, 262152 ; 00040008H $LN6@glfwSetWin: ; 46 : if (window->monitor) 00052 48 85 c9 test rcx, rcx 00055 74 07 je SHORT $LN10@glfwSetWin ; 47 : style |= WS_POPUP; 00057 bb 00 00 00 86 mov ebx, -2046820352 ; 86000000H 0005c eb 1e jmp SHORT $LN13@glfwSetWin $LN10@glfwSetWin: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 0005e 83 7f 0c 00 cmp DWORD PTR [rdi+12], 0 00062 74 13 je SHORT $LN12@glfwSetWin ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 00064 83 7f 08 00 cmp DWORD PTR [rdi+8], 0 00068 bb 00 00 cf 06 mov ebx, 114229248 ; 06cf0000H 0006d b8 00 00 ca 06 mov eax, 113901568 ; 06ca0000H 00072 0f 44 d8 cmove ebx, eax 00075 eb 05 jmp SHORT $LN13@glfwSetWin $LN12@glfwSetWin: ; 59 : else ; 60 : style |= WS_POPUP; 00077 bb 00 00 0a 86 mov ebx, -2046164992 ; 860a0000H $LN13@glfwSetWin: ; 1596 : { ; 1597 : AdjustWindowRectExForDpi(&rect, getWindowStyle(window), 0007c 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 00083 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 00089 44 8b ce mov r9d, esi 0008c 48 8d 4c 24 40 lea rcx, QWORD PTR rect$[rsp] 00091 45 33 c0 xor r8d, r8d 00094 89 44 24 20 mov DWORD PTR [rsp+32], eax 00098 8b d3 mov edx, ebx 0009a ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1598 : FALSE, getWindowExStyle(window), ; 1599 : GetDpiForWindow(window->win32.handle)); ; 1600 : } 000a0 eb 4c jmp SHORT $LN3@glfwSetWin $LN2@glfwSetWin: ; 72 : if (window->monitor || window->floating) 000a2 48 85 c9 test rcx, rcx 000a5 75 05 jne SHORT $LN18@glfwSetWin 000a7 39 4f 14 cmp DWORD PTR [rdi+20], ecx 000aa 74 05 je SHORT $LN17@glfwSetWin $LN18@glfwSetWin: ; 73 : style |= WS_EX_TOPMOST; 000ac be 08 00 04 00 mov esi, 262152 ; 00040008H $LN17@glfwSetWin: ; 46 : if (window->monitor) 000b1 48 85 c9 test rcx, rcx 000b4 74 07 je SHORT $LN21@glfwSetWin ; 47 : style |= WS_POPUP; 000b6 bb 00 00 00 86 mov ebx, -2046820352 ; 86000000H 000bb eb 1e jmp SHORT $LN24@glfwSetWin $LN21@glfwSetWin: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 000bd 83 7f 0c 00 cmp DWORD PTR [rdi+12], 0 000c1 74 13 je SHORT $LN23@glfwSetWin ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 000c3 83 7f 08 00 cmp DWORD PTR [rdi+8], 0 000c7 bb 00 00 cf 06 mov ebx, 114229248 ; 06cf0000H 000cc b8 00 00 ca 06 mov eax, 113901568 ; 06ca0000H 000d1 0f 44 d8 cmove ebx, eax 000d4 eb 05 jmp SHORT $LN24@glfwSetWin $LN23@glfwSetWin: ; 59 : else ; 60 : style |= WS_POPUP; 000d6 bb 00 00 0a 86 mov ebx, -2046164992 ; 860a0000H $LN24@glfwSetWin: ; 1601 : else ; 1602 : { ; 1603 : AdjustWindowRectEx(&rect, getWindowStyle(window), 000db 44 8b ce mov r9d, esi 000de 48 8d 4c 24 40 lea rcx, QWORD PTR rect$[rsp] 000e3 45 33 c0 xor r8d, r8d 000e6 8b d3 mov edx, ebx 000e8 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, 000ee 44 8b 4c 24 44 mov r9d, DWORD PTR rect$[rsp+4] 000f3 33 c0 xor eax, eax 000f5 44 8b 44 24 40 mov r8d, DWORD PTR rect$[rsp] 000fa 33 d2 xor edx, edx 000fc 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 00103 c7 44 24 30 15 00 00 00 mov DWORD PTR [rsp+48], 21 0010b 89 44 24 28 mov DWORD PTR [rsp+40], eax 0010f 89 44 24 20 mov DWORD PTR [rsp+32], eax 00113 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos ; 1608 : SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOSIZE); ; 1609 : } 00119 48 8b 4c 24 50 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0011e 48 33 cc xor rcx, rsp 00121 e8 00 00 00 00 call __security_check_cookie 00126 48 83 c4 60 add rsp, 96 ; 00000060H 0012a 5f pop rdi 0012b 5e pop rsi 0012c 5b pop rbx 0012d c3 ret 0 _glfwSetWindowPosWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetEGLNativeDisplayWin32 _TEXT SEGMENT _glfwGetEGLNativeDisplayWin32 PROC ; COMDAT ; 2419 : return GetDC(_glfw.win32.helperWindowHandle); 00000 48 8b 0d 80 1b 00 00 mov rcx, QWORD PTR _glfw+7040 00007 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_GetDC _glfwGetEGLNativeDisplayWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowSizeWin32 _TEXT SEGMENT rect$1 = 64 __$ArrayPad$ = 80 window$ = 128 width$ = 136 height$ = 144 _glfwSetWindowSizeWin32 PROC ; COMDAT ; 1623 : { $LN40: 00000 40 57 push rdi 00002 48 83 ec 70 sub rsp, 112 ; 00000070H 00006 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000d 48 33 c4 xor rax, rsp 00010 48 89 44 24 50 mov QWORD PTR __$ArrayPad$[rsp], rax ; 1624 : if (window->monitor) 00015 48 8b 41 50 mov rax, QWORD PTR [rcx+80] 00019 48 8b f9 mov rdi, rcx 0001c 48 85 c0 test rax, rax 0001f 74 2d je SHORT $LN2@glfwSetWin ; 1625 : { ; 1626 : if (window->monitor->window == window) 00021 48 39 88 90 00 00 00 cmp QWORD PTR [rax+144], rcx 00028 0f 85 3b 01 00 00 jne $LN3@glfwSetWin ; 1627 : { ; 1628 : acquireMonitor(window); 0002e e8 00 00 00 00 call acquireMonitor ; 1629 : fitToMonitor(window); 00033 48 8b cf mov rcx, rdi 00036 e8 00 00 00 00 call fitToMonitor ; 1649 : 0, 0, rect.right - rect.left, rect.bottom - rect.top, ; 1650 : SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOMOVE | SWP_NOZORDER); ; 1651 : } ; 1652 : } 0003b 48 8b 4c 24 50 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00040 48 33 cc xor rcx, rsp 00043 e8 00 00 00 00 call __security_check_cookie 00048 48 83 c4 70 add rsp, 112 ; 00000070H 0004c 5f pop rdi 0004d c3 ret 0 $LN2@glfwSetWin: ; 1630 : } ; 1631 : } ; 1632 : else ; 1633 : { ; 1634 : RECT rect = { 0, 0, width, height }; 0004e 33 c0 xor eax, eax 00050 48 89 5c 24 68 mov QWORD PTR [rsp+104], rbx ; 1635 : ; 1636 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 00055 b9 39 38 00 00 mov ecx, 14393 ; 00003839H 0005a 48 89 44 24 40 mov QWORD PTR rect$1[rsp], rax 0005f 48 89 74 24 60 mov QWORD PTR [rsp+96], rsi 00064 89 54 24 48 mov DWORD PTR rect$1[rsp+8], edx 00068 44 89 44 24 4c mov DWORD PTR rect$1[rsp+12], r8d 0006d e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 00072 48 8b 4f 50 mov rcx, QWORD PTR [rdi+80] 00076 be 00 00 04 00 mov esi, 262144 ; 00040000H 0007b 85 c0 test eax, eax 0007d 74 5f je SHORT $LN5@glfwSetWin ; 72 : if (window->monitor || window->floating) 0007f 48 85 c9 test rcx, rcx 00082 75 05 jne SHORT $LN10@glfwSetWin 00084 39 4f 14 cmp DWORD PTR [rdi+20], ecx 00087 74 11 je SHORT $LN13@glfwSetWin $LN10@glfwSetWin: ; 73 : style |= WS_EX_TOPMOST; 00089 be 08 00 04 00 mov esi, 262152 ; 00040008H ; 46 : if (window->monitor) 0008e 48 85 c9 test rcx, rcx 00091 74 07 je SHORT $LN13@glfwSetWin ; 47 : style |= WS_POPUP; 00093 bb 00 00 00 86 mov ebx, -2046820352 ; 86000000H 00098 eb 1e jmp SHORT $LN16@glfwSetWin $LN13@glfwSetWin: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 0009a 83 7f 0c 00 cmp DWORD PTR [rdi+12], 0 0009e 74 13 je SHORT $LN15@glfwSetWin ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 000a0 83 7f 08 00 cmp DWORD PTR [rdi+8], 0 000a4 bb 00 00 cf 06 mov ebx, 114229248 ; 06cf0000H 000a9 b8 00 00 ca 06 mov eax, 113901568 ; 06ca0000H 000ae 0f 44 d8 cmove ebx, eax 000b1 eb 05 jmp SHORT $LN16@glfwSetWin $LN15@glfwSetWin: ; 59 : else ; 60 : style |= WS_POPUP; 000b3 bb 00 00 0a 86 mov ebx, -2046164992 ; 860a0000H $LN16@glfwSetWin: ; 1637 : { ; 1638 : AdjustWindowRectExForDpi(&rect, getWindowStyle(window), 000b8 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 000bf ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 000c5 44 8b ce mov r9d, esi 000c8 48 8d 4c 24 40 lea rcx, QWORD PTR rect$1[rsp] 000cd 45 33 c0 xor r8d, r8d 000d0 89 44 24 20 mov DWORD PTR [rsp+32], eax 000d4 8b d3 mov edx, ebx 000d6 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1639 : FALSE, getWindowExStyle(window), ; 1640 : GetDpiForWindow(window->win32.handle)); ; 1641 : } 000dc eb 4c jmp SHORT $LN6@glfwSetWin $LN5@glfwSetWin: ; 72 : if (window->monitor || window->floating) 000de 48 85 c9 test rcx, rcx 000e1 75 05 jne SHORT $LN21@glfwSetWin 000e3 39 4f 14 cmp DWORD PTR [rdi+20], ecx 000e6 74 11 je SHORT $LN24@glfwSetWin $LN21@glfwSetWin: ; 73 : style |= WS_EX_TOPMOST; 000e8 be 08 00 04 00 mov esi, 262152 ; 00040008H ; 46 : if (window->monitor) 000ed 48 85 c9 test rcx, rcx 000f0 74 07 je SHORT $LN24@glfwSetWin ; 47 : style |= WS_POPUP; 000f2 bb 00 00 00 86 mov ebx, -2046820352 ; 86000000H 000f7 eb 1e jmp SHORT $LN27@glfwSetWin $LN24@glfwSetWin: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 000f9 83 7f 0c 00 cmp DWORD PTR [rdi+12], 0 000fd 74 13 je SHORT $LN26@glfwSetWin ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 000ff 83 7f 08 00 cmp DWORD PTR [rdi+8], 0 00103 bb 00 00 cf 06 mov ebx, 114229248 ; 06cf0000H 00108 b8 00 00 ca 06 mov eax, 113901568 ; 06ca0000H 0010d 0f 44 d8 cmove ebx, eax 00110 eb 05 jmp SHORT $LN27@glfwSetWin $LN26@glfwSetWin: ; 59 : else ; 60 : style |= WS_POPUP; 00112 bb 00 00 0a 86 mov ebx, -2046164992 ; 860a0000H $LN27@glfwSetWin: ; 1642 : else ; 1643 : { ; 1644 : AdjustWindowRectEx(&rect, getWindowStyle(window), 00117 44 8b ce mov r9d, esi 0011a 48 8d 4c 24 40 lea rcx, QWORD PTR rect$1[rsp] 0011f 45 33 c0 xor r8d, r8d 00122 8b d3 mov edx, ebx 00124 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, 0012a 8b 4c 24 4c mov ecx, DWORD PTR rect$1[rsp+12] 0012e 45 33 c9 xor r9d, r9d 00131 2b 4c 24 44 sub ecx, DWORD PTR rect$1[rsp+4] 00135 45 33 c0 xor r8d, r8d 00138 8b 44 24 48 mov eax, DWORD PTR rect$1[rsp+8] 0013c 33 d2 xor edx, edx 0013e 2b 44 24 40 sub eax, DWORD PTR rect$1[rsp] 00142 c7 44 24 30 16 02 00 00 mov DWORD PTR [rsp+48], 534 ; 00000216H 0014a 89 4c 24 28 mov DWORD PTR [rsp+40], ecx 0014e 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 00155 89 44 24 20 mov DWORD PTR [rsp+32], eax 00159 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos 0015f 48 8b 74 24 60 mov rsi, QWORD PTR [rsp+96] 00164 48 8b 5c 24 68 mov rbx, QWORD PTR [rsp+104] $LN3@glfwSetWin: ; 1649 : 0, 0, rect.right - rect.left, rect.bottom - rect.top, ; 1650 : SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOMOVE | SWP_NOZORDER); ; 1651 : } ; 1652 : } 00169 48 8b 4c 24 50 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0016e 48 33 cc xor rcx, rsp 00171 e8 00 00 00 00 call __security_check_cookie 00176 48 83 c4 70 add rsp, 112 ; 00000070H 0017a 5f pop rdi 0017b c3 ret 0 _glfwSetWindowSizeWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetCursorPosWin32 _TEXT SEGMENT pos$ = 32 __$ArrayPad$ = 40 window$ = 80 xpos$ = 88 ypos$ = 96 _glfwGetCursorPosWin32 PROC ; COMDAT ; 2135 : { $LN10: 00000 40 53 push rbx 00002 56 push rsi 00003 57 push rdi 00004 48 83 ec 30 sub rsp, 48 ; 00000030H 00008 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000f 48 33 c4 xor rax, rsp 00012 48 89 44 24 28 mov QWORD PTR __$ArrayPad$[rsp], rax 00017 48 8b f1 mov rsi, rcx 0001a 49 8b d8 mov rbx, r8 ; 2136 : POINT pos; ; 2137 : ; 2138 : if (GetCursorPos(&pos)) 0001d 48 8d 4c 24 20 lea rcx, QWORD PTR pos$[rsp] 00022 48 8b fa mov rdi, rdx 00025 ff 15 00 00 00 00 call QWORD PTR __imp_GetCursorPos 0002b 85 c0 test eax, eax 0002d 74 38 je SHORT $LN4@glfwGetCur ; 2139 : { ; 2140 : ScreenToClient(window->win32.handle, &pos); 0002f 48 8b 8e 58 03 00 00 mov rcx, QWORD PTR [rsi+856] 00036 48 8d 54 24 20 lea rdx, QWORD PTR pos$[rsp] 0003b ff 15 00 00 00 00 call QWORD PTR __imp_ScreenToClient ; 2141 : ; 2142 : if (xpos) 00041 48 85 ff test rdi, rdi 00044 74 0e je SHORT $LN3@glfwGetCur ; 2143 : *xpos = pos.x; 00046 66 0f 6e 44 24 20 movd xmm0, DWORD PTR pos$[rsp] 0004c f3 0f e6 c0 cvtdq2pd xmm0, xmm0 00050 f2 0f 11 07 movsd QWORD PTR [rdi], xmm0 $LN3@glfwGetCur: ; 2144 : if (ypos) 00054 48 85 db test rbx, rbx 00057 74 0e je SHORT $LN4@glfwGetCur ; 2145 : *ypos = pos.y; 00059 66 0f 6e 44 24 24 movd xmm0, DWORD PTR pos$[rsp+4] 0005f f3 0f e6 c0 cvtdq2pd xmm0, xmm0 00063 f2 0f 11 03 movsd QWORD PTR [rbx], xmm0 $LN4@glfwGetCur: ; 2146 : } ; 2147 : } 00067 48 8b 4c 24 28 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0006c 48 33 cc xor rcx, rsp 0006f e8 00 00 00 00 call __security_check_cookie 00074 48 83 c4 30 add rsp, 48 ; 00000030H 00078 5f pop rdi 00079 5e pop rsi 0007a 5b pop rbx 0007b c3 ret 0 _glfwGetCursorPosWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwCreateWindowWin32 _TEXT SEGMENT alpha$1 = 32 flags$2 = 36 key$3 = 40 __$ArrayPad$ = 48 window$ = 112 wndconfig$ = 120 ctxconfig$ = 128 fbconfig$ = 136 _glfwCreateWindowWin32 PROC ; COMDAT ; 1446 : { $LN63: 00000 40 53 push rbx 00002 55 push rbp 00003 56 push rsi 00004 57 push rdi 00005 48 83 ec 48 sub rsp, 72 ; 00000048H 00009 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00010 48 33 c4 xor rax, rsp 00013 48 89 44 24 30 mov QWORD PTR __$ArrayPad$[rsp], rax 00018 49 8b f8 mov rdi, r8 0001b 49 8b e9 mov rbp, r9 ; 1447 : if (!createNativeWindow(window, wndconfig, fbconfig)) 0001e 4d 8b c1 mov r8, r9 00021 48 8b f2 mov rsi, rdx 00024 48 8b d9 mov rbx, rcx 00027 e8 00 00 00 00 call createNativeWindow 0002c 85 c0 test eax, eax 0002e 0f 84 a2 01 00 00 je $LN38@glfwCreate ; 1448 : return GLFW_FALSE; ; 1449 : ; 1450 : if (ctxconfig->client != GLFW_NO_API) 00034 83 3f 00 cmp DWORD PTR [rdi], 0 00037 0f 84 88 00 00 00 je $LN15@glfwCreate ; 1451 : { ; 1452 : if (ctxconfig->source == GLFW_NATIVE_CONTEXT_API) 0003d 8b 47 04 mov eax, DWORD PTR [rdi+4] 00040 3d 01 60 03 00 cmp eax, 221185 ; 00036001H 00045 75 1d jne SHORT $LN4@glfwCreate ; 1453 : { ; 1454 : if (!_glfwInitWGL()) 00047 e8 00 00 00 00 call _glfwInitWGL 0004c 85 c0 test eax, eax 0004e 0f 84 82 01 00 00 je $LN38@glfwCreate ; 1455 : return GLFW_FALSE; ; 1456 : if (!_glfwCreateContextWGL(window, ctxconfig, fbconfig)) 00054 4c 8b c5 mov r8, rbp 00057 48 8b d7 mov rdx, rdi 0005a 48 8b cb mov rcx, rbx 0005d e8 00 00 00 00 call _glfwCreateContextWGL 00062 eb 46 jmp SHORT $LN61@glfwCreate $LN4@glfwCreate: ; 1457 : return GLFW_FALSE; ; 1458 : } ; 1459 : else if (ctxconfig->source == GLFW_EGL_CONTEXT_API) 00064 3d 02 60 03 00 cmp eax, 221186 ; 00036002H 00069 75 1d jne SHORT $LN8@glfwCreate ; 1460 : { ; 1461 : if (!_glfwInitEGL()) 0006b e8 00 00 00 00 call _glfwInitEGL 00070 85 c0 test eax, eax 00072 0f 84 5e 01 00 00 je $LN38@glfwCreate ; 1462 : return GLFW_FALSE; ; 1463 : if (!_glfwCreateContextEGL(window, ctxconfig, fbconfig)) 00078 4c 8b c5 mov r8, rbp 0007b 48 8b d7 mov rdx, rdi 0007e 48 8b cb mov rcx, rbx 00081 e8 00 00 00 00 call _glfwCreateContextEGL 00086 eb 22 jmp SHORT $LN61@glfwCreate $LN8@glfwCreate: ; 1464 : return GLFW_FALSE; ; 1465 : } ; 1466 : else if (ctxconfig->source == GLFW_OSMESA_CONTEXT_API) 00088 3d 03 60 03 00 cmp eax, 221187 ; 00036003H 0008d 75 23 jne SHORT $LN14@glfwCreate ; 1467 : { ; 1468 : if (!_glfwInitOSMesa()) 0008f e8 00 00 00 00 call _glfwInitOSMesa 00094 85 c0 test eax, eax 00096 0f 84 3a 01 00 00 je $LN38@glfwCreate ; 1469 : return GLFW_FALSE; ; 1470 : if (!_glfwCreateContextOSMesa(window, ctxconfig, fbconfig)) 0009c 4c 8b c5 mov r8, rbp 0009f 48 8b d7 mov rdx, rdi 000a2 48 8b cb mov rcx, rbx 000a5 e8 00 00 00 00 call _glfwCreateContextOSMesa $LN61@glfwCreate: ; 1471 : return GLFW_FALSE; ; 1472 : } ; 1473 : ; 1474 : if (!_glfwRefreshContextAttribs(window, ctxconfig)) 000aa 85 c0 test eax, eax 000ac 0f 84 24 01 00 00 je $LN38@glfwCreate $LN14@glfwCreate: 000b2 48 8b d7 mov rdx, rdi 000b5 48 8b cb mov rcx, rbx 000b8 e8 00 00 00 00 call _glfwRefreshContextAttribs 000bd 85 c0 test eax, eax 000bf 0f 84 11 01 00 00 je $LN38@glfwCreate $LN15@glfwCreate: ; 1476 : } ; 1477 : ; 1478 : if (wndconfig->mousePassthrough) 000c5 83 7e 3c 00 cmp DWORD PTR [rsi+60], 0 000c9 74 79 je SHORT $LN37@glfwCreate ; 1956 : DWORD exStyle = GetWindowLongW(window->win32.handle, GWL_EXSTYLE); 000cb 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 000d2 33 c0 xor eax, eax 000d4 89 44 24 28 mov DWORD PTR key$3[rsp], eax 000d8 88 44 24 20 mov BYTE PTR alpha$1[rsp], al 000dc 89 44 24 24 mov DWORD PTR flags$2[rsp], eax 000e0 8d 50 ec lea edx, QWORD PTR [rax-20] 000e3 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW 000e9 8b f8 mov edi, eax ; 1957 : ; 1958 : if (exStyle & WS_EX_LAYERED) 000eb 0f ba e0 13 bt eax, 19 000ef 73 1c jae SHORT $LN24@glfwCreate ; 1959 : GetLayeredWindowAttributes(window->win32.handle, &key, &alpha, &flags); 000f1 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 000f8 4c 8d 4c 24 24 lea r9, QWORD PTR flags$2[rsp] 000fd 4c 8d 44 24 20 lea r8, QWORD PTR alpha$1[rsp] 00102 48 8d 54 24 28 lea rdx, QWORD PTR key$3[rsp] 00107 ff 15 00 00 00 00 call QWORD PTR __imp_GetLayeredWindowAttributes $LN24@glfwCreate: ; 1960 : ; 1961 : if (enabled) ; 1962 : exStyle |= (WS_EX_TRANSPARENT | WS_EX_LAYERED); ; 1963 : else ; 1964 : { ; 1965 : exStyle &= ~WS_EX_TRANSPARENT; ; 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) ; 1969 : { ; 1970 : if (!(flags & LWA_ALPHA)) ; 1971 : exStyle &= ~WS_EX_LAYERED; ; 1972 : } ; 1973 : } ; 1974 : ; 1975 : SetWindowLongW(window->win32.handle, GWL_EXSTYLE, exStyle); 0010d 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00114 81 cf 20 00 08 00 or edi, 524320 ; 00080020H 0011a 44 8b c7 mov r8d, edi 0011d ba ec ff ff ff mov edx, -20 00122 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW ; 1976 : ; 1977 : if (enabled) ; 1978 : SetLayeredWindowAttributes(window->win32.handle, key, alpha, flags); 00128 44 8b 4c 24 24 mov r9d, DWORD PTR flags$2[rsp] 0012d 44 0f b6 44 24 20 movzx r8d, BYTE PTR alpha$1[rsp] 00133 8b 54 24 28 mov edx, DWORD PTR key$3[rsp] 00137 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 0013e ff 15 00 00 00 00 call QWORD PTR __imp_SetLayeredWindowAttributes $LN37@glfwCreate: ; 1479 : _glfwSetWindowMousePassthroughWin32(window, GLFW_TRUE); ; 1480 : ; 1481 : if (window->monitor) 00144 48 83 7b 50 00 cmp QWORD PTR [rbx+80], 0 00149 74 5e je SHORT $LN17@glfwCreate ; 1752 : ShowWindow(window->win32.handle, SW_SHOWNA); 0014b 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00152 ba 08 00 00 00 mov edx, 8 00157 ff 15 00 00 00 00 call QWORD PTR __imp_ShowWindow ; 1767 : BringWindowToTop(window->win32.handle); 0015d 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00164 ff 15 00 00 00 00 call QWORD PTR __imp_BringWindowToTop ; 1768 : SetForegroundWindow(window->win32.handle); 0016a 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00171 ff 15 00 00 00 00 call QWORD PTR __imp_SetForegroundWindow ; 1769 : SetFocus(window->win32.handle); 00177 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 0017e ff 15 00 00 00 00 call QWORD PTR __imp_SetFocus ; 1482 : { ; 1483 : _glfwShowWindowWin32(window); ; 1484 : _glfwFocusWindowWin32(window); ; 1485 : acquireMonitor(window); 00184 48 8b cb mov rcx, rbx 00187 e8 00 00 00 00 call acquireMonitor ; 1486 : fitToMonitor(window); 0018c 48 8b cb mov rcx, rbx 0018f e8 00 00 00 00 call fitToMonitor ; 1487 : ; 1488 : if (wndconfig->centerCursor) 00194 83 7e 34 00 cmp DWORD PTR [rsi+52], 0 00198 74 35 je SHORT $LN21@glfwCreate ; 1489 : _glfwCenterCursorInContentArea(window); 0019a 48 8b cb mov rcx, rbx 0019d e8 00 00 00 00 call _glfwCenterCursorInContentArea ; 1498 : } ; 1499 : } ; 1500 : ; 1501 : return GLFW_TRUE; 001a2 b8 01 00 00 00 mov eax, 1 001a7 eb 2f jmp SHORT $LN1@glfwCreate $LN17@glfwCreate: ; 1490 : } ; 1491 : else ; 1492 : { ; 1493 : if (wndconfig->visible) 001a9 83 7e 1c 00 cmp DWORD PTR [rsi+28], 0 001ad 74 20 je SHORT $LN21@glfwCreate ; 1752 : ShowWindow(window->win32.handle, SW_SHOWNA); 001af 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 001b6 ba 08 00 00 00 mov edx, 8 001bb ff 15 00 00 00 00 call QWORD PTR __imp_ShowWindow ; 1494 : { ; 1495 : _glfwShowWindowWin32(window); ; 1496 : if (wndconfig->focused) 001c1 83 7e 24 00 cmp DWORD PTR [rsi+36], 0 001c5 74 08 je SHORT $LN21@glfwCreate ; 1497 : _glfwFocusWindowWin32(window); 001c7 48 8b cb mov rcx, rbx 001ca e8 00 00 00 00 call _glfwFocusWindowWin32 $LN21@glfwCreate: ; 1498 : } ; 1499 : } ; 1500 : ; 1501 : return GLFW_TRUE; 001cf b8 01 00 00 00 mov eax, 1 001d4 eb 02 jmp SHORT $LN1@glfwCreate $LN38@glfwCreate: ; 1475 : return GLFW_FALSE; 001d6 33 c0 xor eax, eax $LN1@glfwCreate: ; 1502 : } 001d8 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp] 001dd 48 33 cc xor rcx, rsp 001e0 e8 00 00 00 00 call __security_check_cookie 001e5 48 83 c4 48 add rsp, 72 ; 00000048H 001e9 5f pop rdi 001ea 5e pop rsi 001eb 5d pop rbp 001ec 5b pop rbx 001ed c3 ret 0 _glfwCreateWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWindowIconifiedWin32 _TEXT SEGMENT window$ = 8 _glfwWindowIconifiedWin32 PROC ; COMDAT ; 1889 : return IsIconic(window->win32.handle); 00000 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00007 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_IsIconic _glfwWindowIconifiedWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwPostEmptyEventWin32 _TEXT SEGMENT _glfwPostEmptyEventWin32 PROC ; COMDAT ; 2131 : PostMessageW(_glfw.win32.helperWindowHandle, WM_NULL, 0, 0); 00000 48 8b 0d 80 1b 00 00 mov rcx, QWORD PTR _glfw+7040 00007 45 33 c9 xor r9d, r9d 0000a 45 33 c0 xor r8d, r8d 0000d 33 d2 xor edx, edx 0000f 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_PostMessageW _glfwPostEmptyEventWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowTitleWin32 _TEXT SEGMENT window$ = 48 title$ = 56 _glfwSetWindowTitleWin32 PROC ; COMDAT ; 1533 : { $LN9: 00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx 00005 57 push rdi 00006 48 83 ec 20 sub rsp, 32 ; 00000020H 0000a 48 8b f9 mov rdi, rcx ; 1534 : WCHAR* wideTitle = _glfwCreateWideStringFromUTF8Win32(title); 0000d 48 8b ca mov rcx, rdx 00010 e8 00 00 00 00 call _glfwCreateWideStringFromUTF8Win32 00015 48 8b d8 mov rbx, rax ; 1535 : if (!wideTitle) 00018 48 85 c0 test rax, rax 0001b 74 20 je SHORT $LN5@glfwSetWin ; 1536 : return; ; 1537 : ; 1538 : SetWindowTextW(window->win32.handle, wideTitle); 0001d 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 00024 48 8b d0 mov rdx, rax 00027 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowTextW ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 0002d 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 00034 48 8b cb mov rcx, rbx 00037 ff 15 18 00 00 00 call QWORD PTR _glfw+24 $LN5@glfwSetWin: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1540 : } 0003d 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48] 00042 48 83 c4 20 add rsp, 32 ; 00000020H 00046 5f pop rdi 00047 c3 ret 0 _glfwSetWindowTitleWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowResizableWin32 _TEXT SEGMENT window$ = 8 enabled$ = 16 _glfwSetWindowResizableWin32 PROC ; COMDAT ; 1936 : updateWindowStyles(window); 00000 e9 00 00 00 00 jmp updateWindowStyles _glfwSetWindowResizableWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetWindowSizeWin32 _TEXT SEGMENT area$ = 32 __$ArrayPad$ = 48 window$ = 80 width$ = 88 height$ = 96 _glfwGetWindowSizeWin32 PROC ; COMDAT ; 1612 : { $LN8: 00000 48 89 5c 24 20 mov QWORD PTR [rsp+32], rbx 00005 57 push rdi 00006 48 83 ec 40 sub rsp, 64 ; 00000040H 0000a 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00011 48 33 c4 xor rax, rsp 00014 48 89 44 24 30 mov QWORD PTR __$ArrayPad$[rsp], rax ; 1613 : RECT area; ; 1614 : GetClientRect(window->win32.handle, &area); 00019 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00020 48 8b fa mov rdi, rdx 00023 48 8d 54 24 20 lea rdx, QWORD PTR area$[rsp] 00028 49 8b d8 mov rbx, r8 0002b ff 15 00 00 00 00 call QWORD PTR __imp_GetClientRect ; 1615 : ; 1616 : if (width) 00031 48 85 ff test rdi, rdi 00034 74 06 je SHORT $LN2@glfwGetWin ; 1617 : *width = area.right; 00036 8b 44 24 28 mov eax, DWORD PTR area$[rsp+8] 0003a 89 07 mov DWORD PTR [rdi], eax $LN2@glfwGetWin: ; 1618 : if (height) 0003c 48 85 db test rbx, rbx 0003f 74 06 je SHORT $LN3@glfwGetWin ; 1619 : *height = area.bottom; 00041 8b 44 24 2c mov eax, DWORD PTR area$[rsp+12] 00045 89 03 mov DWORD PTR [rbx], eax $LN3@glfwGetWin: ; 1620 : } 00047 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0004c 48 33 cc xor rcx, rsp 0004f e8 00 00 00 00 call __security_check_cookie 00054 48 8b 5c 24 68 mov rbx, QWORD PTR [rsp+104] 00059 48 83 c4 40 add rsp, 64 ; 00000040H 0005d 5f pop rdi 0005e c3 ret 0 _glfwGetWindowSizeWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwCreateStandardCursorWin32 _TEXT SEGMENT cursor$ = 64 shape$ = 72 _glfwCreateStandardCursorWin32 PROC ; COMDAT ; 2229 : { $LN22: 00000 40 53 push rbx 00002 48 83 ec 30 sub rsp, 48 ; 00000030H ; 2230 : int id = 0; ; 2231 : ; 2232 : switch (shape) 00006 81 c2 ff 9f fc ff add edx, -221185 ; fffffffffffc9fffH 0000c 48 8b d9 mov rbx, rcx 0000f 83 fa 09 cmp edx, 9 00012 0f 87 a6 00 00 00 ja $LN14@glfwCreate 00018 48 63 c2 movsxd rax, edx 0001b 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__ImageBase 00022 8b 94 81 00 00 00 00 mov edx, DWORD PTR $LN17@glfwCreate[rcx+rax*4] 00029 48 03 d1 add rdx, rcx 0002c ff e2 jmp rdx $LN4@glfwCreate: ; 2233 : { ; 2234 : case GLFW_ARROW_CURSOR: ; 2235 : id = OCR_NORMAL; 0002e ba 00 7f 00 00 mov edx, 32512 ; 00007f00H ; 2236 : break; 00033 eb 3d jmp SHORT $LN2@glfwCreate $LN5@glfwCreate: ; 2237 : case GLFW_IBEAM_CURSOR: ; 2238 : id = OCR_IBEAM; 00035 ba 01 7f 00 00 mov edx, 32513 ; 00007f01H ; 2239 : break; 0003a eb 36 jmp SHORT $LN2@glfwCreate $LN6@glfwCreate: ; 2240 : case GLFW_CROSSHAIR_CURSOR: ; 2241 : id = OCR_CROSS; 0003c ba 03 7f 00 00 mov edx, 32515 ; 00007f03H ; 2242 : break; 00041 eb 2f jmp SHORT $LN2@glfwCreate $LN7@glfwCreate: ; 2243 : case GLFW_POINTING_HAND_CURSOR: ; 2244 : id = OCR_HAND; 00043 ba 89 7f 00 00 mov edx, 32649 ; 00007f89H ; 2245 : break; 00048 eb 28 jmp SHORT $LN2@glfwCreate $LN8@glfwCreate: ; 2246 : case GLFW_RESIZE_EW_CURSOR: ; 2247 : id = OCR_SIZEWE; 0004a ba 84 7f 00 00 mov edx, 32644 ; 00007f84H ; 2248 : break; 0004f eb 21 jmp SHORT $LN2@glfwCreate $LN9@glfwCreate: ; 2249 : case GLFW_RESIZE_NS_CURSOR: ; 2250 : id = OCR_SIZENS; 00051 ba 85 7f 00 00 mov edx, 32645 ; 00007f85H ; 2251 : break; 00056 eb 1a jmp SHORT $LN2@glfwCreate $LN10@glfwCreate: ; 2252 : case GLFW_RESIZE_NWSE_CURSOR: ; 2253 : id = OCR_SIZENWSE; 00058 ba 82 7f 00 00 mov edx, 32642 ; 00007f82H ; 2254 : break; 0005d eb 13 jmp SHORT $LN2@glfwCreate $LN11@glfwCreate: ; 2255 : case GLFW_RESIZE_NESW_CURSOR: ; 2256 : id = OCR_SIZENESW; 0005f ba 83 7f 00 00 mov edx, 32643 ; 00007f83H ; 2257 : break; 00064 eb 0c jmp SHORT $LN2@glfwCreate $LN12@glfwCreate: ; 2258 : case GLFW_RESIZE_ALL_CURSOR: ; 2259 : id = OCR_SIZEALL; 00066 ba 86 7f 00 00 mov edx, 32646 ; 00007f86H ; 2260 : break; 0006b eb 05 jmp SHORT $LN2@glfwCreate $LN13@glfwCreate: ; 2261 : case GLFW_NOT_ALLOWED_CURSOR: ; 2262 : id = OCR_NO; 0006d ba 88 7f 00 00 mov edx, 32648 ; 00007f88H $LN2@glfwCreate: ; 2266 : return GLFW_FALSE; ; 2267 : } ; 2268 : ; 2269 : cursor->win32.handle = LoadImageW(NULL, 00072 45 33 c9 xor r9d, r9d 00075 c7 44 24 28 40 80 00 00 mov DWORD PTR [rsp+40], 32832 ; 00008040H 0007d 33 c9 xor ecx, ecx 0007f c7 44 24 20 00 00 00 00 mov DWORD PTR [rsp+32], 0 00087 45 8d 41 02 lea r8d, QWORD PTR [r9+2] 0008b ff 15 00 00 00 00 call QWORD PTR __imp_LoadImageW 00091 48 89 43 08 mov QWORD PTR [rbx+8], rax ; 2270 : MAKEINTRESOURCEW(id), IMAGE_CURSOR, 0, 0, ; 2271 : LR_DEFAULTSIZE | LR_SHARED); ; 2272 : if (!cursor->win32.handle) 00095 48 85 c0 test rax, rax 00098 75 19 jne SHORT $LN15@glfwCreate ; 2273 : { ; 2274 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 0009a 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CI@LDEHPBDB@Win32?3?5Failed?5to?5create?5standar@ 000a1 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 000a6 e8 00 00 00 00 call _glfwInputErrorWin32 ; 2280 : } 000ab 33 c0 xor eax, eax 000ad 48 83 c4 30 add rsp, 48 ; 00000030H 000b1 5b pop rbx 000b2 c3 ret 0 $LN15@glfwCreate: ; 2275 : "Win32: Failed to create standard cursor"); ; 2276 : return GLFW_FALSE; ; 2277 : } ; 2278 : ; 2279 : return GLFW_TRUE; 000b3 b8 01 00 00 00 mov eax, 1 ; 2280 : } 000b8 48 83 c4 30 add rsp, 48 ; 00000030H 000bc 5b pop rbx 000bd c3 ret 0 $LN14@glfwCreate: ; 2263 : break; ; 2264 : default: ; 2265 : _glfwInputError(GLFW_PLATFORM_ERROR, "Win32: Unknown standard cursor"); 000be 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BP@KPGBLOB@Win32?3?5Unknown?5standard?5cursor@ 000c5 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 000ca e8 00 00 00 00 call _glfwInputError ; 2280 : } 000cf 33 c0 xor eax, eax 000d1 48 83 c4 30 add rsp, 48 ; 00000030H 000d5 5b pop rbx 000d6 c3 ret 0 000d7 90 npad 1 $LN17@glfwCreate: 000d8 00 00 00 00 DD $LN4@glfwCreate 000dc 00 00 00 00 DD $LN5@glfwCreate 000e0 00 00 00 00 DD $LN6@glfwCreate 000e4 00 00 00 00 DD $LN7@glfwCreate 000e8 00 00 00 00 DD $LN8@glfwCreate 000ec 00 00 00 00 DD $LN9@glfwCreate 000f0 00 00 00 00 DD $LN10@glfwCreate 000f4 00 00 00 00 DD $LN11@glfwCreate 000f8 00 00 00 00 DD $LN12@glfwCreate 000fc 00 00 00 00 DD $LN13@glfwCreate _glfwCreateStandardCursorWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetWindowPosWin32 _TEXT SEGMENT pos$ = 32 __$ArrayPad$ = 40 window$ = 64 xpos$ = 72 ypos$ = 80 _glfwGetWindowPosWin32 PROC ; COMDAT ; 1581 : { $LN8: 00000 48 89 5c 24 20 mov QWORD PTR [rsp+32], rbx 00005 57 push rdi 00006 48 83 ec 30 sub rsp, 48 ; 00000030H 0000a 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00011 48 33 c4 xor rax, rsp 00014 48 89 44 24 28 mov QWORD PTR __$ArrayPad$[rsp], rax ; 1582 : POINT pos = { 0, 0 }; ; 1583 : ClientToScreen(window->win32.handle, &pos); 00019 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00020 48 8b fa mov rdi, rdx 00023 33 c0 xor eax, eax 00025 48 8d 54 24 20 lea rdx, QWORD PTR pos$[rsp] 0002a 48 89 44 24 20 mov QWORD PTR pos$[rsp], rax 0002f 49 8b d8 mov rbx, r8 00032 ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 1584 : ; 1585 : if (xpos) 00038 48 85 ff test rdi, rdi 0003b 74 06 je SHORT $LN2@glfwGetWin ; 1586 : *xpos = pos.x; 0003d 8b 44 24 20 mov eax, DWORD PTR pos$[rsp] 00041 89 07 mov DWORD PTR [rdi], eax $LN2@glfwGetWin: ; 1587 : if (ypos) 00043 48 85 db test rbx, rbx 00046 74 06 je SHORT $LN3@glfwGetWin ; 1588 : *ypos = pos.y; 00048 8b 44 24 24 mov eax, DWORD PTR pos$[rsp+4] 0004c 89 03 mov DWORD PTR [rbx], eax $LN3@glfwGetWin: ; 1589 : } 0004e 48 8b 4c 24 28 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00053 48 33 cc xor rcx, rsp 00056 e8 00 00 00 00 call __security_check_cookie 0005b 48 8b 5c 24 58 mov rbx, QWORD PTR [rsp+88] 00060 48 83 c4 30 add rsp, 48 ; 00000030H 00064 5f pop rdi 00065 c3 ret 0 _glfwGetWindowPosWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwCreateCursorWin32 _TEXT SEGMENT cursor$ = 48 image$ = 56 xhot$ = 64 yhot$ = 72 _glfwCreateCursorWin32 PROC ; COMDAT ; 2220 : { $LN5: 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 41 8b c1 mov eax, r9d 00009 45 8b d0 mov r10d, r8d 0000c 4c 8b da mov r11, rdx 0000f 48 8b d9 mov rbx, rcx ; 2221 : cursor->win32.handle = (HCURSOR) createIcon(image, xhot, yhot, GLFW_FALSE); 00012 44 8b c0 mov r8d, eax 00015 41 8b d2 mov edx, r10d 00018 49 8b cb mov rcx, r11 0001b 45 33 c9 xor r9d, r9d 0001e e8 00 00 00 00 call createIcon ; 2222 : if (!cursor->win32.handle) 00023 33 c9 xor ecx, ecx 00025 48 89 43 08 mov QWORD PTR [rbx+8], rax 00029 48 85 c0 test rax, rax 0002c 0f 95 c1 setne cl 0002f 8b c1 mov eax, ecx ; 2223 : return GLFW_FALSE; ; 2224 : ; 2225 : return GLFW_TRUE; ; 2226 : } 00031 48 83 c4 20 add rsp, 32 ; 00000020H 00035 5b pop rbx 00036 c3 ret 0 _glfwCreateCursorWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetScancodeNameWin32 _TEXT SEGMENT scancode$ = 48 _glfwGetScancodeNameWin32 PROC ; COMDAT ; 2201 : { $LN6: 00000 48 83 ec 28 sub rsp, 40 ; 00000028H ; 2202 : if (scancode < 0 || scancode > (KF_EXTENDED | 0xff) || 00004 81 f9 ff 01 00 00 cmp ecx, 511 ; 000001ffH 0000a 77 28 ja SHORT $LN3@glfwGetSca 0000c 48 63 c1 movsxd rax, ecx 0000f 48 8d 15 a8 1b 00 00 lea rdx, OFFSET FLAT:_glfw+7080 00016 48 0f bf 14 42 movsx rdx, WORD PTR [rdx+rax*2] 0001b 66 83 fa ff cmp dx, -1 0001f 74 13 je SHORT $LN3@glfwGetSca ; 2207 : } ; 2208 : ; 2209 : return _glfw.win32.keynames[_glfw.win32.keycodes[scancode]]; 00021 48 8d 04 92 lea rax, QWORD PTR [rdx+rdx*4] 00025 48 8d 0d 62 22 00 00 lea rcx, OFFSET FLAT:_glfw+8802 0002c 48 03 c1 add rax, rcx ; 2210 : } 0002f 48 83 c4 28 add rsp, 40 ; 00000028H 00033 c3 ret 0 $LN3@glfwGetSca: ; 2203 : _glfw.win32.keycodes[scancode] == GLFW_KEY_UNKNOWN) ; 2204 : { ; 2205 : _glfwInputError(GLFW_INVALID_VALUE, "Invalid scancode %i", scancode); 00034 44 8b c1 mov r8d, ecx 00037 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BE@IGCIBFAF@Invalid?5scancode?5?$CFi@ 0003e b9 04 00 01 00 mov ecx, 65540 ; 00010004H 00043 e8 00 00 00 00 call _glfwInputError ; 2206 : return NULL; 00048 33 c0 xor eax, eax ; 2210 : } 0004a 48 83 c4 28 add rsp, 40 ; 00000028H 0004e c3 ret 0 _glfwGetScancodeNameWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetFramebufferSizeWin32 _TEXT SEGMENT area$1 = 32 __$ArrayPad$ = 48 window$ = 80 width$ = 88 height$ = 96 _glfwGetFramebufferSizeWin32 PROC ; COMDAT ; 1689 : { $LN10: 00000 48 89 5c 24 20 mov QWORD PTR [rsp+32], rbx 00005 57 push rdi 00006 48 83 ec 40 sub rsp, 64 ; 00000040H 0000a 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00011 48 33 c4 xor rax, rsp 00014 48 89 44 24 30 mov QWORD PTR __$ArrayPad$[rsp], rax ; 1614 : GetClientRect(window->win32.handle, &area); 00019 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] ; 1689 : { 00020 48 8b fa mov rdi, rdx ; 1614 : GetClientRect(window->win32.handle, &area); 00023 48 8d 54 24 20 lea rdx, QWORD PTR area$1[rsp] ; 1689 : { 00028 49 8b d8 mov rbx, r8 ; 1614 : GetClientRect(window->win32.handle, &area); 0002b ff 15 00 00 00 00 call QWORD PTR __imp_GetClientRect ; 1615 : ; 1616 : if (width) 00031 48 85 ff test rdi, rdi 00034 74 06 je SHORT $LN4@glfwGetFra ; 1617 : *width = area.right; 00036 8b 44 24 28 mov eax, DWORD PTR area$1[rsp+8] 0003a 89 07 mov DWORD PTR [rdi], eax $LN4@glfwGetFra: ; 1618 : if (height) 0003c 48 85 db test rbx, rbx 0003f 74 06 je SHORT $LN5@glfwGetFra ; 1619 : *height = area.bottom; 00041 8b 44 24 2c mov eax, DWORD PTR area$1[rsp+12] 00045 89 03 mov DWORD PTR [rbx], eax $LN5@glfwGetFra: ; 1690 : _glfwGetWindowSizeWin32(window, width, height); ; 1691 : } 00047 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0004c 48 33 cc xor rcx, rsp 0004f e8 00 00 00 00 call __security_check_cookie 00054 48 8b 5c 24 68 mov rbx, QWORD PTR [rsp+104] 00059 48 83 c4 40 add rsp, 64 ; 00000040H 0005d 5f pop rdi 0005e c3 ret 0 _glfwGetFramebufferSizeWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowAspectRatioWin32 _TEXT SEGMENT area$ = 48 __$ArrayPad$ = 64 window$ = 96 numer$ = 104 denom$ = 112 _glfwSetWindowAspectRatioWin32 PROC ; COMDAT ; 1674 : { $LN9: ; 1675 : RECT area; ; 1676 : ; 1677 : if (numer == GLFW_DONT_CARE || denom == GLFW_DONT_CARE) 00000 83 fa ff cmp edx, -1 00003 0f 84 84 00 00 00 je $LN7@glfwSetWin 00009 53 push rbx 0000a 48 83 ec 50 sub rsp, 80 ; 00000050H 0000e 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00015 48 33 c4 xor rax, rsp 00018 48 89 44 24 40 mov QWORD PTR __$ArrayPad$[rsp], rax ; 1674 : { 0001d 48 8b d9 mov rbx, rcx ; 1675 : RECT area; ; 1676 : ; 1677 : if (numer == GLFW_DONT_CARE || denom == GLFW_DONT_CARE) 00020 41 83 f8 ff cmp r8d, -1 00024 74 55 je SHORT $LN3@glfwSetWin ; 1678 : return; ; 1679 : ; 1680 : GetWindowRect(window->win32.handle, &area); 00026 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 0002d 48 8d 54 24 30 lea rdx, QWORD PTR area$[rsp] 00032 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowRect ; 1681 : applyAspectRatio(window, WMSZ_BOTTOMRIGHT, &area); 00038 4c 8d 44 24 30 lea r8, QWORD PTR area$[rsp] 0003d ba 08 00 00 00 mov edx, 8 00042 48 8b cb mov rcx, rbx 00045 e8 00 00 00 00 call applyAspectRatio ; 1682 : MoveWindow(window->win32.handle, 0004a 8b 44 24 3c mov eax, DWORD PTR area$[rsp+12] 0004e 44 8b 44 24 34 mov r8d, DWORD PTR area$[rsp+4] 00053 41 2b c0 sub eax, r8d 00056 44 8b 4c 24 38 mov r9d, DWORD PTR area$[rsp+8] 0005b 8b 54 24 30 mov edx, DWORD PTR area$[rsp] 0005f 44 2b ca sub r9d, edx 00062 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00069 c7 44 24 28 01 00 00 00 mov DWORD PTR [rsp+40], 1 00071 89 44 24 20 mov DWORD PTR [rsp+32], eax 00075 ff 15 00 00 00 00 call QWORD PTR __imp_MoveWindow $LN3@glfwSetWin: ; 1683 : area.left, area.top, ; 1684 : area.right - area.left, ; 1685 : area.bottom - area.top, TRUE); ; 1686 : } 0007b 48 8b 4c 24 40 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00080 48 33 cc xor rcx, rsp 00083 e8 00 00 00 00 call __security_check_cookie 00088 48 83 c4 50 add rsp, 80 ; 00000050H 0008c 5b pop rbx $LN7@glfwSetWin: 0008d c3 ret 0 _glfwSetWindowAspectRatioWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWindowVisibleWin32 _TEXT SEGMENT window$ = 8 _glfwWindowVisibleWin32 PROC ; COMDAT ; 1894 : return IsWindowVisible(window->win32.handle); 00000 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00007 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_IsWindowVisible _glfwWindowVisibleWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwHideWindowWin32 _TEXT SEGMENT window$ = 8 _glfwHideWindowWin32 PROC ; COMDAT ; 1757 : ShowWindow(window->win32.handle, SW_HIDE); 00000 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00007 33 d2 xor edx, edx 00009 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_ShowWindow _glfwHideWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwGetEGLPlatformWin32 _TEXT SEGMENT attribs$ = 48 _glfwGetEGLPlatformWin32 PROC ; COMDAT ; 2377 : { $LN32: 00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx 00005 57 push rdi 00006 48 83 ec 20 sub rsp, 32 ; 00000020H ; 2378 : if (_glfw.egl.ANGLE_platform_angle) 0000a 83 3d 34 1a 00 00 00 cmp DWORD PTR _glfw+6708, 0 00011 48 8b f9 mov rdi, rcx 00014 0f 84 c2 00 00 00 je $LN13@glfwGetEGL ; 2379 : { ; 2380 : int type = 0; ; 2381 : ; 2382 : if (_glfw.egl.ANGLE_platform_angle_opengl) 0001a 8b 05 6c 02 00 00 mov eax, DWORD PTR _glfw+620 00020 33 db xor ebx, ebx 00022 39 1d 38 1a 00 00 cmp DWORD PTR _glfw+6712, ebx 00028 74 1b je SHORT $LN6@glfwGetEGL ; 2383 : { ; 2384 : if (_glfw.hints.init.angleType == GLFW_ANGLE_PLATFORM_TYPE_OPENGL) 0002a 3d 02 70 03 00 cmp eax, 225282 ; 00037002H 0002f 75 07 jne SHORT $LN4@glfwGetEGL ; 2385 : type = EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE; 00031 bb 0d 32 00 00 mov ebx, 12813 ; 0000320dH 00036 eb 0d jmp SHORT $LN6@glfwGetEGL $LN4@glfwGetEGL: ; 2386 : else if (_glfw.hints.init.angleType == GLFW_ANGLE_PLATFORM_TYPE_OPENGLES) 00038 3d 03 70 03 00 cmp eax, 225283 ; 00037003H 0003d b9 0e 32 00 00 mov ecx, 12814 ; 0000320eH 00042 0f 44 d9 cmove ebx, ecx $LN6@glfwGetEGL: ; 2387 : type = EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE; ; 2388 : } ; 2389 : ; 2390 : if (_glfw.egl.ANGLE_platform_angle_d3d) 00045 83 3d 3c 1a 00 00 00 cmp DWORD PTR _glfw+6716, 0 0004c 74 1b je SHORT $LN10@glfwGetEGL ; 2391 : { ; 2392 : if (_glfw.hints.init.angleType == GLFW_ANGLE_PLATFORM_TYPE_D3D9) 0004e 3d 04 70 03 00 cmp eax, 225284 ; 00037004H 00053 75 07 jne SHORT $LN8@glfwGetEGL ; 2393 : type = EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE; 00055 bb 07 32 00 00 mov ebx, 12807 ; 00003207H 0005a eb 0d jmp SHORT $LN10@glfwGetEGL $LN8@glfwGetEGL: ; 2394 : else if (_glfw.hints.init.angleType == GLFW_ANGLE_PLATFORM_TYPE_D3D11) 0005c 3d 05 70 03 00 cmp eax, 225285 ; 00037005H 00061 b9 08 32 00 00 mov ecx, 12808 ; 00003208H 00066 0f 44 d9 cmove ebx, ecx $LN10@glfwGetEGL: ; 2395 : type = EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE; ; 2396 : } ; 2397 : ; 2398 : if (_glfw.egl.ANGLE_platform_angle_vulkan) 00069 83 3d 40 1a 00 00 00 cmp DWORD PTR _glfw+6720, 0 00070 74 0e je SHORT $LN12@glfwGetEGL ; 2399 : { ; 2400 : if (_glfw.hints.init.angleType == GLFW_ANGLE_PLATFORM_TYPE_VULKAN) 00072 3d 07 70 03 00 cmp eax, 225287 ; 00037007H 00077 75 07 jne SHORT $LN12@glfwGetEGL ; 2401 : type = EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE; 00079 bb 50 34 00 00 mov ebx, 13392 ; 00003450H 0007e eb 04 jmp SHORT $LN22@glfwGetEGL $LN12@glfwGetEGL: ; 2402 : } ; 2403 : ; 2404 : if (type) 00080 85 db test ebx, ebx 00082 74 58 je SHORT $LN13@glfwGetEGL $LN22@glfwGetEGL: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 283 : block = _glfw.allocator.allocate(count * size, _glfw.allocator.user); 00084 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 0008b b9 0c 00 00 00 mov ecx, 12 00090 ff 15 08 00 00 00 call QWORD PTR _glfw+8 ; 284 : if (block) 00096 48 85 c0 test rax, rax 00099 74 0a je SHORT $LN19@glfwGetEGL ; 285 : return memset(block, 0, count * size); 0009b 33 c9 xor ecx, ecx 0009d 48 89 08 mov QWORD PTR [rax], rcx 000a0 89 48 08 mov DWORD PTR [rax+8], ecx 000a3 eb 0e jmp SHORT $LN17@glfwGetEGL $LN19@glfwGetEGL: ; 286 : else ; 287 : { ; 288 : _glfwInputError(GLFW_OUT_OF_MEMORY, NULL); 000a5 33 d2 xor edx, edx 000a7 b9 05 00 01 00 mov ecx, 65541 ; 00010005H 000ac e8 00 00 00 00 call _glfwInputError ; 289 : return NULL; 000b1 33 c0 xor eax, eax $LN17@glfwGetEGL: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 2406 : *attribs = _glfw_calloc(3, sizeof(EGLint)); 000b3 48 89 07 mov QWORD PTR [rdi], rax ; 2407 : (*attribs)[0] = EGL_PLATFORM_ANGLE_TYPE_ANGLE; 000b6 c7 00 03 32 00 00 mov DWORD PTR [rax], 12803 ; 00003203H ; 2408 : (*attribs)[1] = type; 000bc 48 8b 07 mov rax, QWORD PTR [rdi] 000bf 89 58 04 mov DWORD PTR [rax+4], ebx ; 2409 : (*attribs)[2] = EGL_NONE; 000c2 48 8b 07 mov rax, QWORD PTR [rdi] 000c5 c7 40 08 38 30 00 00 mov DWORD PTR [rax+8], 12344 ; 00003038H ; 2410 : return EGL_PLATFORM_ANGLE_ANGLE; 000cc b8 02 32 00 00 mov eax, 12802 ; 00003202H ; 2411 : } ; 2412 : } ; 2413 : ; 2414 : return 0; ; 2415 : } 000d1 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48] 000d6 48 83 c4 20 add rsp, 32 ; 00000020H 000da 5f pop rdi 000db c3 ret 0 $LN13@glfwGetEGL: 000dc 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48] 000e1 33 c0 xor eax, eax 000e3 48 83 c4 20 add rsp, 32 ; 00000020H 000e7 5f pop rdi 000e8 c3 ret 0 _glfwGetEGLPlatformWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwRestoreWindowWin32 _TEXT SEGMENT window$ = 8 _glfwRestoreWindowWin32 PROC ; COMDAT ; 1739 : ShowWindow(window->win32.handle, SW_RESTORE); 00000 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00007 ba 09 00 00 00 mov edx, 9 0000c 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_ShowWindow _glfwRestoreWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetWindowSizeLimitsWin32 _TEXT SEGMENT area$ = 48 __$ArrayPad$ = 64 window$ = 96 minwidth$ = 104 minheight$ = 112 maxwidth$ = 120 maxheight$ = 128 _glfwSetWindowSizeLimitsWin32 PROC ; COMDAT ; 1657 : { $LN9: 00000 40 53 push rbx 00002 48 83 ec 50 sub rsp, 80 ; 00000050H 00006 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000d 48 33 c4 xor rax, rsp 00010 48 89 44 24 40 mov QWORD PTR __$ArrayPad$[rsp], rax 00015 48 8b d9 mov rbx, rcx ; 1658 : RECT area; ; 1659 : ; 1660 : if ((minwidth == GLFW_DONT_CARE || minheight == GLFW_DONT_CARE) && 00018 83 fa ff cmp edx, -1 0001b 74 06 je SHORT $LN3@glfwSetWin 0001d 41 83 f8 ff cmp r8d, -1 00021 75 10 jne SHORT $LN2@glfwSetWin $LN3@glfwSetWin: 00023 41 83 f9 ff cmp r9d, -1 00027 74 4d je SHORT $LN4@glfwSetWin 00029 83 bc 24 80 00 00 00 ff cmp DWORD PTR maxheight$[rsp], -1 00031 74 43 je SHORT $LN4@glfwSetWin $LN2@glfwSetWin: ; 1661 : (maxwidth == GLFW_DONT_CARE || maxheight == GLFW_DONT_CARE)) ; 1662 : { ; 1663 : return; ; 1664 : } ; 1665 : ; 1666 : GetWindowRect(window->win32.handle, &area); 00033 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 0003a 48 8d 54 24 30 lea rdx, QWORD PTR area$[rsp] 0003f ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowRect ; 1667 : MoveWindow(window->win32.handle, 00045 8b 44 24 3c mov eax, DWORD PTR area$[rsp+12] 00049 44 8b 44 24 34 mov r8d, DWORD PTR area$[rsp+4] 0004e 41 2b c0 sub eax, r8d 00051 44 8b 4c 24 38 mov r9d, DWORD PTR area$[rsp+8] 00056 8b 54 24 30 mov edx, DWORD PTR area$[rsp] 0005a 44 2b ca sub r9d, edx 0005d 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00064 c7 44 24 28 01 00 00 00 mov DWORD PTR [rsp+40], 1 0006c 89 44 24 20 mov DWORD PTR [rsp+32], eax 00070 ff 15 00 00 00 00 call QWORD PTR __imp_MoveWindow $LN4@glfwSetWin: ; 1668 : area.left, area.top, ; 1669 : area.right - area.left, ; 1670 : area.bottom - area.top, TRUE); ; 1671 : } 00076 48 8b 4c 24 40 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0007b 48 33 cc xor rcx, rsp 0007e e8 00 00 00 00 call __security_check_cookie 00083 48 83 c4 50 add rsp, 80 ; 00000050H 00087 5b pop rbx 00088 c3 ret 0 _glfwSetWindowSizeLimitsWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetCursorPosWin32 _TEXT SEGMENT pos$ = 32 __$ArrayPad$ = 40 window$ = 64 xpos$ = 72 ypos$ = 80 _glfwSetCursorPosWin32 PROC ; COMDAT ; 2150 : { $LN4: 00000 48 83 ec 38 sub rsp, 56 ; 00000038H 00004 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000b 48 33 c4 xor rax, rsp 0000e 48 89 44 24 28 mov QWORD PTR __$ArrayPad$[rsp], rax ; 2151 : POINT pos = { (int) xpos, (int) ypos }; 00013 f2 0f 2c d1 cvttsd2si edx, xmm1 00017 f2 0f 2c c2 cvttsd2si eax, xmm2 ; 2152 : ; 2153 : // Store the new position so it can be recognized later ; 2154 : window->win32.lastCursorPosX = pos.x; 0001b 89 91 94 03 00 00 mov DWORD PTR [rcx+916], edx 00021 89 54 24 20 mov DWORD PTR pos$[rsp], edx ; 2155 : window->win32.lastCursorPosY = pos.y; ; 2156 : ; 2157 : ClientToScreen(window->win32.handle, &pos); 00025 48 8d 54 24 20 lea rdx, QWORD PTR pos$[rsp] 0002a 89 81 98 03 00 00 mov DWORD PTR [rcx+920], eax 00030 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00037 89 44 24 24 mov DWORD PTR pos$[rsp+4], eax 0003b ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 2158 : SetCursorPos(pos.x, pos.y); 00041 8b 54 24 24 mov edx, DWORD PTR pos$[rsp+4] 00045 8b 4c 24 20 mov ecx, DWORD PTR pos$[rsp] 00049 ff 15 00 00 00 00 call QWORD PTR __imp_SetCursorPos ; 2159 : } 0004f 48 8b 4c 24 28 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00054 48 33 cc xor rcx, rsp 00057 e8 00 00 00 00 call __security_check_cookie 0005c 48 83 c4 38 add rsp, 56 ; 00000038H 00060 c3 ret 0 _glfwSetCursorPosWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwShowWindowWin32 _TEXT SEGMENT window$ = 8 _glfwShowWindowWin32 PROC ; COMDAT ; 1752 : ShowWindow(window->win32.handle, SW_SHOWNA); 00000 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00007 ba 08 00 00 00 mov edx, 8 0000c 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_ShowWindow _glfwShowWindowWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWaitEventsTimeoutWin32 _TEXT SEGMENT timeout$ = 64 _glfwWaitEventsTimeoutWin32 PROC ; COMDAT ; 2123 : { $LN4: 00000 48 83 ec 38 sub rsp, 56 ; 00000038H ; 2124 : MsgWaitForMultipleObjects(0, NULL, FALSE, (DWORD) (timeout * 1e3), QS_ALLEVENTS); 00004 f2 0f 59 05 00 00 00 00 mulsd xmm0, QWORD PTR __real@408f400000000000 0000c 45 33 c0 xor r8d, r8d 0000f 33 d2 xor edx, edx 00011 c7 44 24 20 bf 04 00 00 mov DWORD PTR [rsp+32], 1215 ; 000004bfH 00019 33 c9 xor ecx, ecx 0001b f2 4c 0f 2c c8 cvttsd2si r9, xmm0 00020 ff 15 00 00 00 00 call QWORD PTR __imp_MsgWaitForMultipleObjects ; 2127 : } 00026 48 83 c4 38 add rsp, 56 ; 00000038H ; 2125 : ; 2126 : _glfwPollEventsWin32(); 0002a e9 00 00 00 00 jmp _glfwPollEventsWin32 _glfwWaitEventsTimeoutWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwSetCursorModeWin32 _TEXT SEGMENT pos$1 = 32 __$ArrayPad$ = 40 window$ = 64 mode$ = 72 _glfwSetCursorModeWin32 PROC ; COMDAT ; 2162 : { $LN47: 00000 48 89 5c 24 10 mov QWORD PTR [rsp+16], rbx 00005 57 push rdi 00006 48 83 ec 30 sub rsp, 48 ; 00000030H 0000a 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00011 48 33 c4 xor rax, rsp 00014 48 89 44 24 28 mov QWORD PTR __$ArrayPad$[rsp], rax 00019 8b fa mov edi, edx 0001b 48 8b d9 mov rbx, rcx ; 1884 : return window->win32.handle == GetActiveWindow(); 0001e ff 15 00 00 00 00 call QWORD PTR __imp_GetActiveWindow 00024 48 39 83 58 03 00 00 cmp QWORD PTR [rbx+856], rax ; 2163 : if (_glfwWindowFocusedWin32(window)) 0002b 0f 85 dd 00 00 00 jne $LN13@glfwSetCur ; 2164 : { ; 2165 : if (mode == GLFW_CURSOR_DISABLED) 00031 81 ff 03 40 03 00 cmp edi, 212995 ; 00034003H 00037 75 77 jne SHORT $LN3@glfwSetCur ; 2138 : if (GetCursorPos(&pos)) 00039 48 8d 4c 24 20 lea rcx, QWORD PTR pos$1[rsp] 0003e ff 15 00 00 00 00 call QWORD PTR __imp_GetCursorPos 00044 85 c0 test eax, eax 00046 74 36 je SHORT $LN21@glfwSetCur ; 2139 : { ; 2140 : ScreenToClient(window->win32.handle, &pos); 00048 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 0004f 48 8d 54 24 20 lea rdx, QWORD PTR pos$1[rsp] 00054 ff 15 00 00 00 00 call QWORD PTR __imp_ScreenToClient 0005a 66 0f 6e 44 24 20 movd xmm0, DWORD PTR pos$1[rsp] 00060 66 0f 6e 4c 24 24 movd xmm1, DWORD PTR pos$1[rsp+4] ; 2141 : ; 2142 : if (xpos) ; 2143 : *xpos = pos.x; 00066 f3 0f e6 c0 cvtdq2pd xmm0, xmm0 ; 2144 : if (ypos) ; 2145 : *ypos = pos.y; 0006a f3 0f e6 c9 cvtdq2pd xmm1, xmm1 0006e f2 0f 11 05 38 29 00 00 movsd QWORD PTR _glfw+10552, xmm0 00076 f2 0f 11 0d 40 29 00 00 movsd QWORD PTR _glfw+10560, xmm1 $LN21@glfwSetCur: ; 2166 : { ; 2167 : _glfwGetCursorPosWin32(window, ; 2168 : &_glfw.win32.restoreCursorPosX, ; 2169 : &_glfw.win32.restoreCursorPosY); ; 2170 : _glfwCenterCursorInContentArea(window); 0007e 48 8b cb mov rcx, rbx 00081 e8 00 00 00 00 call _glfwCenterCursorInContentArea ; 2171 : if (window->rawMouseMotion) 00086 83 bb 00 02 00 00 00 cmp DWORD PTR [rbx+512], 0 0008d 74 08 je SHORT $LN10@glfwSetCur ; 2172 : enableRawMouseMotion(window); 0008f 48 8b cb mov rcx, rbx 00092 e8 00 00 00 00 call enableRawMouseMotion $LN10@glfwSetCur: ; 2181 : captureCursor(window); 00097 48 8b cb mov rcx, rbx 0009a e8 00 00 00 00 call captureCursor ; 2182 : else ; 2183 : releaseCursor(); ; 2184 : ; 2185 : if (mode == GLFW_CURSOR_DISABLED) 0009f 81 ff 03 40 03 00 cmp edi, 212995 ; 00034003H 000a5 75 3b jne SHORT $LN11@glfwSetCur ; 2186 : _glfw.win32.disabledCursorWindow = window; 000a7 48 89 1d 48 29 00 00 mov QWORD PTR _glfw+10568, rbx 000ae eb 5e jmp SHORT $LN13@glfwSetCur $LN3@glfwSetCur: ; 2173 : } ; 2174 : else if (_glfw.win32.disabledCursorWindow == window) 000b0 48 39 1d 48 29 00 00 cmp QWORD PTR _glfw+10568, rbx 000b7 75 0e jne SHORT $LN7@glfwSetCur ; 2175 : { ; 2176 : if (window->rawMouseMotion) 000b9 83 bb 00 02 00 00 00 cmp DWORD PTR [rbx+512], 0 000c0 74 05 je SHORT $LN7@glfwSetCur ; 2177 : disableRawMouseMotion(window); 000c2 e8 00 00 00 00 call disableRawMouseMotion $LN7@glfwSetCur: ; 2178 : } ; 2179 : ; 2180 : if (mode == GLFW_CURSOR_DISABLED || mode == GLFW_CURSOR_CAPTURED) 000c7 81 ff 04 40 03 00 cmp edi, 212996 ; 00034004H 000cd 74 c8 je SHORT $LN10@glfwSetCur ; 256 : ClipCursor(NULL); 000cf 33 c9 xor ecx, ecx 000d1 ff 15 00 00 00 00 call QWORD PTR __imp_ClipCursor ; 257 : _glfw.win32.capturedCursorWindow = NULL; 000d7 48 c7 05 50 29 00 00 00 00 00 00 mov QWORD PTR _glfw+10576, 0 $LN11@glfwSetCur: ; 2187 : else if (_glfw.win32.disabledCursorWindow == window) 000e2 48 39 1d 48 29 00 00 cmp QWORD PTR _glfw+10568, rbx 000e9 75 23 jne SHORT $LN13@glfwSetCur ; 2188 : { ; 2189 : _glfw.win32.disabledCursorWindow = NULL; ; 2190 : _glfwSetCursorPosWin32(window, 000eb f2 0f 10 15 40 29 00 00 movsd xmm2, QWORD PTR _glfw+10560 000f3 48 8b cb mov rcx, rbx 000f6 f2 0f 10 0d 38 29 00 00 movsd xmm1, QWORD PTR _glfw+10552 000fe 48 c7 05 48 29 00 00 00 00 00 00 mov QWORD PTR _glfw+10568, 0 00109 e8 00 00 00 00 call _glfwSetCursorPosWin32 $LN13@glfwSetCur: ; 2191 : _glfw.win32.restoreCursorPosX, ; 2192 : _glfw.win32.restoreCursorPosY); ; 2193 : } ; 2194 : } ; 2195 : ; 2196 : if (cursorInContentArea(window)) 0010e 48 8b cb mov rcx, rbx 00111 e8 00 00 00 00 call cursorInContentArea 00116 85 c0 test eax, eax 00118 74 3d je SHORT $LN30@glfwSetCur ; 228 : if (window->cursorMode == GLFW_CURSOR_NORMAL || 0011a 8b 83 84 00 00 00 mov eax, DWORD PTR [rbx+132] 00120 3d 01 40 03 00 cmp eax, 212993 ; 00034001H 00125 74 0b je SHORT $LN28@glfwSetCur 00127 3d 04 40 03 00 cmp eax, 212996 ; 00034004H 0012c 74 04 je SHORT $LN28@glfwSetCur ; 235 : } ; 236 : else ; 237 : SetCursor(NULL); 0012e 33 c9 xor ecx, ecx 00130 eb 1f jmp SHORT $LN45@glfwSetCur $LN28@glfwSetCur: ; 229 : window->cursorMode == GLFW_CURSOR_CAPTURED) ; 230 : { ; 231 : if (window->cursor) 00132 48 8b 4b 58 mov rcx, QWORD PTR [rbx+88] 00136 48 85 c9 test rcx, rcx 00139 74 06 je SHORT $LN29@glfwSetCur ; 232 : SetCursor(window->cursor->win32.handle); 0013b 48 8b 49 08 mov rcx, QWORD PTR [rcx+8] 0013f eb 10 jmp SHORT $LN45@glfwSetCur $LN29@glfwSetCur: ; 233 : else ; 234 : SetCursor(LoadCursorW(NULL, IDC_ARROW)); 00141 ba 00 7f 00 00 mov edx, 32512 ; 00007f00H 00146 33 c9 xor ecx, ecx 00148 ff 15 00 00 00 00 call QWORD PTR __imp_LoadCursorW 0014e 48 8b c8 mov rcx, rax $LN45@glfwSetCur: ; 2197 : updateCursorImage(window); ; 2198 : } 00151 ff 15 00 00 00 00 call QWORD PTR __imp_SetCursor $LN30@glfwSetCur: 00157 48 8b 4c 24 28 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0015c 48 33 cc xor rcx, rsp 0015f e8 00 00 00 00 call __security_check_cookie 00164 48 8b 5c 24 48 mov rbx, QWORD PTR [rsp+72] 00169 48 83 c4 30 add rsp, 48 ; 00000030H 0016d 5f pop rdi 0016e c3 ret 0 _glfwSetCursorModeWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT _glfwWindowMaximizedWin32 _TEXT SEGMENT window$ = 8 _glfwWindowMaximizedWin32 PROC ; COMDAT ; 1899 : return IsZoomed(window->win32.handle); 00000 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00007 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_IsZoomed _glfwWindowMaximizedWin32 ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT getWindowStyle _TEXT SEGMENT window$ = 8 getWindowStyle PROC ; COMDAT ; 44 : DWORD style = WS_CLIPSIBLINGS | WS_CLIPCHILDREN; ; 45 : ; 46 : if (window->monitor) 00000 48 83 79 50 00 cmp QWORD PTR [rcx+80], 0 00005 74 06 je SHORT $LN2@getWindowS ; 59 : else ; 60 : style |= WS_POPUP; ; 61 : } ; 62 : ; 63 : return style; 00007 b8 00 00 00 86 mov eax, -2046820352 ; 86000000H ; 64 : } 0000c c3 ret 0 $LN2@getWindowS: ; 47 : style |= WS_POPUP; ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 0000d 83 79 0c 00 cmp DWORD PTR [rcx+12], 0 00011 74 12 je SHORT $LN4@getWindowS ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 00013 83 79 08 00 cmp DWORD PTR [rcx+8], 0 00017 b8 00 00 cf 06 mov eax, 114229248 ; 06cf0000H 0001c ba 00 00 ca 06 mov edx, 113901568 ; 06ca0000H 00021 0f 44 c2 cmove eax, edx ; 64 : } 00024 c3 ret 0 $LN4@getWindowS: ; 59 : else ; 60 : style |= WS_POPUP; ; 61 : } ; 62 : ; 63 : return style; 00025 b8 00 00 0a 86 mov eax, -2046164992 ; 860a0000H ; 64 : } 0002a c3 ret 0 getWindowStyle ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT getWindowExStyle _TEXT SEGMENT window$ = 8 getWindowExStyle PROC ; COMDAT ; 70 : DWORD style = WS_EX_APPWINDOW; ; 71 : ; 72 : if (window->monitor || window->floating) 00000 48 83 79 50 00 cmp QWORD PTR [rcx+80], 0 00005 75 0b jne SHORT $LN3@getWindowE 00007 83 79 14 00 cmp DWORD PTR [rcx+20], 0 ; 73 : style |= WS_EX_TOPMOST; ; 74 : ; 75 : return style; 0000b b8 00 00 04 00 mov eax, 262144 ; 00040000H 00010 74 05 je SHORT $LN2@getWindowE $LN3@getWindowE: 00012 b8 08 00 04 00 mov eax, 262152 ; 00040008H $LN2@getWindowE: ; 76 : } 00017 c3 ret 0 getWindowExStyle ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT chooseImage _TEXT SEGMENT count$ = 16 images$ = 24 width$ = 32 height$ = 40 chooseImage PROC ; COMDAT ; 82 : { 00000 48 89 5c 24 10 mov QWORD PTR [rsp+16], rbx 00005 57 push rdi ; 83 : int i, leastDiff = INT_MAX; ; 84 : const GLFWimage* closest = NULL; 00006 45 33 d2 xor r10d, r10d 00009 41 8b f8 mov edi, r8d 0000c 48 8b da mov rbx, rdx 0000f 41 bb ff ff ff 7f mov r11d, 2147483647 ; 7fffffffH ; 85 : ; 86 : for (i = 0; i < count; i++) 00015 85 c9 test ecx, ecx 00017 7e 4d jle SHORT $LN14@chooseImag 00019 48 89 74 24 10 mov QWORD PTR [rsp+16], rsi 0001e 41 0f af f9 imul edi, r9d 00022 4c 8b ca mov r9, rdx 00025 8b f1 mov esi, ecx 00027 66 0f 1f 84 00 00 00 00 00 npad 9 $LL9@chooseImag: ; 87 : { ; 88 : const int currDiff = abs(images[i].width * images[i].height - 00030 8b 43 04 mov eax, DWORD PTR [rbx+4] 00033 41 8b cb mov ecx, r11d 00036 0f af 03 imul eax, DWORD PTR [rbx] 00039 48 8d 5b 10 lea rbx, QWORD PTR [rbx+16] 0003d 4d 8b c2 mov r8, r10 00040 4d 8b d1 mov r10, r9 00043 2b c7 sub eax, edi 00045 99 cdq 00046 33 c2 xor eax, edx 00048 2b c2 sub eax, edx ; 89 : width * height); ; 90 : if (currDiff < leastDiff) 0004a 41 3b c3 cmp eax, r11d 0004d 44 0f 4c d8 cmovl r11d, eax 00051 3b c1 cmp eax, ecx 00053 4d 0f 4d d0 cmovge r10, r8 00057 49 83 c1 10 add r9, 16 0005b 48 83 ee 01 sub rsi, 1 0005f 75 cf jne SHORT $LL9@chooseImag ; 85 : ; 86 : for (i = 0; i < count; i++) 00061 48 8b 74 24 10 mov rsi, QWORD PTR [rsp+16] $LN14@chooseImag: ; 91 : { ; 92 : closest = images + i; ; 93 : leastDiff = currDiff; ; 94 : } ; 95 : } ; 96 : ; 97 : return closest; ; 98 : } 00066 48 8b 5c 24 18 mov rbx, QWORD PTR [rsp+24] 0006b 49 8b c2 mov rax, r10 0006e 5f pop rdi 0006f c3 ret 0 chooseImage ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT createIcon _TEXT SEGMENT yhot$GSCopy$1$ = 48 target$ = 56 ii$ = 64 bi$ = 96 __$ArrayPad$ = 224 image$ = 320 xhot$ = 328 yhot$ = 336 icon$ = 344 createIcon PROC ; COMDAT ; 103 : { 00000 40 55 push rbp 00002 53 push rbx 00003 56 push rsi 00004 57 push rdi 00005 41 54 push r12 00007 41 55 push r13 00009 41 56 push r14 0000b 41 57 push r15 0000d 48 8d 6c 24 e1 lea rbp, QWORD PTR [rsp-31] 00012 48 81 ec f8 00 00 00 sub rsp, 248 ; 000000f8H 00019 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00020 48 33 c4 xor rax, rsp 00023 48 89 45 07 mov QWORD PTR __$ArrayPad$[rbp-217], rax ; 104 : int i; ; 105 : HDC dc; ; 106 : HICON handle; ; 107 : HBITMAP color, mask; ; 108 : BITMAPV5HEADER bi; ; 109 : ICONINFO ii; ; 110 : unsigned char* target = NULL; ; 111 : unsigned char* source = image->pixels; 00027 4c 8b 69 08 mov r13, QWORD PTR [rcx+8] 0002b 0f 57 c0 xorps xmm0, xmm0 ; 112 : ; 113 : ZeroMemory(&bi, sizeof(bi)); 0002e 33 c0 xor eax, eax 00030 44 89 44 24 30 mov DWORD PTR yhot$GSCopy$1$[rsp], r8d 00035 0f 11 45 87 movups XMMWORD PTR bi$[rbp-217], xmm0 00039 48 89 45 f7 mov QWORD PTR bi$[rbp-105], rax 0003d 48 8b f9 mov rdi, rcx 00040 89 45 ff mov DWORD PTR bi$[rbp-97], eax 00043 33 f6 xor esi, esi ; 114 : bi.bV5Size = sizeof(bi); ; 115 : bi.bV5Width = image->width; 00045 8b 01 mov eax, DWORD PTR [rcx] 00047 45 8b f9 mov r15d, r9d 0004a 89 45 8b mov DWORD PTR bi$[rbp-213], eax 0004d 44 8b e2 mov r12d, edx ; 116 : bi.bV5Height = -image->height; 00050 8b 41 04 mov eax, DWORD PTR [rcx+4] ; 117 : bi.bV5Planes = 1; ; 118 : bi.bV5BitCount = 32; ; 119 : bi.bV5Compression = BI_BITFIELDS; ; 120 : bi.bV5RedMask = 0x00ff0000; ; 121 : bi.bV5GreenMask = 0x0000ff00; ; 122 : bi.bV5BlueMask = 0x000000ff; ; 123 : bi.bV5AlphaMask = 0xff000000; ; 124 : ; 125 : dc = GetDC(NULL); 00053 33 c9 xor ecx, ecx 00055 0f 11 45 a7 movups XMMWORD PTR bi$[rbp-185], xmm0 00059 f7 d8 neg eax 0005b 48 89 74 24 38 mov QWORD PTR target$[rsp], rsi 00060 0f 11 45 b7 movups XMMWORD PTR bi$[rbp-169], xmm0 00064 89 45 8f mov DWORD PTR bi$[rbp-209], eax 00067 0f 11 45 97 movups XMMWORD PTR bi$[rbp-201], xmm0 0006b c7 45 87 7c 00 00 00 mov DWORD PTR bi$[rbp-217], 124 ; 0000007cH 00072 0f 11 45 c7 movups XMMWORD PTR bi$[rbp-153], xmm0 00076 c7 45 93 01 00 20 00 mov DWORD PTR bi$[rbp-205], 2097153 ; 00200001H 0007d 0f 11 45 d7 movups XMMWORD PTR bi$[rbp-137], xmm0 00081 c7 45 97 03 00 00 00 mov DWORD PTR bi$[rbp-201], 3 00088 0f 11 45 e7 movups XMMWORD PTR bi$[rbp-121], xmm0 0008c c7 45 af 00 00 ff 00 mov DWORD PTR bi$[rbp-177], 16711680 ; 00ff0000H 00093 c7 45 b3 00 ff 00 00 mov DWORD PTR bi$[rbp-173], 65280 ; 0000ff00H 0009a c7 45 b7 ff 00 00 00 mov DWORD PTR bi$[rbp-169], 255 ; 000000ffH 000a1 c7 45 bb 00 00 00 ff mov DWORD PTR bi$[rbp-165], -16777216 ; ff000000H 000a8 ff 15 00 00 00 00 call QWORD PTR __imp_GetDC ; 126 : color = CreateDIBSection(dc, 000ae 89 74 24 28 mov DWORD PTR [rsp+40], esi 000b2 4c 8d 4c 24 38 lea r9, QWORD PTR target$[rsp] 000b7 48 8b c8 mov rcx, rax 000ba 48 89 74 24 20 mov QWORD PTR [rsp+32], rsi 000bf 45 33 c0 xor r8d, r8d 000c2 48 8d 55 87 lea rdx, QWORD PTR bi$[rbp-217] 000c6 48 8b d8 mov rbx, rax 000c9 ff 15 00 00 00 00 call QWORD PTR __imp_CreateDIBSection ; 127 : (BITMAPINFO*) &bi, ; 128 : DIB_RGB_COLORS, ; 129 : (void**) &target, ; 130 : NULL, ; 131 : (DWORD) 0); ; 132 : ReleaseDC(NULL, dc); 000cf 48 8b d3 mov rdx, rbx 000d2 33 c9 xor ecx, ecx 000d4 4c 8b f0 mov r14, rax 000d7 ff 15 00 00 00 00 call QWORD PTR __imp_ReleaseDC ; 133 : ; 134 : if (!color) 000dd 4d 85 f6 test r14, r14 000e0 75 18 jne SHORT $LN5@createIcon ; 135 : { ; 136 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 000e2 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CE@GCBEILKL@Win32?3?5Failed?5to?5create?5RGBA?5bi@ 000e9 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 000ee e8 00 00 00 00 call _glfwInputErrorWin32 ; 137 : "Win32: Failed to create RGBA bitmap"); ; 138 : return NULL; 000f3 33 c0 xor eax, eax 000f5 e9 0b 01 00 00 jmp $LN1@createIcon $LN5@createIcon: ; 139 : } ; 140 : ; 141 : mask = CreateBitmap(image->width, image->height, 1, 1, NULL); 000fa 8b 57 04 mov edx, DWORD PTR [rdi+4] 000fd 41 b9 01 00 00 00 mov r9d, 1 00103 8b 0f mov ecx, DWORD PTR [rdi] 00105 45 8b c1 mov r8d, r9d 00108 48 89 74 24 20 mov QWORD PTR [rsp+32], rsi 0010d ff 15 00 00 00 00 call QWORD PTR __imp_CreateBitmap 00113 48 8b f0 mov rsi, rax ; 142 : if (!mask) 00116 48 85 c0 test rax, rax 00119 75 21 jne SHORT $LN6@createIcon ; 143 : { ; 144 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 0011b 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CE@PKGOIGHB@Win32?3?5Failed?5to?5create?5mask?5bi@ 00122 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00127 e8 00 00 00 00 call _glfwInputErrorWin32 ; 145 : "Win32: Failed to create mask bitmap"); ; 146 : DeleteObject(color); 0012c 49 8b ce mov rcx, r14 0012f ff 15 00 00 00 00 call QWORD PTR __imp_DeleteObject ; 147 : return NULL; 00135 33 c0 xor eax, eax 00137 e9 c9 00 00 00 jmp $LN1@createIcon $LN6@createIcon: ; 148 : } ; 149 : ; 150 : for (i = 0; i < image->width * image->height; i++) 0013c 8b 07 mov eax, DWORD PTR [rdi] 0013e 45 33 c0 xor r8d, r8d 00141 0f af 47 04 imul eax, DWORD PTR [rdi+4] 00145 85 c0 test eax, eax 00147 7e 53 jle SHORT $LN3@createIcon 00149 48 8b 54 24 38 mov rdx, QWORD PTR target$[rsp] 0014e 49 8d 45 01 lea rax, QWORD PTR [r13+1] $LL4@createIcon: ; 151 : { ; 152 : target[0] = source[2]; 00152 0f b6 48 01 movzx ecx, BYTE PTR [rax+1] ; 153 : target[1] = source[1]; ; 154 : target[2] = source[0]; ; 155 : target[3] = source[3]; ; 156 : target += 4; ; 157 : source += 4; 00156 48 8d 40 04 lea rax, QWORD PTR [rax+4] 0015a 88 0a mov BYTE PTR [rdx], cl 0015c 41 ff c0 inc r8d 0015f 0f b6 50 fc movzx edx, BYTE PTR [rax-4] 00163 48 8b 4c 24 38 mov rcx, QWORD PTR target$[rsp] 00168 88 51 01 mov BYTE PTR [rcx+1], dl 0016b 0f b6 50 fb movzx edx, BYTE PTR [rax-5] 0016f 48 8b 4c 24 38 mov rcx, QWORD PTR target$[rsp] 00174 88 51 02 mov BYTE PTR [rcx+2], dl 00177 0f b6 50 fe movzx edx, BYTE PTR [rax-2] 0017b 48 8b 4c 24 38 mov rcx, QWORD PTR target$[rsp] 00180 88 51 03 mov BYTE PTR [rcx+3], dl 00183 48 8b 54 24 38 mov rdx, QWORD PTR target$[rsp] 00188 8b 0f mov ecx, DWORD PTR [rdi] 0018a 48 83 c2 04 add rdx, 4 0018e 0f af 4f 04 imul ecx, DWORD PTR [rdi+4] 00192 48 89 54 24 38 mov QWORD PTR target$[rsp], rdx 00197 44 3b c1 cmp r8d, ecx 0019a 7c b6 jl SHORT $LL4@createIcon $LN3@createIcon: ; 158 : } ; 159 : ; 160 : ZeroMemory(&ii, sizeof(ii)); ; 161 : ii.fIcon = icon; ; 162 : ii.xHotspot = xhot; ; 163 : ii.yHotspot = yhot; 0019c 8b 44 24 30 mov eax, DWORD PTR yhot$GSCopy$1$[rsp] ; 164 : ii.hbmMask = mask; ; 165 : ii.hbmColor = color; ; 166 : ; 167 : handle = CreateIconIndirect(&ii); 001a0 48 8d 4c 24 40 lea rcx, QWORD PTR ii$[rsp] 001a5 89 44 24 48 mov DWORD PTR ii$[rsp+8], eax 001a9 c7 44 24 4c 00 00 00 00 mov DWORD PTR ii$[rsp+12], 0 001b1 44 89 7c 24 40 mov DWORD PTR ii$[rsp], r15d 001b6 44 89 64 24 44 mov DWORD PTR ii$[rsp+4], r12d 001bb 48 89 74 24 50 mov QWORD PTR ii$[rsp+16], rsi 001c0 4c 89 74 24 58 mov QWORD PTR ii$[rsp+24], r14 001c5 ff 15 00 00 00 00 call QWORD PTR __imp_CreateIconIndirect ; 168 : ; 169 : DeleteObject(color); 001cb 49 8b ce mov rcx, r14 001ce 48 8b d8 mov rbx, rax 001d1 ff 15 00 00 00 00 call QWORD PTR __imp_DeleteObject ; 170 : DeleteObject(mask); 001d7 48 8b ce mov rcx, rsi 001da ff 15 00 00 00 00 call QWORD PTR __imp_DeleteObject ; 171 : ; 172 : if (!handle) 001e0 48 85 db test rbx, rbx 001e3 75 1d jne SHORT $LN9@createIcon ; 173 : { ; 174 : if (icon) ; 175 : { ; 176 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 001e5 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BN@HJHDCKKP@Win32?3?5Failed?5to?5create?5icon@ 001ec b9 08 00 01 00 mov ecx, 65544 ; 00010008H 001f1 45 85 ff test r15d, r15d 001f4 75 07 jne SHORT $LN20@createIcon ; 177 : "Win32: Failed to create icon"); ; 178 : } ; 179 : else ; 180 : { ; 181 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 001f6 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BP@OHFKOFFD@Win32?3?5Failed?5to?5create?5cursor@ $LN20@createIcon: ; 182 : "Win32: Failed to create cursor"); ; 183 : } ; 184 : } ; 185 : ; 186 : return handle; 001fd e8 00 00 00 00 call _glfwInputErrorWin32 $LN9@createIcon: 00202 48 8b c3 mov rax, rbx $LN1@createIcon: ; 187 : } 00205 48 8b 4d 07 mov rcx, QWORD PTR __$ArrayPad$[rbp-217] 00209 48 33 cc xor rcx, rsp 0020c e8 00 00 00 00 call __security_check_cookie 00211 48 81 c4 f8 00 00 00 add rsp, 248 ; 000000f8H 00218 41 5f pop r15 0021a 41 5e pop r14 0021c 41 5d pop r13 0021e 41 5c pop r12 00220 5f pop rdi 00221 5e pop rsi 00222 5b pop rbx 00223 5d pop rbp 00224 c3 ret 0 createIcon ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT applyAspectRatio _TEXT SEGMENT frame$ = 48 __$ArrayPad$ = 64 window$ = 128 edge$ = 136 area$ = 144 applyAspectRatio PROC ; COMDAT ; 192 : { 00000 4c 8b dc mov r11, rsp 00003 53 push rbx 00004 57 push rdi 00005 48 83 ec 68 sub rsp, 104 ; 00000068H 00009 0f 29 74 24 50 movaps XMMWORD PTR [rsp+80], xmm6 0000e 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00015 48 33 c4 xor rax, rsp 00018 48 89 44 24 40 mov QWORD PTR __$ArrayPad$[rsp], rax ; 46 : if (window->monitor) 0001d 48 83 79 50 00 cmp QWORD PTR [rcx+80], 0 00022 0f 57 c0 xorps xmm0, xmm0 00025 66 0f 6e 71 70 movd xmm6, DWORD PTR [rcx+112] ; 192 : { 0002a 49 8b d8 mov rbx, r8 0002d 66 0f 6e 49 74 movd xmm1, DWORD PTR [rcx+116] 00032 8b fa mov edi, edx 00034 49 89 6b 10 mov QWORD PTR [r11+16], rbp ; 193 : RECT frame = {0}; ; 194 : const float ratio = (float) window->numer / (float) window->denom; 00038 0f 5b f6 cvtdq2ps xmm6, xmm6 0003b 49 89 73 20 mov QWORD PTR [r11+32], rsi 0003f 4d 89 73 e8 mov QWORD PTR [r11-24], r14 00043 4c 8b f1 mov r14, rcx 00046 0f 5b c9 cvtdq2ps xmm1, xmm1 00049 0f 11 44 24 30 movups XMMWORD PTR frame$[rsp], xmm0 0004e f3 0f 5e f1 divss xmm6, xmm1 ; 46 : if (window->monitor) 00052 74 07 je SHORT $LN14@applyAspec ; 47 : style |= WS_POPUP; 00054 bd 00 00 00 86 mov ebp, -2046820352 ; 86000000H 00059 eb 29 jmp SHORT $LN22@applyAspec $LN14@applyAspec: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 0005b 83 79 0c 00 cmp DWORD PTR [rcx+12], 0 0005f be 00 00 04 00 mov esi, 262144 ; 00040000H 00064 74 13 je SHORT $LN16@applyAspec ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 00066 83 79 08 00 cmp DWORD PTR [rcx+8], 0 0006a bd 00 00 cf 06 mov ebp, 114229248 ; 06cf0000H 0006f b8 00 00 ca 06 mov eax, 113901568 ; 06ca0000H 00074 0f 44 e8 cmove ebp, eax 00077 eb 05 jmp SHORT $LN24@applyAspec $LN16@applyAspec: ; 59 : else ; 60 : style |= WS_POPUP; 00079 bd 00 00 0a 86 mov ebp, -2046164992 ; 860a0000H $LN24@applyAspec: ; 72 : if (window->monitor || window->floating) 0007e 83 79 14 00 cmp DWORD PTR [rcx+20], 0 00082 74 05 je SHORT $LN21@applyAspec $LN22@applyAspec: ; 73 : style |= WS_EX_TOPMOST; 00084 be 08 00 04 00 mov esi, 262152 ; 00040008H $LN21@applyAspec: ; 195 : const DWORD style = getWindowStyle(window); ; 196 : const DWORD exStyle = getWindowExStyle(window); ; 197 : ; 198 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 00089 b9 39 38 00 00 mov ecx, 14393 ; 00003839H 0008e e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 00093 85 c0 test eax, eax 00095 74 26 je SHORT $LN2@applyAspec ; 199 : { ; 200 : AdjustWindowRectExForDpi(&frame, style, FALSE, exStyle, 00097 49 8b 8e 58 03 00 00 mov rcx, QWORD PTR [r14+856] 0009e ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 000a4 44 8b ce mov r9d, esi 000a7 48 8d 4c 24 30 lea rcx, QWORD PTR frame$[rsp] 000ac 45 33 c0 xor r8d, r8d 000af 89 44 24 20 mov DWORD PTR [rsp+32], eax 000b3 8b d5 mov edx, ebp 000b5 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 201 : GetDpiForWindow(window->win32.handle)); ; 202 : } 000bb eb 13 jmp SHORT $LN3@applyAspec $LN2@applyAspec: ; 203 : else ; 204 : AdjustWindowRectEx(&frame, style, FALSE, exStyle); 000bd 44 8b ce mov r9d, esi 000c0 48 8d 4c 24 30 lea rcx, QWORD PTR frame$[rsp] 000c5 45 33 c0 xor r8d, r8d 000c8 8b d5 mov edx, ebp 000ca 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) 000d0 4c 8b 74 24 60 mov r14, QWORD PTR [rsp+96] 000d5 8d 47 ff lea eax, DWORD PTR [rdi-1] 000d8 48 8b b4 24 98 00 00 00 mov rsi, QWORD PTR [rsp+152] 000e0 48 8b ac 24 88 00 00 00 mov rbp, QWORD PTR [rsp+136] 000e8 83 f8 01 cmp eax, 1 000eb 76 78 jbe SHORT $LN6@applyAspec 000ed 8d 47 f9 lea eax, DWORD PTR [rdi-7] 000f0 83 f8 01 cmp eax, 1 000f3 76 70 jbe SHORT $LN6@applyAspec ; 210 : (int) (((area->right - area->left) - (frame.right - frame.left)) / ratio); ; 211 : } ; 212 : else if (edge == WMSZ_TOPLEFT || edge == WMSZ_TOPRIGHT) 000f5 8d 47 fc lea eax, DWORD PTR [rdi-4] 000f8 83 f8 01 cmp eax, 1 000fb 76 3a jbe SHORT $LN9@applyAspec ; 217 : else if (edge == WMSZ_TOP || edge == WMSZ_BOTTOM) 000fd 83 ff 03 cmp edi, 3 00100 74 09 je SHORT $LN11@applyAspec 00102 83 ff 06 cmp edi, 6 00105 0f 85 84 00 00 00 jne $LN10@applyAspec $LN11@applyAspec: ; 218 : { ; 219 : area->right = area->left + (frame.right - frame.left) + 0010b 8b 43 0c mov eax, DWORD PTR [rbx+12] 0010e 2b 43 04 sub eax, DWORD PTR [rbx+4] 00111 2b 44 24 3c sub eax, DWORD PTR frame$[rsp+12] 00115 03 44 24 34 add eax, DWORD PTR frame$[rsp+4] 00119 66 0f 6e c0 movd xmm0, eax 0011d 0f 5b c0 cvtdq2ps xmm0, xmm0 00120 f3 0f 59 c6 mulss xmm0, xmm6 00124 f3 0f 2c c0 cvttss2si eax, xmm0 00128 2b 44 24 30 sub eax, DWORD PTR frame$[rsp] 0012c 03 03 add eax, DWORD PTR [rbx] 0012e 03 44 24 38 add eax, DWORD PTR frame$[rsp+8] 00132 89 43 08 mov DWORD PTR [rbx+8], eax 00135 eb 58 jmp SHORT $LN10@applyAspec $LN9@applyAspec: ; 213 : { ; 214 : area->top = area->bottom - (frame.bottom - frame.top) - 00137 8b 43 08 mov eax, DWORD PTR [rbx+8] 0013a 2b 03 sub eax, DWORD PTR [rbx] 0013c 2b 44 24 38 sub eax, DWORD PTR frame$[rsp+8] 00140 03 44 24 30 add eax, DWORD PTR frame$[rsp] 00144 8b 4b 0c mov ecx, DWORD PTR [rbx+12] 00147 66 0f 6e c0 movd xmm0, eax 0014b 0f 5b c0 cvtdq2ps xmm0, xmm0 0014e f3 0f 5e c6 divss xmm0, xmm6 00152 f3 0f 2c c0 cvttss2si eax, xmm0 00156 2b c8 sub ecx, eax 00158 2b 4c 24 3c sub ecx, DWORD PTR frame$[rsp+12] 0015c 03 4c 24 34 add ecx, DWORD PTR frame$[rsp+4] 00160 89 4b 04 mov DWORD PTR [rbx+4], ecx ; 215 : (int) (((area->right - area->left) - (frame.right - frame.left)) / ratio); ; 216 : } 00163 eb 2a jmp SHORT $LN10@applyAspec $LN6@applyAspec: ; 208 : { ; 209 : area->bottom = area->top + (frame.bottom - frame.top) + 00165 8b 43 08 mov eax, DWORD PTR [rbx+8] 00168 2b 03 sub eax, DWORD PTR [rbx] 0016a 2b 44 24 38 sub eax, DWORD PTR frame$[rsp+8] 0016e 03 44 24 30 add eax, DWORD PTR frame$[rsp] 00172 66 0f 6e c0 movd xmm0, eax 00176 0f 5b c0 cvtdq2ps xmm0, xmm0 00179 f3 0f 5e c6 divss xmm0, xmm6 0017d f3 0f 2c c0 cvttss2si eax, xmm0 00181 03 43 04 add eax, DWORD PTR [rbx+4] 00184 2b 44 24 34 sub eax, DWORD PTR frame$[rsp+4] 00188 03 44 24 3c add eax, DWORD PTR frame$[rsp+12] 0018c 89 43 0c mov DWORD PTR [rbx+12], eax $LN10@applyAspec: ; 220 : (int) (((area->bottom - area->top) - (frame.bottom - frame.top)) * ratio); ; 221 : } ; 222 : } 0018f 48 8b 4c 24 40 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00194 48 33 cc xor rcx, rsp 00197 e8 00 00 00 00 call __security_check_cookie 0019c 0f 28 74 24 50 movaps xmm6, XMMWORD PTR [rsp+80] 001a1 48 83 c4 68 add rsp, 104 ; 00000068H 001a5 5f pop rdi 001a6 5b pop rbx 001a7 c3 ret 0 applyAspectRatio ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT updateCursorImage _TEXT SEGMENT window$ = 48 updateCursorImage PROC ; COMDAT ; 227 : { 00000 48 83 ec 28 sub rsp, 40 ; 00000028H ; 228 : if (window->cursorMode == GLFW_CURSOR_NORMAL || 00004 8b 81 84 00 00 00 mov eax, DWORD PTR [rcx+132] 0000a 3d 01 40 03 00 cmp eax, 212993 ; 00034001H 0000f 74 14 je SHORT $LN4@updateCurs 00011 3d 04 40 03 00 cmp eax, 212996 ; 00034004H 00016 74 0d je SHORT $LN4@updateCurs ; 235 : } ; 236 : else ; 237 : SetCursor(NULL); 00018 33 c9 xor ecx, ecx ; 238 : } 0001a 48 83 c4 28 add rsp, 40 ; 00000028H 0001e 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_SetCursor $LN4@updateCurs: ; 229 : window->cursorMode == GLFW_CURSOR_CAPTURED) ; 230 : { ; 231 : if (window->cursor) 00025 48 8b 49 58 mov rcx, QWORD PTR [rcx+88] 00029 48 85 c9 test rcx, rcx 0002c 74 0f je SHORT $LN5@updateCurs ; 232 : SetCursor(window->cursor->win32.handle); 0002e 48 8b 49 08 mov rcx, QWORD PTR [rcx+8] ; 238 : } 00032 48 83 c4 28 add rsp, 40 ; 00000028H 00036 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_SetCursor $LN5@updateCurs: ; 233 : else ; 234 : SetCursor(LoadCursorW(NULL, IDC_ARROW)); 0003d ba 00 7f 00 00 mov edx, 32512 ; 00007f00H 00042 33 c9 xor ecx, ecx 00044 ff 15 00 00 00 00 call QWORD PTR __imp_LoadCursorW 0004a 48 8b c8 mov rcx, rax ; 238 : } 0004d 48 83 c4 28 add rsp, 40 ; 00000028H 00051 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_SetCursor updateCursorImage ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT captureCursor _TEXT SEGMENT clipRect$ = 32 __$ArrayPad$ = 48 window$ = 80 captureCursor PROC ; COMDAT ; 243 : { 00000 40 53 push rbx 00002 48 83 ec 40 sub rsp, 64 ; 00000040H 00006 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000d 48 33 c4 xor rax, rsp 00010 48 89 44 24 30 mov QWORD PTR __$ArrayPad$[rsp], rax 00015 48 8b d9 mov rbx, rcx ; 244 : RECT clipRect; ; 245 : GetClientRect(window->win32.handle, &clipRect); 00018 48 8d 54 24 20 lea rdx, QWORD PTR clipRect$[rsp] 0001d 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00024 ff 15 00 00 00 00 call QWORD PTR __imp_GetClientRect ; 246 : ClientToScreen(window->win32.handle, (POINT*) &clipRect.left); 0002a 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00031 48 8d 54 24 20 lea rdx, QWORD PTR clipRect$[rsp] 00036 ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 247 : ClientToScreen(window->win32.handle, (POINT*) &clipRect.right); 0003c 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00043 48 8d 54 24 28 lea rdx, QWORD PTR clipRect$[rsp+8] 00048 ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 248 : ClipCursor(&clipRect); 0004e 48 8d 4c 24 20 lea rcx, QWORD PTR clipRect$[rsp] 00053 ff 15 00 00 00 00 call QWORD PTR __imp_ClipCursor ; 249 : _glfw.win32.capturedCursorWindow = window; 00059 48 89 1d 50 29 00 00 mov QWORD PTR _glfw+10576, rbx ; 250 : } 00060 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00065 48 33 cc xor rcx, rsp 00068 e8 00 00 00 00 call __security_check_cookie 0006d 48 83 c4 40 add rsp, 64 ; 00000040H 00071 5b pop rbx 00072 c3 ret 0 captureCursor ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT releaseCursor _TEXT SEGMENT releaseCursor PROC ; COMDAT ; 255 : { 00000 48 83 ec 28 sub rsp, 40 ; 00000028H ; 256 : ClipCursor(NULL); 00004 33 c9 xor ecx, ecx 00006 ff 15 00 00 00 00 call QWORD PTR __imp_ClipCursor ; 257 : _glfw.win32.capturedCursorWindow = NULL; 0000c 48 c7 05 50 29 00 00 00 00 00 00 mov QWORD PTR _glfw+10576, 0 ; 258 : } 00017 48 83 c4 28 add rsp, 40 ; 00000028H 0001b c3 ret 0 releaseCursor ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT enableRawMouseMotion _TEXT SEGMENT rid$ = 32 __$ArrayPad$ = 48 window$ = 80 enableRawMouseMotion PROC ; COMDAT ; 263 : { 00000 48 83 ec 48 sub rsp, 72 ; 00000048H 00004 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000b 48 33 c4 xor rax, rsp 0000e 48 89 44 24 30 mov QWORD PTR __$ArrayPad$[rsp], rax ; 264 : const RAWINPUTDEVICE rid = { 0x01, 0x02, 0, window->win32.handle }; 00013 48 8b 81 58 03 00 00 mov rax, QWORD PTR [rcx+856] 0001a ba 01 00 00 00 mov edx, 1 ; 265 : ; 266 : if (!RegisterRawInputDevices(&rid, 1, sizeof(rid))) 0001f 48 8d 4c 24 20 lea rcx, QWORD PTR rid$[rsp] 00024 48 c7 44 24 20 01 00 02 00 mov QWORD PTR rid$[rsp], 131073 ; 00020001H 0002d 48 89 44 24 28 mov QWORD PTR rid$[rsp+8], rax 00032 44 8d 42 0f lea r8d, QWORD PTR [rdx+15] 00036 ff 15 00 00 00 00 call QWORD PTR __imp_RegisterRawInputDevices 0003c 85 c0 test eax, eax 0003e 75 11 jne SHORT $LN2@enableRawM ; 267 : { ; 268 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00040 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CL@GPJNIICL@Win32?3?5Failed?5to?5register?5raw?5i@ 00047 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 0004c e8 00 00 00 00 call _glfwInputErrorWin32 $LN2@enableRawM: ; 269 : "Win32: Failed to register raw input device"); ; 270 : } ; 271 : } 00051 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00056 48 33 cc xor rcx, rsp 00059 e8 00 00 00 00 call __security_check_cookie 0005e 48 83 c4 48 add rsp, 72 ; 00000048H 00062 c3 ret 0 enableRawMouseMotion ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT disableRawMouseMotion _TEXT SEGMENT rid$ = 32 __$ArrayPad$ = 48 window$dead$ = 80 disableRawMouseMotion PROC ; COMDAT ; 276 : { 00000 48 83 ec 48 sub rsp, 72 ; 00000048H 00004 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000b 48 33 c4 xor rax, rsp 0000e 48 89 44 24 30 mov QWORD PTR __$ArrayPad$[rsp], rax ; 277 : const RAWINPUTDEVICE rid = { 0x01, 0x02, RIDEV_REMOVE, NULL }; 00013 ba 01 00 00 00 mov edx, 1 00018 c7 44 24 20 01 00 02 00 mov DWORD PTR rid$[rsp], 131073 ; 00020001H ; 278 : ; 279 : if (!RegisterRawInputDevices(&rid, 1, sizeof(rid))) 00020 48 8d 4c 24 20 lea rcx, QWORD PTR rid$[rsp] 00025 89 54 24 24 mov DWORD PTR rid$[rsp+4], edx 00029 48 c7 44 24 28 00 00 00 00 mov QWORD PTR rid$[rsp+8], 0 00032 44 8d 42 0f lea r8d, QWORD PTR [rdx+15] 00036 ff 15 00 00 00 00 call QWORD PTR __imp_RegisterRawInputDevices 0003c 85 c0 test eax, eax 0003e 75 11 jne SHORT $LN2@disableRaw ; 280 : { ; 281 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00040 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CJ@JFEDIEDE@Win32?3?5Failed?5to?5remove?5raw?5inp@ 00047 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 0004c e8 00 00 00 00 call _glfwInputErrorWin32 $LN2@disableRaw: ; 282 : "Win32: Failed to remove raw input device"); ; 283 : } ; 284 : } 00051 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00056 48 33 cc xor rcx, rsp 00059 e8 00 00 00 00 call __security_check_cookie 0005e 48 83 c4 48 add rsp, 72 ; 00000048H 00062 c3 ret 0 disableRawMouseMotion ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT disableCursor _TEXT SEGMENT rid$1 = 32 clipRect$2 = 32 width$3 = 32 pos$4 = 32 height$5 = 48 __$ArrayPad$ = 56 window$ = 80 disableCursor PROC ; COMDAT ; 289 : { 00000 48 89 5c 24 10 mov QWORD PTR [rsp+16], rbx 00005 57 push rdi 00006 48 83 ec 40 sub rsp, 64 ; 00000040H 0000a 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00011 48 33 c4 xor rax, rsp 00014 48 89 44 24 38 mov QWORD PTR __$ArrayPad$[rsp], rax 00019 48 8b d9 mov rbx, rcx ; 290 : _glfw.win32.disabledCursorWindow = window; 0001c 48 89 0d 48 29 00 00 mov QWORD PTR _glfw+10568, rcx ; 2138 : if (GetCursorPos(&pos)) 00023 48 8d 4c 24 20 lea rcx, QWORD PTR pos$4[rsp] 00028 ff 15 00 00 00 00 call QWORD PTR __imp_GetCursorPos 0002e 85 c0 test eax, eax 00030 74 36 je SHORT $LN23@disableCur ; 2139 : { ; 2140 : ScreenToClient(window->win32.handle, &pos); 00032 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00039 48 8d 54 24 20 lea rdx, QWORD PTR pos$4[rsp] 0003e ff 15 00 00 00 00 call QWORD PTR __imp_ScreenToClient 00044 66 0f 6e 44 24 20 movd xmm0, DWORD PTR pos$4[rsp] 0004a 66 0f 6e 4c 24 24 movd xmm1, DWORD PTR pos$4[rsp+4] ; 2141 : ; 2142 : if (xpos) ; 2143 : *xpos = pos.x; 00050 f3 0f e6 c0 cvtdq2pd xmm0, xmm0 ; 2144 : if (ypos) ; 2145 : *ypos = pos.y; 00054 f3 0f e6 c9 cvtdq2pd xmm1, xmm1 00058 f2 0f 11 05 38 29 00 00 movsd QWORD PTR _glfw+10552, xmm0 00060 f2 0f 11 0d 40 29 00 00 movsd QWORD PTR _glfw+10560, xmm1 $LN23@disableCur: ; 228 : if (window->cursorMode == GLFW_CURSOR_NORMAL || 00068 8b 83 84 00 00 00 mov eax, DWORD PTR [rbx+132] 0006e 3d 01 40 03 00 cmp eax, 212993 ; 00034001H 00073 74 0b je SHORT $LN12@disableCur 00075 3d 04 40 03 00 cmp eax, 212996 ; 00034004H 0007a 74 04 je SHORT $LN12@disableCur ; 235 : } ; 236 : else ; 237 : SetCursor(NULL); 0007c 33 c9 xor ecx, ecx 0007e eb 1f jmp SHORT $LN30@disableCur $LN12@disableCur: ; 229 : window->cursorMode == GLFW_CURSOR_CAPTURED) ; 230 : { ; 231 : if (window->cursor) 00080 48 8b 4b 58 mov rcx, QWORD PTR [rbx+88] 00084 48 85 c9 test rcx, rcx 00087 74 06 je SHORT $LN13@disableCur ; 232 : SetCursor(window->cursor->win32.handle); 00089 48 8b 49 08 mov rcx, QWORD PTR [rcx+8] 0008d eb 10 jmp SHORT $LN30@disableCur $LN13@disableCur: ; 233 : else ; 234 : SetCursor(LoadCursorW(NULL, IDC_ARROW)); 0008f ba 00 7f 00 00 mov edx, 32512 ; 00007f00H 00094 33 c9 xor ecx, ecx 00096 ff 15 00 00 00 00 call QWORD PTR __imp_LoadCursorW 0009c 48 8b c8 mov rcx, rax $LN30@disableCur: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 552 : _glfw.platform.getWindowSize(window, &width, &height); 0009f ff 15 00 00 00 00 call QWORD PTR __imp_SetCursor 000a5 4c 8d 44 24 30 lea r8, QWORD PTR height$5[rsp] 000aa 48 8b cb mov rcx, rbx 000ad 48 8d 54 24 20 lea rdx, QWORD PTR width$3[rsp] 000b2 ff 15 40 01 00 00 call QWORD PTR _glfw+320 000b8 66 0f 6e 54 24 30 movd xmm2, DWORD PTR height$5[rsp] ; 553 : _glfw.platform.setCursorPos(window, width / 2.0, height / 2.0); 000be 48 8b cb mov rcx, rbx 000c1 66 0f 6e 4c 24 20 movd xmm1, DWORD PTR width$3[rsp] 000c7 f3 0f e6 d2 cvtdq2pd xmm2, xmm2 000cb f3 0f e6 c9 cvtdq2pd xmm1, xmm1 000cf f2 0f 59 15 00 00 00 00 mulsd xmm2, QWORD PTR __real@3fe0000000000000 000d7 f2 0f 59 0d 00 00 00 00 mulsd xmm1, QWORD PTR __real@3fe0000000000000 000df ff 15 48 00 00 00 call QWORD PTR _glfw+72 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 245 : GetClientRect(window->win32.handle, &clipRect); 000e5 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 000ec 48 8d 54 24 20 lea rdx, QWORD PTR clipRect$2[rsp] 000f1 ff 15 00 00 00 00 call QWORD PTR __imp_GetClientRect ; 246 : ClientToScreen(window->win32.handle, (POINT*) &clipRect.left); 000f7 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 000fe 48 8d 54 24 20 lea rdx, QWORD PTR clipRect$2[rsp] 00103 ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 247 : ClientToScreen(window->win32.handle, (POINT*) &clipRect.right); 00109 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00110 48 8d 54 24 28 lea rdx, QWORD PTR clipRect$2[rsp+8] 00115 ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 248 : ClipCursor(&clipRect); 0011b 48 8d 4c 24 20 lea rcx, QWORD PTR clipRect$2[rsp] 00120 ff 15 00 00 00 00 call QWORD PTR __imp_ClipCursor ; 249 : _glfw.win32.capturedCursorWindow = window; 00126 48 89 1d 50 29 00 00 mov QWORD PTR _glfw+10576, rbx ; 291 : _glfwGetCursorPosWin32(window, ; 292 : &_glfw.win32.restoreCursorPosX, ; 293 : &_glfw.win32.restoreCursorPosY); ; 294 : updateCursorImage(window); ; 295 : _glfwCenterCursorInContentArea(window); ; 296 : captureCursor(window); ; 297 : ; 298 : if (window->rawMouseMotion) 0012d 83 bb 00 02 00 00 00 cmp DWORD PTR [rbx+512], 0 00134 74 3e je SHORT $LN21@disableCur ; 264 : const RAWINPUTDEVICE rid = { 0x01, 0x02, 0, window->win32.handle }; 00136 48 8b 83 58 03 00 00 mov rax, QWORD PTR [rbx+856] ; 265 : ; 266 : if (!RegisterRawInputDevices(&rid, 1, sizeof(rid))) 0013d 48 8d 4c 24 20 lea rcx, QWORD PTR rid$1[rsp] 00142 ba 01 00 00 00 mov edx, 1 00147 48 c7 44 24 20 01 00 02 00 mov QWORD PTR rid$1[rsp], 131073 ; 00020001H 00150 48 89 44 24 28 mov QWORD PTR rid$1[rsp+8], rax 00155 44 8d 42 0f lea r8d, QWORD PTR [rdx+15] 00159 ff 15 00 00 00 00 call QWORD PTR __imp_RegisterRawInputDevices 0015f 85 c0 test eax, eax 00161 75 11 jne SHORT $LN21@disableCur ; 267 : { ; 268 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 00163 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CL@GPJNIICL@Win32?3?5Failed?5to?5register?5raw?5i@ 0016a b9 08 00 01 00 mov ecx, 65544 ; 00010008H 0016f e8 00 00 00 00 call _glfwInputErrorWin32 $LN21@disableCur: ; 299 : enableRawMouseMotion(window); ; 300 : } 00174 48 8b 4c 24 38 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00179 48 33 cc xor rcx, rsp 0017c e8 00 00 00 00 call __security_check_cookie 00181 48 8b 5c 24 58 mov rbx, QWORD PTR [rsp+88] 00186 48 83 c4 40 add rsp, 64 ; 00000040H 0018a 5f pop rdi 0018b c3 ret 0 disableCursor ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT enableCursor _TEXT SEGMENT pos$1 = 32 rid$2 = 32 __$ArrayPad$ = 48 window$ = 80 enableCursor PROC ; COMDAT ; 305 : { 00000 40 53 push rbx 00002 48 83 ec 40 sub rsp, 64 ; 00000040H 00006 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000d 48 33 c4 xor rax, rsp 00010 48 89 44 24 30 mov QWORD PTR __$ArrayPad$[rsp], rax ; 306 : if (window->rawMouseMotion) 00015 83 b9 00 02 00 00 00 cmp DWORD PTR [rcx+512], 0 0001c 48 8b d9 mov rbx, rcx 0001f 74 3e je SHORT $LN5@enableCurs ; 277 : const RAWINPUTDEVICE rid = { 0x01, 0x02, RIDEV_REMOVE, NULL }; 00021 ba 01 00 00 00 mov edx, 1 00026 c7 44 24 20 01 00 02 00 mov DWORD PTR rid$2[rsp], 131073 ; 00020001H ; 278 : ; 279 : if (!RegisterRawInputDevices(&rid, 1, sizeof(rid))) 0002e 48 8d 4c 24 20 lea rcx, QWORD PTR rid$2[rsp] 00033 89 54 24 24 mov DWORD PTR rid$2[rsp+4], edx 00037 48 c7 44 24 28 00 00 00 00 mov QWORD PTR rid$2[rsp+8], 0 00040 44 8d 42 0f lea r8d, QWORD PTR [rdx+15] 00044 ff 15 00 00 00 00 call QWORD PTR __imp_RegisterRawInputDevices 0004a 85 c0 test eax, eax 0004c 75 11 jne SHORT $LN5@enableCurs ; 280 : { ; 281 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 0004e 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CJ@JFEDIEDE@Win32?3?5Failed?5to?5remove?5raw?5inp@ 00055 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 0005a e8 00 00 00 00 call _glfwInputErrorWin32 $LN5@enableCurs: ; 256 : ClipCursor(NULL); 0005f 33 c9 xor ecx, ecx ; 307 : disableRawMouseMotion(window); ; 308 : ; 309 : _glfw.win32.disabledCursorWindow = NULL; 00061 48 c7 05 48 29 00 00 00 00 00 00 mov QWORD PTR _glfw+10568, 0 ; 256 : ClipCursor(NULL); 0006c ff 15 00 00 00 00 call QWORD PTR __imp_ClipCursor ; 2151 : POINT pos = { (int) xpos, (int) ypos }; 00072 f2 0f 2c 0d 38 29 00 00 cvttsd2si ecx, QWORD PTR _glfw+10552 ; 257 : _glfw.win32.capturedCursorWindow = NULL; 0007a 48 c7 05 50 29 00 00 00 00 00 00 mov QWORD PTR _glfw+10576, 0 ; 2157 : ClientToScreen(window->win32.handle, &pos); 00085 48 8d 54 24 20 lea rdx, QWORD PTR pos$1[rsp] 0008a f2 0f 2c 05 40 29 00 00 cvttsd2si eax, QWORD PTR _glfw+10560 00092 89 4c 24 20 mov DWORD PTR pos$1[rsp], ecx 00096 89 8b 94 03 00 00 mov DWORD PTR [rbx+916], ecx 0009c 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 000a3 89 44 24 24 mov DWORD PTR pos$1[rsp+4], eax 000a7 89 83 98 03 00 00 mov DWORD PTR [rbx+920], eax 000ad ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 2158 : SetCursorPos(pos.x, pos.y); 000b3 8b 54 24 24 mov edx, DWORD PTR pos$1[rsp+4] 000b7 8b 4c 24 20 mov ecx, DWORD PTR pos$1[rsp] 000bb ff 15 00 00 00 00 call QWORD PTR __imp_SetCursorPos ; 228 : if (window->cursorMode == GLFW_CURSOR_NORMAL || 000c1 8b 83 84 00 00 00 mov eax, DWORD PTR [rbx+132] 000c7 3d 01 40 03 00 cmp eax, 212993 ; 00034001H 000cc 74 0b je SHORT $LN14@enableCurs 000ce 3d 04 40 03 00 cmp eax, 212996 ; 00034004H 000d3 74 04 je SHORT $LN14@enableCurs ; 235 : } ; 236 : else ; 237 : SetCursor(NULL); 000d5 33 c9 xor ecx, ecx 000d7 eb 1f jmp SHORT $LN23@enableCurs $LN14@enableCurs: ; 229 : window->cursorMode == GLFW_CURSOR_CAPTURED) ; 230 : { ; 231 : if (window->cursor) 000d9 48 8b 4b 58 mov rcx, QWORD PTR [rbx+88] 000dd 48 85 c9 test rcx, rcx 000e0 74 06 je SHORT $LN15@enableCurs ; 232 : SetCursor(window->cursor->win32.handle); 000e2 48 8b 49 08 mov rcx, QWORD PTR [rcx+8] 000e6 eb 10 jmp SHORT $LN23@enableCurs $LN15@enableCurs: ; 233 : else ; 234 : SetCursor(LoadCursorW(NULL, IDC_ARROW)); 000e8 ba 00 7f 00 00 mov edx, 32512 ; 00007f00H 000ed 33 c9 xor ecx, ecx 000ef ff 15 00 00 00 00 call QWORD PTR __imp_LoadCursorW 000f5 48 8b c8 mov rcx, rax $LN23@enableCurs: ; 310 : releaseCursor(); ; 311 : _glfwSetCursorPosWin32(window, ; 312 : _glfw.win32.restoreCursorPosX, ; 313 : _glfw.win32.restoreCursorPosY); ; 314 : updateCursorImage(window); ; 315 : } 000f8 ff 15 00 00 00 00 call QWORD PTR __imp_SetCursor 000fe 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00103 48 33 cc xor rcx, rsp 00106 e8 00 00 00 00 call __security_check_cookie 0010b 48 83 c4 40 add rsp, 64 ; 00000040H 0010f 5b pop rbx 00110 c3 ret 0 enableCursor ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT cursorInContentArea _TEXT SEGMENT pos$ = 32 area$ = 40 __$ArrayPad$ = 56 window$ = 80 cursorInContentArea PROC ; COMDAT ; 320 : { 00000 48 89 5c 24 10 mov QWORD PTR [rsp+16], rbx 00005 57 push rdi 00006 48 83 ec 40 sub rsp, 64 ; 00000040H 0000a 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00011 48 33 c4 xor rax, rsp 00014 48 89 44 24 38 mov QWORD PTR __$ArrayPad$[rsp], rax 00019 48 8b d9 mov rbx, rcx ; 321 : RECT area; ; 322 : POINT pos; ; 323 : ; 324 : if (!GetCursorPos(&pos)) 0001c 48 8d 4c 24 20 lea rcx, QWORD PTR pos$[rsp] 00021 ff 15 00 00 00 00 call QWORD PTR __imp_GetCursorPos 00027 85 c0 test eax, eax 00029 74 5b je SHORT $LN5@cursorInCo ; 325 : return GLFW_FALSE; ; 326 : ; 327 : if (WindowFromPoint(pos) != window->win32.handle) 0002b 48 8b 4c 24 20 mov rcx, QWORD PTR pos$[rsp] 00030 48 8b bb 58 03 00 00 mov rdi, QWORD PTR [rbx+856] 00037 ff 15 00 00 00 00 call QWORD PTR __imp_WindowFromPoint 0003d 48 3b c7 cmp rax, rdi 00040 75 44 jne SHORT $LN5@cursorInCo ; 329 : ; 330 : GetClientRect(window->win32.handle, &area); 00042 48 8d 54 24 28 lea rdx, QWORD PTR area$[rsp] 00047 48 8b cf mov rcx, rdi 0004a ff 15 00 00 00 00 call QWORD PTR __imp_GetClientRect ; 331 : ClientToScreen(window->win32.handle, (POINT*) &area.left); 00050 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00057 48 8d 54 24 28 lea rdx, QWORD PTR area$[rsp] 0005c ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 332 : ClientToScreen(window->win32.handle, (POINT*) &area.right); 00062 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00069 48 8d 54 24 30 lea rdx, QWORD PTR area$[rsp+8] 0006e ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 333 : ; 334 : return PtInRect(&area, pos); 00074 48 8b 54 24 20 mov rdx, QWORD PTR pos$[rsp] 00079 48 8d 4c 24 28 lea rcx, QWORD PTR area$[rsp] 0007e ff 15 00 00 00 00 call QWORD PTR __imp_PtInRect 00084 eb 02 jmp SHORT $LN1@cursorInCo $LN5@cursorInCo: ; 328 : return GLFW_FALSE; 00086 33 c0 xor eax, eax $LN1@cursorInCo: ; 335 : } 00088 48 8b 4c 24 38 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0008d 48 33 cc xor rcx, rsp 00090 e8 00 00 00 00 call __security_check_cookie 00095 48 8b 5c 24 58 mov rbx, QWORD PTR [rsp+88] 0009a 48 83 c4 40 add rsp, 64 ; 00000040H 0009e 5f pop rdi 0009f c3 ret 0 cursorInContentArea ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT updateWindowStyles _TEXT SEGMENT rect$ = 64 __$ArrayPad$ = 80 window$ = 112 updateWindowStyles PROC ; COMDAT ; 340 : { 00000 48 89 5c 24 18 mov QWORD PTR [rsp+24], rbx 00005 56 push rsi 00006 48 83 ec 60 sub rsp, 96 ; 00000060H 0000a 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00011 48 33 c4 xor rax, rsp 00014 48 89 44 24 50 mov QWORD PTR __$ArrayPad$[rsp], rax 00019 48 8b d9 mov rbx, rcx ; 341 : RECT rect; ; 342 : DWORD style = GetWindowLongW(window->win32.handle, GWL_STYLE); 0001c ba f0 ff ff ff mov edx, -16 00021 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00028 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW 0002e 8b f0 mov esi, eax ; 343 : style &= ~(WS_OVERLAPPEDWINDOW | WS_POPUP); 00030 81 e6 ff ff 30 7f and esi, 2133917695 ; 7f30ffffH ; 46 : if (window->monitor) 00036 48 83 7b 50 00 cmp QWORD PTR [rbx+80], 0 0003b 74 07 je SHORT $LN6@updateWind ; 47 : style |= WS_POPUP; 0003d b8 00 00 00 86 mov eax, -2046820352 ; 86000000H 00042 eb 1e jmp SHORT $LN9@updateWind $LN6@updateWind: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 00044 83 7b 0c 00 cmp DWORD PTR [rbx+12], 0 00048 74 13 je SHORT $LN8@updateWind ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 0004a 83 7b 08 00 cmp DWORD PTR [rbx+8], 0 0004e b8 00 00 cf 06 mov eax, 114229248 ; 06cf0000H 00053 b9 00 00 ca 06 mov ecx, 113901568 ; 06ca0000H 00058 0f 44 c1 cmove eax, ecx 0005b eb 05 jmp SHORT $LN9@updateWind $LN8@updateWind: ; 59 : else ; 60 : style |= WS_POPUP; 0005d b8 00 00 0a 86 mov eax, -2046164992 ; 860a0000H $LN9@updateWind: ; 344 : style |= getWindowStyle(window); ; 345 : ; 346 : GetClientRect(window->win32.handle, &rect); 00062 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00069 48 8d 54 24 40 lea rdx, QWORD PTR rect$[rsp] 0006e 48 89 7c 24 78 mov QWORD PTR [rsp+120], rdi 00073 0b f0 or esi, eax 00075 ff 15 00 00 00 00 call QWORD PTR __imp_GetClientRect ; 347 : ; 348 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 0007b b9 39 38 00 00 mov ecx, 14393 ; 00003839H 00080 e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 00085 48 8b 4b 50 mov rcx, QWORD PTR [rbx+80] 00089 bf 00 00 04 00 mov edi, 262144 ; 00040000H 0008e 85 c0 test eax, eax 00090 74 35 je SHORT $LN2@updateWind ; 72 : if (window->monitor || window->floating) 00092 48 85 c9 test rcx, rcx 00095 75 05 jne SHORT $LN14@updateWind 00097 39 4b 14 cmp DWORD PTR [rbx+20], ecx 0009a 74 05 je SHORT $LN13@updateWind $LN14@updateWind: ; 73 : style |= WS_EX_TOPMOST; 0009c bf 08 00 04 00 mov edi, 262152 ; 00040008H $LN13@updateWind: ; 349 : { ; 350 : AdjustWindowRectExForDpi(&rect, style, FALSE, 000a1 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 000a8 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 000ae 44 8b cf mov r9d, edi 000b1 48 8d 4c 24 40 lea rcx, QWORD PTR rect$[rsp] 000b6 45 33 c0 xor r8d, r8d 000b9 89 44 24 20 mov DWORD PTR [rsp+32], eax 000bd 8b d6 mov edx, esi 000bf ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 351 : getWindowExStyle(window), ; 352 : GetDpiForWindow(window->win32.handle)); ; 353 : } 000c5 eb 22 jmp SHORT $LN3@updateWind $LN2@updateWind: ; 72 : if (window->monitor || window->floating) 000c7 48 85 c9 test rcx, rcx 000ca 75 05 jne SHORT $LN18@updateWind 000cc 39 4b 14 cmp DWORD PTR [rbx+20], ecx 000cf 74 05 je SHORT $LN17@updateWind $LN18@updateWind: ; 73 : style |= WS_EX_TOPMOST; 000d1 bf 08 00 04 00 mov edi, 262152 ; 00040008H $LN17@updateWind: ; 354 : else ; 355 : AdjustWindowRectEx(&rect, style, FALSE, getWindowExStyle(window)); 000d6 44 8b cf mov r9d, edi 000d9 48 8d 4c 24 40 lea rcx, QWORD PTR rect$[rsp] 000de 45 33 c0 xor r8d, r8d 000e1 8b d6 mov edx, esi 000e3 ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx $LN3@updateWind: ; 356 : ; 357 : ClientToScreen(window->win32.handle, (POINT*) &rect.left); 000e9 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 000f0 48 8d 54 24 40 lea rdx, QWORD PTR rect$[rsp] 000f5 ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 358 : ClientToScreen(window->win32.handle, (POINT*) &rect.right); 000fb 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00102 48 8d 54 24 48 lea rdx, QWORD PTR rect$[rsp+8] 00107 ff 15 00 00 00 00 call QWORD PTR __imp_ClientToScreen ; 359 : SetWindowLongW(window->win32.handle, GWL_STYLE, style); 0010d 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00114 44 8b c6 mov r8d, esi 00117 ba f0 ff ff ff mov edx, -16 0011c ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW ; 360 : SetWindowPos(window->win32.handle, HWND_TOP, 00122 8b 4c 24 4c mov ecx, DWORD PTR rect$[rsp+12] 00126 33 d2 xor edx, edx 00128 44 8b 4c 24 44 mov r9d, DWORD PTR rect$[rsp+4] 0012d 41 2b c9 sub ecx, r9d 00130 8b 44 24 48 mov eax, DWORD PTR rect$[rsp+8] 00134 44 8b 44 24 40 mov r8d, DWORD PTR rect$[rsp] 00139 41 2b c0 sub eax, r8d 0013c c7 44 24 30 34 00 00 00 mov DWORD PTR [rsp+48], 52 ; 00000034H 00144 89 4c 24 28 mov DWORD PTR [rsp+40], ecx 00148 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 0014f 89 44 24 20 mov DWORD PTR [rsp+32], eax 00153 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos 00159 48 8b 7c 24 78 mov rdi, QWORD PTR [rsp+120] ; 361 : rect.left, rect.top, ; 362 : rect.right - rect.left, rect.bottom - rect.top, ; 363 : SWP_FRAMECHANGED | SWP_NOACTIVATE | SWP_NOZORDER); ; 364 : } 0015e 48 8b 4c 24 50 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00163 48 33 cc xor rcx, rsp 00166 e8 00 00 00 00 call __security_check_cookie 0016b 48 8b 9c 24 80 00 00 00 mov rbx, QWORD PTR [rsp+128] 00173 48 83 c4 60 add rsp, 96 ; 00000060H 00177 5e pop rsi 00178 c3 ret 0 updateWindowStyles ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT updateFramebufferTransparency _TEXT SEGMENT composition$ = 32 opaque$ = 36 bb$1 = 40 bb$2 = 40 color$ = 64 __$ArrayPad$ = 72 window$ = 96 updateFramebufferTransparency PROC ; COMDAT ; 369 : { 00000 40 57 push rdi 00002 48 83 ec 50 sub rsp, 80 ; 00000050H 00006 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000d 48 33 c4 xor rax, rsp 00010 48 89 44 24 48 mov QWORD PTR __$ArrayPad$[rsp], rax ; 370 : BOOL composition, opaque; ; 371 : DWORD color; ; 372 : ; 373 : if (!IsWindowsVistaOrGreater()) 00015 33 d2 xor edx, edx 00017 48 8b f9 mov rdi, rcx 0001a e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 0001f 85 c0 test eax, eax 00021 0f 84 dc 00 00 00 je $LN4@updateFram ; 374 : return; ; 375 : ; 376 : if (FAILED(DwmIsCompositionEnabled(&composition)) || !composition) 00027 48 8d 4c 24 20 lea rcx, QWORD PTR composition$[rsp] 0002c ff 15 e0 29 00 00 call QWORD PTR _glfw+10720 00032 85 c0 test eax, eax 00034 0f 88 c9 00 00 00 js $LN4@updateFram 0003a 83 7c 24 20 00 cmp DWORD PTR composition$[rsp], 0 0003f 0f 84 be 00 00 00 je $LN4@updateFram ; 377 : return; ; 378 : ; 379 : if (IsWindows8OrGreater() || 00045 ba 02 00 00 00 mov edx, 2 0004a e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 0004f 85 c0 test eax, eax 00051 75 57 jne SHORT $LN7@updateFram 00053 48 8d 54 24 24 lea rdx, QWORD PTR opaque$[rsp] 00058 48 8d 4c 24 40 lea rcx, QWORD PTR color$[rsp] 0005d ff 15 f8 29 00 00 call QWORD PTR _glfw+10744 00063 85 c0 test eax, eax 00065 78 07 js SHORT $LN5@updateFram 00067 83 7c 24 24 00 cmp DWORD PTR opaque$[rsp], 0 0006c 74 3c je SHORT $LN7@updateFram $LN5@updateFram: ; 390 : } ; 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}; ; 398 : bb.dwFlags = DWM_BB_ENABLE; ; 399 : DwmEnableBlurBehindWindow(window->win32.handle, &bb); 0006e 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 00075 48 8d 54 24 28 lea rdx, QWORD PTR bb$1[rsp] 0007a 0f 57 c0 xorps xmm0, xmm0 0007d 33 c0 xor eax, eax 0007f 0f 11 44 24 28 movups XMMWORD PTR bb$1[rsp], xmm0 00084 c7 44 24 28 01 00 00 00 mov DWORD PTR bb$1[rsp], 1 0008c 48 89 44 24 38 mov QWORD PTR bb$1[rsp+16], rax 00091 ff 15 f0 29 00 00 call QWORD PTR _glfw+10736 ; 400 : } ; 401 : } 00097 48 8b 4c 24 48 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0009c 48 33 cc xor rcx, rsp 0009f e8 00 00 00 00 call __security_check_cookie 000a4 48 83 c4 50 add rsp, 80 ; 00000050H 000a8 5f pop rdi 000a9 c3 ret 0 $LN7@updateFram: ; 380 : (SUCCEEDED(DwmGetColorizationColor(&color, &opaque)) && !opaque)) ; 381 : { ; 382 : HRGN region = CreateRectRgn(0, 0, -1, -1); 000aa 41 b9 ff ff ff ff mov r9d, -1 000b0 48 89 5c 24 68 mov QWORD PTR [rsp+104], rbx 000b5 45 8b c1 mov r8d, r9d 000b8 33 d2 xor edx, edx 000ba 33 c9 xor ecx, ecx 000bc ff 15 00 00 00 00 call QWORD PTR __imp_CreateRectRgn ; 383 : DWM_BLURBEHIND bb = {0}; ; 384 : bb.dwFlags = DWM_BB_ENABLE | DWM_BB_BLURREGION; ; 385 : bb.hRgnBlur = region; ; 386 : bb.fEnable = TRUE; ; 387 : ; 388 : DwmEnableBlurBehindWindow(window->win32.handle, &bb); 000c2 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 000c9 48 8d 54 24 28 lea rdx, QWORD PTR bb$2[rsp] 000ce 48 8b d8 mov rbx, rax 000d1 48 89 44 24 30 mov QWORD PTR bb$2[rsp+8], rax 000d6 48 c7 44 24 38 00 00 00 00 mov QWORD PTR bb$2[rsp+16], 0 000df c7 44 24 28 03 00 00 00 mov DWORD PTR bb$2[rsp], 3 000e7 c7 44 24 2c 01 00 00 00 mov DWORD PTR bb$2[rsp+4], 1 000ef ff 15 f0 29 00 00 call QWORD PTR _glfw+10736 ; 389 : DeleteObject(region); 000f5 48 8b cb mov rcx, rbx 000f8 ff 15 00 00 00 00 call QWORD PTR __imp_DeleteObject 000fe 48 8b 5c 24 68 mov rbx, QWORD PTR [rsp+104] $LN4@updateFram: ; 400 : } ; 401 : } 00103 48 8b 4c 24 48 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00108 48 33 cc xor rcx, rsp 0010b e8 00 00 00 00 call __security_check_cookie 00110 48 83 c4 50 add rsp, 80 ; 00000050H 00114 5f pop rdi 00115 c3 ret 0 updateFramebufferTransparency ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT getKeyMods _TEXT SEGMENT getKeyMods PROC ; COMDAT ; 406 : { 00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx 00005 48 89 74 24 10 mov QWORD PTR [rsp+16], rsi 0000a 57 push rdi 0000b 48 83 ec 20 sub rsp, 32 ; 00000020H ; 407 : int mods = 0; ; 408 : ; 409 : if (GetKeyState(VK_SHIFT) & 0x8000) 0000f b9 10 00 00 00 mov ecx, 16 00014 ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 0001a 0f b7 d8 movzx ebx, ax ; 410 : mods |= GLFW_MOD_SHIFT; ; 411 : if (GetKeyState(VK_CONTROL) & 0x8000) 0001d b9 11 00 00 00 mov ecx, 17 00022 c1 eb 0f shr ebx, 15 00025 ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState ; 412 : mods |= GLFW_MOD_CONTROL; ; 413 : if (GetKeyState(VK_MENU) & 0x8000) 0002b 8b fb mov edi, ebx 0002d b9 12 00 00 00 mov ecx, 18 00032 83 cf 02 or edi, 2 00035 66 85 c0 test ax, ax 00038 0f 49 fb cmovns edi, ebx 0003b ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState ; 414 : mods |= GLFW_MOD_ALT; ; 415 : if ((GetKeyState(VK_LWIN) | GetKeyState(VK_RWIN)) & 0x8000) 00041 8b f7 mov esi, edi 00043 b9 5c 00 00 00 mov ecx, 92 ; 0000005cH 00048 83 ce 04 or esi, 4 0004b 66 85 c0 test ax, ax 0004e 0f 49 f7 cmovns esi, edi 00051 ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState 00057 b9 5b 00 00 00 mov ecx, 91 ; 0000005bH 0005c 0f b7 d8 movzx ebx, ax 0005f ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState ; 416 : mods |= GLFW_MOD_SUPER; ; 417 : if (GetKeyState(VK_CAPITAL) & 1) 00065 8b fe mov edi, esi 00067 b9 14 00 00 00 mov ecx, 20 0006c 83 cf 08 or edi, 8 0006f 66 0b d8 or bx, ax 00072 0f 49 fe cmovns edi, esi 00075 ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState ; 418 : mods |= GLFW_MOD_CAPS_LOCK; ; 419 : if (GetKeyState(VK_NUMLOCK) & 1) 0007b 8b df mov ebx, edi 0007d b9 90 00 00 00 mov ecx, 144 ; 00000090H 00082 83 cb 10 or ebx, 16 00085 a8 01 test al, 1 00087 0f 44 df cmove ebx, edi 0008a ff 15 00 00 00 00 call QWORD PTR __imp_GetKeyState ; 420 : mods |= GLFW_MOD_NUM_LOCK; ; 421 : ; 422 : return mods; ; 423 : } 00090 48 8b 74 24 38 mov rsi, QWORD PTR [rsp+56] 00095 8b cb mov ecx, ebx 00097 83 c9 20 or ecx, 32 ; 00000020H 0009a a8 01 test al, 1 0009c 0f 44 cb cmove ecx, ebx 0009f 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48] 000a4 8b c1 mov eax, ecx 000a6 48 83 c4 20 add rsp, 32 ; 00000020H 000aa 5f pop rdi 000ab c3 ret 0 getKeyMods ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT fitToMonitor _TEXT SEGMENT mi$ = 64 __$ArrayPad$ = 104 window$ = 128 fitToMonitor PROC ; COMDAT ; 426 : { 00000 40 53 push rbx 00002 48 83 ec 70 sub rsp, 112 ; 00000070H 00006 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000d 48 33 c4 xor rax, rsp 00010 48 89 44 24 68 mov QWORD PTR __$ArrayPad$[rsp], rax 00015 48 8b d9 mov rbx, rcx ; 427 : MONITORINFO mi = { sizeof(mi) }; 00018 c7 44 24 40 28 00 00 00 mov DWORD PTR mi$[rsp], 40 ; 00000028H ; 428 : GetMonitorInfoW(window->monitor->win32.handle, &mi); 00020 48 8b 49 50 mov rcx, QWORD PTR [rcx+80] 00024 48 8d 54 24 40 lea rdx, QWORD PTR mi$[rsp] 00029 0f 57 c0 xorps xmm0, xmm0 0002c 33 c0 xor eax, eax 0002e 0f 11 44 24 44 movups XMMWORD PTR mi$[rsp+4], xmm0 00033 89 44 24 64 mov DWORD PTR mi$[rsp+36], eax 00037 0f 11 44 24 54 movups XMMWORD PTR mi$[rsp+20], xmm0 0003c 48 8b 89 00 01 00 00 mov rcx, QWORD PTR [rcx+256] 00043 ff 15 00 00 00 00 call QWORD PTR __imp_GetMonitorInfoW ; 429 : SetWindowPos(window->win32.handle, HWND_TOPMOST, 00049 8b 54 24 50 mov edx, DWORD PTR mi$[rsp+16] 0004d 44 8b 4c 24 48 mov r9d, DWORD PTR mi$[rsp+8] 00052 41 2b d1 sub edx, r9d 00055 8b 44 24 4c mov eax, DWORD PTR mi$[rsp+12] 00059 44 8b 44 24 44 mov r8d, DWORD PTR mi$[rsp+4] 0005e 41 2b c0 sub eax, r8d 00061 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00068 c7 44 24 30 14 01 00 00 mov DWORD PTR [rsp+48], 276 ; 00000114H 00070 89 54 24 28 mov DWORD PTR [rsp+40], edx 00074 48 c7 c2 ff ff ff ff mov rdx, -1 0007b 89 44 24 20 mov DWORD PTR [rsp+32], eax 0007f 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 : } 00085 48 8b 4c 24 68 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0008a 48 33 cc xor rcx, rsp 0008d e8 00 00 00 00 call __security_check_cookie 00092 48 83 c4 70 add rsp, 112 ; 00000070H 00096 5b pop rbx 00097 c3 ret 0 fitToMonitor ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT acquireMonitor _TEXT SEGMENT window$ = 48 acquireMonitor PROC ; COMDAT ; 440 : { 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H ; 441 : if (!_glfw.win32.acquiredMonitorCount) 00006 8b 15 98 1b 00 00 mov edx, DWORD PTR _glfw+7064 0000c 48 8b d9 mov rbx, rcx 0000f 85 d2 test edx, edx 00011 75 37 jne SHORT $LN2@acquireMon ; 442 : { ; 443 : SetThreadExecutionState(ES_CONTINUOUS | ES_DISPLAY_REQUIRED); 00013 b9 02 00 00 80 mov ecx, -2147483646 ; 80000002H 00018 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); 0001e 33 d2 xor edx, edx 00020 4c 8d 05 64 29 00 00 lea r8, OFFSET FLAT:_glfw+10596 00027 45 33 c9 xor r9d, r9d 0002a 8d 4a 5e lea ecx, QWORD PTR [rdx+94] 0002d ff 15 00 00 00 00 call QWORD PTR __imp_SystemParametersInfoW ; 448 : SystemParametersInfoW(SPI_SETMOUSETRAILS, 0, 0, 0); 00033 33 d2 xor edx, edx 00035 45 33 c9 xor r9d, r9d 00038 45 33 c0 xor r8d, r8d 0003b 8d 4a 5d lea ecx, QWORD PTR [rdx+93] 0003e ff 15 00 00 00 00 call QWORD PTR __imp_SystemParametersInfoW 00044 8b 15 98 1b 00 00 mov edx, DWORD PTR _glfw+7064 $LN2@acquireMon: ; 449 : } ; 450 : ; 451 : if (!window->monitor->window) 0004a 48 8b 43 50 mov rax, QWORD PTR [rbx+80] 0004e 48 83 b8 90 00 00 00 00 cmp QWORD PTR [rax+144], 0 00056 75 08 jne SHORT $LN3@acquireMon ; 452 : _glfw.win32.acquiredMonitorCount++; 00058 ff c2 inc edx 0005a 89 15 98 1b 00 00 mov DWORD PTR _glfw+7064, edx $LN3@acquireMon: ; 453 : ; 454 : _glfwSetVideoModeWin32(window->monitor, &window->videoMode); 00060 48 8b 4b 50 mov rcx, QWORD PTR [rbx+80] 00064 48 8d 53 34 lea rdx, QWORD PTR [rbx+52] 00068 e8 00 00 00 00 call _glfwSetVideoModeWin32 ; 455 : _glfwInputMonitorWindow(window->monitor, window); 0006d 48 8b 43 50 mov rax, QWORD PTR [rbx+80] 00071 48 89 98 90 00 00 00 mov QWORD PTR [rax+144], rbx ; 456 : } 00078 48 83 c4 20 add rsp, 32 ; 00000020H 0007c 5b pop rbx 0007d c3 ret 0 acquireMonitor ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_monitor.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT releaseMonitor _TEXT SEGMENT window$ = 64 releaseMonitor PROC ; COMDAT ; 461 : { 00000 40 53 push rbx 00002 48 83 ec 30 sub rsp, 48 ; 00000030H ; 462 : if (window->monitor->window != window) 00006 48 8b 41 50 mov rax, QWORD PTR [rcx+80] 0000a 48 8b d9 mov rbx, rcx 0000d 48 39 88 90 00 00 00 cmp QWORD PTR [rax+144], rcx 00014 75 71 jne SHORT $LN6@releaseMon ; 463 : return; ; 464 : ; 465 : _glfw.win32.acquiredMonitorCount--; 00016 83 2d 98 1b 00 00 01 sub DWORD PTR _glfw+7064, 1 ; 466 : if (!_glfw.win32.acquiredMonitorCount) 0001d 75 21 jne SHORT $LN3@releaseMon ; 467 : { ; 468 : SetThreadExecutionState(ES_CONTINUOUS); 0001f b9 00 00 00 80 mov ecx, -2147483648 ; 80000000H 00024 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); 0002a 8b 15 64 29 00 00 mov edx, DWORD PTR _glfw+10596 00030 45 33 c9 xor r9d, r9d 00033 45 33 c0 xor r8d, r8d 00036 41 8d 49 5d lea ecx, QWORD PTR [r9+93] 0003a ff 15 00 00 00 00 call QWORD PTR __imp_SystemParametersInfoW $LN3@releaseMon: ; 472 : } ; 473 : ; 474 : _glfwInputMonitorWindow(window->monitor, NULL); 00040 48 8b 43 50 mov rax, QWORD PTR [rbx+80] 00044 48 c7 80 90 00 00 00 00 00 00 00 mov QWORD PTR [rax+144], 0 ; 475 : _glfwRestoreVideoModeWin32(window->monitor); 0004f 48 8b 5b 50 mov rbx, QWORD PTR [rbx+80] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_monitor.c ; 310 : if (monitor->win32.modeChanged) 00053 83 bb cc 01 00 00 00 cmp DWORD PTR [rbx+460], 0 0005a 74 2b je SHORT $LN6@releaseMon ; 311 : { ; 312 : ChangeDisplaySettingsExW(monitor->win32.adapterName, 0005c 48 8d 8b 08 01 00 00 lea rcx, QWORD PTR [rbx+264] 00063 48 c7 44 24 20 00 00 00 00 mov QWORD PTR [rsp+32], 0 0006c 41 b9 04 00 00 00 mov r9d, 4 00072 45 33 c0 xor r8d, r8d 00075 33 d2 xor edx, edx 00077 ff 15 00 00 00 00 call QWORD PTR __imp_ChangeDisplaySettingsExW ; 313 : NULL, NULL, CDS_FULLSCREEN, NULL); ; 314 : monitor->win32.modeChanged = GLFW_FALSE; 0007d c7 83 cc 01 00 00 00 00 00 00 mov DWORD PTR [rbx+460], 0 $LN6@releaseMon: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 476 : } 00087 48 83 c4 30 add rsp, 48 ; 00000030H 0008b 5b pop rbx 0008c c3 ret 0 releaseMonitor ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT maximizeWindowManually _TEXT SEGMENT rect$ = 64 mi$ = 80 __$ArrayPad$ = 120 window$ = 144 maximizeWindowManually PROC ; COMDAT ; 481 : { 00000 48 89 74 24 20 mov QWORD PTR [rsp+32], rsi 00005 57 push rdi 00006 48 81 ec 80 00 00 00 sub rsp, 128 ; 00000080H 0000d 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00014 48 33 c4 xor rax, rsp 00017 48 89 44 24 78 mov QWORD PTR __$ArrayPad$[rsp], rax ; 482 : RECT rect; ; 483 : DWORD style; ; 484 : MONITORINFO mi = { sizeof(mi) }; 0001c 33 c0 xor eax, eax 0001e c7 44 24 50 28 00 00 00 mov DWORD PTR mi$[rsp], 40 ; 00000028H 00026 0f 57 c0 xorps xmm0, xmm0 00029 89 44 24 74 mov DWORD PTR mi$[rsp+36], eax 0002d 48 8b f9 mov rdi, rcx ; 485 : ; 486 : GetMonitorInfoW(MonitorFromWindow(window->win32.handle, 00030 48 8b 89 58 03 00 00 mov rcx, QWORD PTR [rcx+856] 00037 0f 11 44 24 54 movups XMMWORD PTR mi$[rsp+4], xmm0 0003c 8d 50 02 lea edx, QWORD PTR [rax+2] 0003f 0f 11 44 24 64 movups XMMWORD PTR mi$[rsp+20], xmm0 00044 ff 15 00 00 00 00 call QWORD PTR __imp_MonitorFromWindow 0004a 48 8b c8 mov rcx, rax 0004d 48 8d 54 24 50 lea rdx, QWORD PTR mi$[rsp] 00052 ff 15 00 00 00 00 call QWORD PTR __imp_GetMonitorInfoW ; 487 : MONITOR_DEFAULTTONEAREST), &mi); ; 488 : ; 489 : rect = mi.rcWork; 00058 0f 10 4c 24 64 movups xmm1, XMMWORD PTR mi$[rsp+20] ; 490 : ; 491 : if (window->maxwidth != GLFW_DONT_CARE && window->maxheight != GLFW_DONT_CARE) 0005d 8b 4f 68 mov ecx, DWORD PTR [rdi+104] 00060 0f 11 4c 24 40 movups XMMWORD PTR rect$[rsp], xmm1 00065 83 f9 ff cmp ecx, -1 00068 74 48 je SHORT $LN2@maximizeWi 0006a 44 8b 47 6c mov r8d, DWORD PTR [rdi+108] 0006e 41 83 f8 ff cmp r8d, -1 00072 74 3e je SHORT $LN2@maximizeWi ; 493 : rect.right = _glfw_min(rect.right, rect.left + window->maxwidth); 00074 66 0f 7e ca movd edx, xmm1 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 239 : return a < b ? a : b; 00078 66 0f 6f c1 movdqa xmm0, xmm1 0007c 66 0f 73 d9 08 psrldq xmm1, 8 00081 66 0f 7e c8 movd eax, xmm1 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 493 : rect.right = _glfw_min(rect.right, rect.left + window->maxwidth); 00085 03 d1 add edx, ecx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 239 : return a < b ? a : b; 00087 66 0f 73 d8 08 psrldq xmm0, 8 0008c 66 0f 7e c1 movd ecx, xmm0 00090 3b c2 cmp eax, edx 00092 0f 4c d1 cmovl edx, ecx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 494 : rect.bottom = _glfw_min(rect.bottom, rect.top + window->maxheight); 00095 48 8b 4c 24 40 mov rcx, QWORD PTR rect$[rsp] 0009a 48 c1 e9 20 shr rcx, 32 ; 00000020H 0009e 41 03 c8 add ecx, r8d 000a1 89 54 24 48 mov DWORD PTR rect$[rsp+8], edx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 239 : return a < b ? a : b; 000a5 39 4c 24 4c cmp DWORD PTR rect$[rsp+12], ecx 000a9 0f 4c 4c 24 4c cmovl ecx, DWORD PTR rect$[rsp+12] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 494 : rect.bottom = _glfw_min(rect.bottom, rect.top + window->maxheight); 000ae 89 4c 24 4c mov DWORD PTR rect$[rsp+12], ecx $LN2@maximizeWi: ; 495 : } ; 496 : ; 497 : style = GetWindowLongW(window->win32.handle, GWL_STYLE); 000b2 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 000b9 ba f0 ff ff ff mov edx, -16 000be ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW ; 498 : style |= WS_MAXIMIZE; ; 499 : SetWindowLongW(window->win32.handle, GWL_STYLE, style); 000c4 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 000cb ba f0 ff ff ff mov edx, -16 000d0 8b f0 mov esi, eax 000d2 0f ba ee 18 bts esi, 24 000d6 44 8b c6 mov r8d, esi 000d9 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowLongW ; 500 : ; 501 : if (window->decorated) 000df 83 7f 0c 00 cmp DWORD PTR [rdi+12], 0 000e3 0f 84 c8 00 00 00 je $LN13@maximizeWi ; 502 : { ; 503 : const DWORD exStyle = GetWindowLongW(window->win32.handle, GWL_EXSTYLE); 000e9 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 000f0 ba ec ff ff ff mov edx, -20 000f5 48 89 ac 24 a0 00 00 00 mov QWORD PTR [rsp+160], rbp 000fd ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowLongW ; 504 : ; 505 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 00103 b9 39 38 00 00 mov ecx, 14393 ; 00003839H 00108 8b e8 mov ebp, eax 0010a e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 0010f 85 c0 test eax, eax 00111 74 55 je SHORT $LN4@maximizeWi ; 506 : { ; 507 : const UINT dpi = GetDpiForWindow(window->win32.handle); 00113 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 0011a 48 89 9c 24 98 00 00 00 mov QWORD PTR [rsp+152], rbx 00122 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 ; 508 : AdjustWindowRectExForDpi(&rect, style, FALSE, exStyle, dpi); 00128 44 8b cd mov r9d, ebp 0012b 48 8d 4c 24 40 lea rcx, QWORD PTR rect$[rsp] 00130 45 33 c0 xor r8d, r8d 00133 89 44 24 20 mov DWORD PTR [rsp+32], eax 00137 8b d6 mov edx, esi 00139 8b d8 mov ebx, eax 0013b ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 509 : OffsetRect(&rect, 0, GetSystemMetricsForDpi(SM_CYCAPTION, dpi)); 00141 8b d3 mov edx, ebx 00143 b9 04 00 00 00 mov ecx, 4 00148 ff 15 d0 29 00 00 call QWORD PTR _glfw+10704 0014e 33 d2 xor edx, edx 00150 48 8d 4c 24 40 lea rcx, QWORD PTR rect$[rsp] 00155 44 8b c0 mov r8d, eax 00158 ff 15 00 00 00 00 call QWORD PTR __imp_OffsetRect 0015e 48 8b 9c 24 98 00 00 00 mov rbx, QWORD PTR [rsp+152] ; 510 : } 00166 eb 2e jmp SHORT $LN5@maximizeWi $LN4@maximizeWi: ; 511 : else ; 512 : { ; 513 : AdjustWindowRectEx(&rect, style, FALSE, exStyle); 00168 44 8b cd mov r9d, ebp 0016b 48 8d 4c 24 40 lea rcx, QWORD PTR rect$[rsp] 00170 45 33 c0 xor r8d, r8d 00173 8b d6 mov edx, esi 00175 ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx ; 514 : OffsetRect(&rect, 0, GetSystemMetrics(SM_CYCAPTION)); 0017b b9 04 00 00 00 mov ecx, 4 00180 ff 15 00 00 00 00 call QWORD PTR __imp_GetSystemMetrics 00186 33 d2 xor edx, edx 00188 48 8d 4c 24 40 lea rcx, QWORD PTR rect$[rsp] 0018d 44 8b c0 mov r8d, eax 00190 ff 15 00 00 00 00 call QWORD PTR __imp_OffsetRect $LN5@maximizeWi: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 239 : return a < b ? a : b; 00196 8b 4c 24 70 mov ecx, DWORD PTR mi$[rsp+32] 0019a 39 4c 24 4c cmp DWORD PTR rect$[rsp+12], ecx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 517 : rect.bottom = _glfw_min(rect.bottom, mi.rcWork.bottom); 0019e 48 8b ac 24 a0 00 00 00 mov rbp, QWORD PTR [rsp+160] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 239 : return a < b ? a : b; 001a6 0f 4c 4c 24 4c cmovl ecx, DWORD PTR rect$[rsp+12] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 517 : rect.bottom = _glfw_min(rect.bottom, mi.rcWork.bottom); 001ab 89 4c 24 4c mov DWORD PTR rect$[rsp+12], ecx 001af eb 04 jmp SHORT $LN3@maximizeWi $LN13@maximizeWi: ; 500 : ; 501 : if (window->decorated) 001b1 8b 4c 24 4c mov ecx, DWORD PTR rect$[rsp+12] $LN3@maximizeWi: ; 518 : } ; 519 : ; 520 : SetWindowPos(window->win32.handle, HWND_TOP, 001b5 44 8b 4c 24 44 mov r9d, DWORD PTR rect$[rsp+4] 001ba 33 d2 xor edx, edx 001bc 8b 44 24 48 mov eax, DWORD PTR rect$[rsp+8] 001c0 41 2b c9 sub ecx, r9d 001c3 44 8b 44 24 40 mov r8d, DWORD PTR rect$[rsp] 001c8 41 2b c0 sub eax, r8d 001cb c7 44 24 30 34 00 00 00 mov DWORD PTR [rsp+48], 52 ; 00000034H 001d3 89 4c 24 28 mov DWORD PTR [rsp+40], ecx 001d7 48 8b 8f 58 03 00 00 mov rcx, QWORD PTR [rdi+856] 001de 89 44 24 20 mov DWORD PTR [rsp+32], eax 001e2 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 : } 001e8 48 8b 4c 24 78 mov rcx, QWORD PTR __$ArrayPad$[rsp] 001ed 48 33 cc xor rcx, rsp 001f0 e8 00 00 00 00 call __security_check_cookie 001f5 48 8b b4 24 a8 00 00 00 mov rsi, QWORD PTR [rsp+168] 001fd 48 81 c4 80 00 00 00 add rsp, 128 ; 00000080H 00204 5f pop rdi 00205 c3 ret 0 maximizeWindowManually ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT windowProc _TEXT SEGMENT x$1$ = 64 key$1$ = 64 length$1$ = 68 tv2857 = 68 paths$1$ = 72 mods$1$ = 72 size$1 = 72 window$1$ = 80 source$2 = 80 frame$3 = 80 tme$4 = 80 y$1$ = 104 scancode$2$ = 104 pt$5 = 104 hWnd$GSCopy$1$ = 112 target$6 = 112 mi$7 = 128 next$8 = 128 __$ArrayPad$ = 176 hWnd$ = 304 uMsg$ = 312 wParam$ = 320 lParam$ = 328 windowProc PROC ; COMDAT ; 531 : { 00000 40 55 push rbp 00002 53 push rbx 00003 56 push rsi 00004 57 push rdi 00005 41 55 push r13 00007 41 57 push r15 00009 48 8d 6c 24 d1 lea rbp, QWORD PTR [rsp-47] 0000e 48 81 ec f8 00 00 00 sub rsp, 248 ; 000000f8H 00015 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0001c 48 33 c4 xor rax, rsp 0001f 48 89 45 e7 mov QWORD PTR __$ArrayPad$[rbp-201], rax 00023 44 8b ea mov r13d, edx 00026 48 89 4d a7 mov QWORD PTR hWnd$GSCopy$1$[rbp-201], rcx ; 532 : _GLFWwindow* window = GetPropW(hWnd, L"GLFW"); 0002a 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_19JBPKICJI@?$AAG?$AAL?$AAF?$AAW@ 00031 4d 8b f9 mov r15, r9 00034 49 8b f0 mov rsi, r8 00037 48 8b f9 mov rdi, rcx 0003a ff 15 00 00 00 00 call QWORD PTR __imp_GetPropW 00040 48 89 45 87 mov QWORD PTR window$1$[rbp-201], rax 00044 48 8b d8 mov rbx, rax ; 533 : if (!window) 00047 48 85 c0 test rax, rax 0004a 75 44 jne SHORT $LN18@windowProc ; 534 : { ; 535 : if (uMsg == WM_NCCREATE) 0004c 41 81 fd 81 00 00 00 cmp r13d, 129 ; 00000081H 00053 75 24 jne SHORT $LN21@windowProc ; 536 : { ; 537 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 00055 b9 39 38 00 00 mov ecx, 14393 ; 00003839H 0005a e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 0005f 85 c0 test eax, eax 00061 74 16 je SHORT $LN21@windowProc ; 538 : { ; 539 : const CREATESTRUCTW* cs = (const CREATESTRUCTW*) lParam; ; 540 : const _GLFWwndconfig* wndconfig = cs->lpCreateParams; 00063 49 8b 07 mov rax, QWORD PTR [r15] ; 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) 00066 48 85 c0 test rax, rax 00069 74 0e je SHORT $LN21@windowProc 0006b 39 58 40 cmp DWORD PTR [rax+64], ebx 0006e 74 09 je SHORT $LN21@windowProc ; 547 : EnableNonClientDpiScaling(hWnd); 00070 48 8b cf mov rcx, rdi 00073 ff 15 b0 29 00 00 call QWORD PTR _glfw+10672 $LN21@windowProc: ; 548 : } ; 549 : } ; 550 : ; 551 : return DefWindowProcW(hWnd, uMsg, wParam, lParam); 00079 4d 8b cf mov r9, r15 0007c 4c 8b c6 mov r8, rsi 0007f 41 8b d5 mov edx, r13d 00082 48 8b cf mov rcx, rdi 00085 ff 15 00 00 00 00 call QWORD PTR __imp_DefWindowProcW 0008b e9 fe 0f 00 00 jmp $LN1@windowProc $LN18@windowProc: 00090 4c 89 a4 24 f0 00 00 00 mov QWORD PTR [rsp+240], r12 00098 4c 89 b4 24 e8 00 00 00 mov QWORD PTR [rsp+232], r14 ; 552 : } ; 553 : ; 554 : switch (uMsg) 000a0 41 be 01 00 00 00 mov r14d, 1 000a6 41 81 fd ff 00 00 00 cmp r13d, 255 ; 000000ffH 000ad 0f 87 26 05 00 00 ja $LN178@windowProc 000b3 0f 84 fb 03 00 00 je $LN114@windowProc 000b9 41 8d 45 fd lea eax, DWORD PTR [r13-3] 000bd 3d 83 00 00 00 cmp eax, 131 ; 00000083H 000c2 0f 87 09 0e 00 00 ja $LN2@windowProc 000c8 4c 8d 25 00 00 00 00 lea r12, OFFSET FLAT:__ImageBase 000cf 41 0f b6 84 04 00 00 00 00 movzx eax, BYTE PTR $LN363@windowProc[r12+rax] 000d8 41 8b 8c 84 00 00 00 00 mov ecx, DWORD PTR $LN364@windowProc[r12+rax*4] 000e0 49 03 cc add rcx, r12 000e3 ff e1 jmp rcx $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) 000e5 49 8b c7 mov rax, r15 000e8 b9 01 02 00 00 mov ecx, 513 ; 00000201H 000ed 48 c1 e8 10 shr rax, 16 000f1 66 3b c1 cmp ax, cx 000f4 0f 85 d7 0d 00 00 jne $LN2@windowProc ; 561 : { ; 562 : if (LOWORD(lParam) != HTCLIENT) 000fa 66 45 3b fe cmp r15w, r14w 000fe 0f 84 cd 0d 00 00 je $LN2@windowProc ; 563 : window->win32.frameAction = GLFW_TRUE; 00104 44 89 b3 74 03 00 00 mov DWORD PTR [rbx+884], r14d ; 564 : } ; 565 : ; 566 : break; 0010b e9 c1 0d 00 00 jmp $LN2@windowProc $LN30@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; 50 : if (window->callbacks.focus) 00110 48 8b 83 f0 02 00 00 mov rax, QWORD PTR [rbx+752] 00117 48 85 c0 test rax, rax 0011a 74 08 je SHORT $LN204@windowProc ; 51 : window->callbacks.focus((GLFWwindow*) window, focused); 0011c 49 8b d6 mov rdx, r14 0011f 48 8b cb mov rcx, rbx 00122 ff d0 call rax $LN204@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 592 : if (window->win32.frameAction) 00124 83 bb 74 03 00 00 00 cmp DWORD PTR [rbx+884], 0 0012b 0f 85 a0 0d 00 00 jne $LN2@windowProc ; 593 : break; ; 594 : ; 595 : if (window->cursorMode == GLFW_CURSOR_DISABLED) 00131 8b 83 84 00 00 00 mov eax, DWORD PTR [rbx+132] 00137 3d 03 40 03 00 cmp eax, 212995 ; 00034003H 0013c 75 0d jne SHORT $LN32@windowProc ; 596 : disableCursor(window); 0013e 48 8b cb mov rcx, rbx 00141 e8 00 00 00 00 call disableCursor 00146 e9 31 0f 00 00 jmp $LN164@windowProc $LN32@windowProc: ; 597 : else if (window->cursorMode == GLFW_CURSOR_CAPTURED) 0014b 3d 04 40 03 00 cmp eax, 212996 ; 00034004H 00150 0f 85 26 0f 00 00 jne $LN164@windowProc ; 598 : captureCursor(window); 00156 48 8b cb mov rcx, rbx 00159 e8 00 00 00 00 call captureCursor ; 1135 : if (!window->decorated) 0015e e9 19 0f 00 00 jmp $LN164@windowProc $LN35@windowProc: ; 599 : ; 600 : return 0; ; 601 : } ; 602 : ; 603 : case WM_KILLFOCUS: ; 604 : { ; 605 : if (window->cursorMode == GLFW_CURSOR_DISABLED) 00163 8b 83 84 00 00 00 mov eax, DWORD PTR [rbx+132] 00169 3d 03 40 03 00 cmp eax, 212995 ; 00034003H 0016e 75 0a jne SHORT $LN36@windowProc ; 606 : enableCursor(window); 00170 48 8b cb mov rcx, rbx 00173 e8 00 00 00 00 call enableCursor 00178 eb 18 jmp SHORT $LN286@windowProc $LN36@windowProc: ; 607 : else if (window->cursorMode == GLFW_CURSOR_CAPTURED) 0017a 3d 04 40 03 00 cmp eax, 212996 ; 00034004H 0017f 75 11 jne SHORT $LN286@windowProc ; 256 : ClipCursor(NULL); 00181 33 c9 xor ecx, ecx 00183 ff 15 00 00 00 00 call QWORD PTR __imp_ClipCursor ; 257 : _glfw.win32.capturedCursorWindow = NULL; 00189 33 ff xor edi, edi 0018b 48 89 3d 50 29 00 00 mov QWORD PTR _glfw+10576, rdi $LN286@windowProc: ; 608 : releaseCursor(); ; 609 : ; 610 : if (window->monitor && window->autoIconify) 00192 48 83 7b 50 00 cmp QWORD PTR [rbx+80], 0 00197 74 18 je SHORT $LN288@windowProc 00199 83 7b 10 00 cmp DWORD PTR [rbx+16], 0 0019d 74 12 je SHORT $LN288@windowProc ; 1734 : ShowWindow(window->win32.handle, SW_MINIMIZE); 0019f 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 001a6 ba 06 00 00 00 mov edx, 6 001ab ff 15 00 00 00 00 call QWORD PTR __imp_ShowWindow $LN288@windowProc: ; 611 : _glfwIconifyWindowWin32(window); ; 612 : ; 613 : _glfwInputWindowFocus(window, GLFW_FALSE); 001b1 33 d2 xor edx, edx 001b3 48 8b cb mov rcx, rbx 001b6 e8 00 00 00 00 call _glfwInputWindowFocus ; 614 : return 0; 001bb e9 bc 0e 00 00 jmp $LN164@windowProc $LN47@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; 166 : if (window->callbacks.close) 001c0 48 8b 83 e0 02 00 00 mov rax, QWORD PTR [rbx+736] 001c7 44 89 73 20 mov DWORD PTR [rbx+32], r14d 001cb 48 85 c0 test rax, rax 001ce 0f 84 a8 0e 00 00 je $LN164@windowProc ; 167 : window->callbacks.close((GLFWwindow*) window); 001d4 48 8b cb mov rcx, rbx 001d7 ff d0 call rax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1135 : if (!window->decorated) 001d9 e9 9e 0e 00 00 jmp $LN164@windowProc $LN48@windowProc: ; 625 : { ; 626 : // We are running in full screen mode, so disallow ; 627 : // screen saver and screen blanking ; 628 : return 0; ; 629 : } ; 630 : else ; 631 : break; ; 632 : } ; 633 : ; 634 : // User trying to access application menu using ALT? ; 635 : case SC_KEYMENU: ; 636 : { ; 637 : if (!window->win32.keymenu) ; 638 : return 0; ; 639 : ; 640 : break; ; 641 : } ; 642 : } ; 643 : break; ; 644 : } ; 645 : ; 646 : case WM_CLOSE: ; 647 : { ; 648 : _glfwInputWindowCloseRequest(window); ; 649 : return 0; ; 650 : } ; 651 : ; 652 : case WM_INPUTLANGCHANGE: ; 653 : { ; 654 : _glfwUpdateKeyNamesWin32(); 001de e8 00 00 00 00 call _glfwUpdateKeyNamesWin32 ; 655 : break; 001e3 e9 e9 0c 00 00 jmp $LN2@windowProc $LN136@windowProc: ; 998 : } ; 999 : ; 1000 : case WM_SIZE: ; 1001 : { ; 1002 : const int width = LOWORD(lParam); ; 1003 : const int height = HIWORD(lParam); ; 1004 : const GLFWbool iconified = wParam == SIZE_MINIMIZED; 001e8 33 ff xor edi, edi 001ea 45 0f b7 ef movzx r13d, r15w 001ee 49 c1 ef 10 shr r15, 16 001f2 44 8b e7 mov r12d, edi 001f5 48 83 fe 01 cmp rsi, 1 001f9 45 0f b7 f7 movzx r14d, r15w ; 1005 : const GLFWbool maximized = wParam == SIZE_MAXIMIZED || 001fd 4c 8d bb 7c 03 00 00 lea r15, QWORD PTR [rbx+892] 00204 41 0f 94 c4 sete r12b 00208 48 83 fe 02 cmp rsi, 2 0020c 74 0a je SHORT $LN329@windowProc 0020e 41 39 3f cmp DWORD PTR [r15], edi 00211 74 0a je SHORT $LN177@windowProc 00213 48 85 f6 test rsi, rsi 00216 74 05 je SHORT $LN177@windowProc $LN329@windowProc: 00218 bf 01 00 00 00 mov edi, 1 $LN177@windowProc: ; 1006 : (window->win32.maximized && ; 1007 : wParam != SIZE_RESTORED); ; 1008 : ; 1009 : if (_glfw.win32.capturedCursorWindow == window) 0021d 48 39 1d 50 29 00 00 cmp QWORD PTR _glfw+10576, rbx 00224 75 08 jne SHORT $LN137@windowProc ; 1010 : captureCursor(window); 00226 48 8b cb mov rcx, rbx 00229 e8 00 00 00 00 call captureCursor $LN137@windowProc: ; 1011 : ; 1012 : if (window->win32.iconified != iconified) 0022e 44 39 a3 78 03 00 00 cmp DWORD PTR [rbx+888], r12d 00235 74 14 je SHORT $LN276@windowProc ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; 105 : if (window->callbacks.iconify) 00237 48 8b 83 f8 02 00 00 mov rax, QWORD PTR [rbx+760] 0023e 48 85 c0 test rax, rax 00241 74 08 je SHORT $LN276@windowProc ; 106 : window->callbacks.iconify((GLFWwindow*) window, iconified); 00243 41 8b d4 mov edx, r12d 00246 48 8b cb mov rcx, rbx 00249 ff d0 call rax $LN276@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1015 : if (window->win32.maximized != maximized) 0024b 41 39 3f cmp DWORD PTR [r15], edi 0024e 74 13 je SHORT $LN273@windowProc ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; 116 : if (window->callbacks.maximize) 00250 48 8b 83 00 03 00 00 mov rax, QWORD PTR [rbx+768] 00257 48 85 c0 test rax, rax 0025a 74 07 je SHORT $LN273@windowProc ; 117 : window->callbacks.maximize((GLFWwindow*) window, maximized); 0025c 8b d7 mov edx, edi 0025e 48 8b cb mov rcx, rbx 00261 ff d0 call rax $LN273@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1018 : if (width != window->win32.width || height != window->win32.height) 00263 44 3b ab 8c 03 00 00 cmp r13d, DWORD PTR [rbx+908] 0026a 75 09 jne SHORT $LN339@windowProc 0026c 44 3b b3 90 03 00 00 cmp r14d, DWORD PTR [rbx+912] 00273 74 3c je SHORT $LN267@windowProc $LN339@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; 129 : if (window->callbacks.fbsize) 00275 48 8b 83 08 03 00 00 mov rax, QWORD PTR [rbx+776] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1020 : window->win32.width = width; 0027c 44 89 ab 8c 03 00 00 mov DWORD PTR [rbx+908], r13d ; 1021 : window->win32.height = height; 00283 44 89 b3 90 03 00 00 mov DWORD PTR [rbx+912], r14d ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; 129 : if (window->callbacks.fbsize) 0028a 48 85 c0 test rax, rax 0028d 74 0b je SHORT $LN270@windowProc ; 130 : window->callbacks.fbsize((GLFWwindow*) window, width, height); 0028f 45 8b c6 mov r8d, r14d 00292 41 8b d5 mov edx, r13d 00295 48 8b cb mov rcx, rbx 00298 ff d0 call rax $LN270@windowProc: ; 94 : if (window->callbacks.size) 0029a 48 8b 83 d8 02 00 00 mov rax, QWORD PTR [rbx+728] 002a1 48 85 c0 test rax, rax 002a4 74 0b je SHORT $LN267@windowProc ; 95 : window->callbacks.size((GLFWwindow*) window, width, height); 002a6 45 8b c6 mov r8d, r14d 002a9 41 8b d5 mov edx, r13d 002ac 48 8b cb mov rcx, rbx 002af ff d0 call rax $LN267@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1027 : if (window->monitor && window->win32.iconified != iconified) 002b1 48 83 7b 50 00 cmp QWORD PTR [rbx+80], 0 002b6 74 33 je SHORT $LN144@windowProc 002b8 44 39 a3 78 03 00 00 cmp DWORD PTR [rbx+888], r12d 002bf 74 2a je SHORT $LN144@windowProc ; 1028 : { ; 1029 : if (iconified) 002c1 48 8b cb mov rcx, rbx 002c4 48 83 fe 01 cmp rsi, 1 002c8 75 14 jne SHORT $LN143@windowProc ; 1030 : releaseMonitor(window); 002ca e8 00 00 00 00 call releaseMonitor ; 1035 : } ; 1036 : } ; 1037 : ; 1038 : window->win32.iconified = iconified; 002cf 44 89 a3 78 03 00 00 mov DWORD PTR [rbx+888], r12d ; 1039 : window->win32.maximized = maximized; 002d6 41 89 3f mov DWORD PTR [r15], edi ; 1040 : return 0; 002d9 e9 9e 0d 00 00 jmp $LN164@windowProc $LN143@windowProc: ; 1031 : else ; 1032 : { ; 1033 : acquireMonitor(window); 002de e8 00 00 00 00 call acquireMonitor ; 1034 : fitToMonitor(window); 002e3 48 8b cb mov rcx, rbx 002e6 e8 00 00 00 00 call fitToMonitor $LN144@windowProc: ; 1035 : } ; 1036 : } ; 1037 : ; 1038 : window->win32.iconified = iconified; 002eb 44 89 a3 78 03 00 00 mov DWORD PTR [rbx+888], r12d ; 1039 : window->win32.maximized = maximized; 002f2 41 89 3f mov DWORD PTR [r15], edi ; 1040 : return 0; 002f5 e9 82 0d 00 00 jmp $LN164@windowProc $LN145@windowProc: ; 1041 : } ; 1042 : ; 1043 : case WM_MOVE: ; 1044 : { ; 1045 : if (_glfw.win32.capturedCursorWindow == window) 002fa 48 39 1d 50 29 00 00 cmp QWORD PTR _glfw+10576, rbx 00301 75 08 jne SHORT $LN146@windowProc ; 1046 : captureCursor(window); 00303 48 8b cb mov rcx, rbx 00306 e8 00 00 00 00 call captureCursor $LN146@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; 81 : if (window->callbacks.pos) 0030b 4c 8b 8b d0 02 00 00 mov r9, QWORD PTR [rbx+720] 00312 4d 85 c9 test r9, r9 00315 0f 84 61 0d 00 00 je $LN164@windowProc ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1050 : _glfwInputWindowPos(window, 0031b 49 8b c7 mov rax, r15 0031e 41 0f bf d7 movsx edx, r15w 00322 48 c1 e8 10 shr rax, 16 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; 82 : window->callbacks.pos((GLFWwindow*) window, x, y); 00326 48 8b cb mov rcx, rbx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1050 : _glfwInputWindowPos(window, 00329 44 0f bf c0 movsx r8d, ax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; 82 : window->callbacks.pos((GLFWwindow*) window, x, y); 0032d 41 ff d1 call r9 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1135 : if (!window->decorated) 00330 e9 47 0d 00 00 jmp $LN164@windowProc $LN150@windowProc: 00335 0f 57 c0 xorps xmm0, xmm0 ; 1066 : } ; 1067 : ; 1068 : case WM_GETMINMAXINFO: ; 1069 : { ; 1070 : RECT frame = {0}; ; 1071 : MINMAXINFO* mmi = (MINMAXINFO*) lParam; ; 1072 : const DWORD style = getWindowStyle(window); 00338 48 8b cb mov rcx, rbx 0033b 0f 11 45 87 movups XMMWORD PTR frame$3[rbp-201], xmm0 0033f e8 00 00 00 00 call getWindowStyle ; 72 : if (window->monitor || window->floating) 00344 48 8b 4b 50 mov rcx, QWORD PTR [rbx+80] ; 1066 : } ; 1067 : ; 1068 : case WM_GETMINMAXINFO: ; 1069 : { ; 1070 : RECT frame = {0}; ; 1071 : MINMAXINFO* mmi = (MINMAXINFO*) lParam; ; 1072 : const DWORD style = getWindowStyle(window); 00348 44 8b f0 mov r14d, eax ; 70 : DWORD style = WS_EX_APPWINDOW; 0034b bf 00 00 04 00 mov edi, 262144 ; 00040000H ; 72 : if (window->monitor || window->floating) 00350 48 85 c9 test rcx, rcx 00353 75 05 jne SHORT $LN195@windowProc 00355 39 4b 14 cmp DWORD PTR [rbx+20], ecx 00358 74 0e je SHORT $LN344@windowProc $LN195@windowProc: ; 73 : style |= WS_EX_TOPMOST; 0035a bf 08 00 04 00 mov edi, 262152 ; 00040008H ; 1073 : const DWORD exStyle = getWindowExStyle(window); ; 1074 : ; 1075 : if (window->monitor) 0035f 48 85 c9 test rcx, rcx 00362 0f 85 69 0b 00 00 jne $LN2@windowProc $LN344@windowProc: ; 1076 : break; ; 1077 : ; 1078 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 00368 b9 39 38 00 00 mov ecx, 14393 ; 00003839H 0036d e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 00372 85 c0 test eax, eax 00374 74 26 je SHORT $LN152@windowProc ; 1079 : { ; 1080 : AdjustWindowRectExForDpi(&frame, style, FALSE, exStyle, 00376 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 0037d ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 00383 44 8b cf mov r9d, edi 00386 48 8d 4d 87 lea rcx, QWORD PTR frame$3[rbp-201] 0038a 45 33 c0 xor r8d, r8d 0038d 89 44 24 20 mov DWORD PTR [rsp+32], eax 00391 41 8b d6 mov edx, r14d 00394 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1081 : GetDpiForWindow(window->win32.handle)); ; 1082 : } 0039a eb 13 jmp SHORT $LN153@windowProc $LN152@windowProc: ; 1083 : else ; 1084 : AdjustWindowRectEx(&frame, style, FALSE, exStyle); 0039c 44 8b cf mov r9d, edi 0039f 48 8d 4d 87 lea rcx, QWORD PTR frame$3[rbp-201] 003a3 45 33 c0 xor r8d, r8d 003a6 41 8b d6 mov edx, r14d 003a9 ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx $LN153@windowProc: ; 1085 : ; 1086 : if (window->minwidth != GLFW_DONT_CARE && 003af 8b 43 60 mov eax, DWORD PTR [rbx+96] 003b2 8b 4d 93 mov ecx, DWORD PTR frame$3[rbp-189] 003b5 8b 55 8f mov edx, DWORD PTR frame$3[rbp-193] 003b8 44 8b 45 8b mov r8d, DWORD PTR frame$3[rbp-197] 003bc 44 8b 4d 87 mov r9d, DWORD PTR frame$3[rbp-201] 003c0 83 f8 ff cmp eax, -1 003c3 74 1b je SHORT $LN154@windowProc 003c5 83 7b 64 ff cmp DWORD PTR [rbx+100], -1 003c9 74 15 je SHORT $LN154@windowProc ; 1087 : window->minheight != GLFW_DONT_CARE) ; 1088 : { ; 1089 : mmi->ptMinTrackSize.x = window->minwidth + frame.right - frame.left; 003cb 41 2b c1 sub eax, r9d 003ce 03 c2 add eax, edx 003d0 41 89 47 18 mov DWORD PTR [r15+24], eax ; 1090 : mmi->ptMinTrackSize.y = window->minheight + frame.bottom - frame.top; 003d4 8b c1 mov eax, ecx 003d6 41 2b c0 sub eax, r8d 003d9 03 43 64 add eax, DWORD PTR [rbx+100] 003dc 41 89 47 1c mov DWORD PTR [r15+28], eax $LN154@windowProc: ; 1091 : } ; 1092 : ; 1093 : if (window->maxwidth != GLFW_DONT_CARE && 003e0 8b 43 68 mov eax, DWORD PTR [rbx+104] 003e3 83 f8 ff cmp eax, -1 003e6 74 1b je SHORT $LN155@windowProc 003e8 83 7b 6c ff cmp DWORD PTR [rbx+108], -1 003ec 74 15 je SHORT $LN155@windowProc ; 1094 : window->maxheight != GLFW_DONT_CARE) ; 1095 : { ; 1096 : mmi->ptMaxTrackSize.x = window->maxwidth + frame.right - frame.left; 003ee 41 2b c1 sub eax, r9d 003f1 03 c2 add eax, edx 003f3 41 89 47 20 mov DWORD PTR [r15+32], eax ; 1097 : mmi->ptMaxTrackSize.y = window->maxheight + frame.bottom - frame.top; 003f7 8b 43 6c mov eax, DWORD PTR [rbx+108] 003fa 41 2b c0 sub eax, r8d 003fd 03 c1 add eax, ecx 003ff 41 89 47 24 mov DWORD PTR [r15+36], eax $LN155@windowProc: ; 1098 : } ; 1099 : ; 1100 : if (!window->decorated) 00403 83 7b 0c 00 cmp DWORD PTR [rbx+12], 0 00407 0f 85 6f 0c 00 00 jne $LN164@windowProc ; 1101 : { ; 1102 : MONITORINFO mi; ; 1103 : const HMONITOR mh = MonitorFromWindow(window->win32.handle, 0040d 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00414 ba 02 00 00 00 mov edx, 2 00419 ff 15 00 00 00 00 call QWORD PTR __imp_MonitorFromWindow ; 1104 : MONITOR_DEFAULTTONEAREST); ; 1105 : ; 1106 : ZeroMemory(&mi, sizeof(mi)); 0041f 33 c9 xor ecx, ecx ; 1107 : mi.cbSize = sizeof(mi); ; 1108 : GetMonitorInfoW(mh, &mi); 00421 48 8d 55 b7 lea rdx, QWORD PTR mi$7[rbp-201] 00425 0f 57 c0 xorps xmm0, xmm0 00428 48 89 4d d7 mov QWORD PTR mi$7[rbp-169], rcx 0042c 0f 11 45 b7 movups XMMWORD PTR mi$7[rbp-201], xmm0 00430 48 8b c8 mov rcx, rax 00433 c7 45 b7 28 00 00 00 mov DWORD PTR mi$7[rbp-201], 40 ; 00000028H 0043a 0f 11 45 c7 movups XMMWORD PTR mi$7[rbp-185], xmm0 0043e ff 15 00 00 00 00 call QWORD PTR __imp_GetMonitorInfoW ; 1109 : ; 1110 : mmi->ptMaxPosition.x = mi.rcWork.left - mi.rcMonitor.left; 00444 8b 45 cb mov eax, DWORD PTR mi$7[rbp-181] 00447 2b 45 bb sub eax, DWORD PTR mi$7[rbp-197] 0044a 41 89 47 10 mov DWORD PTR [r15+16], eax ; 1111 : mmi->ptMaxPosition.y = mi.rcWork.top - mi.rcMonitor.top; 0044e 8b 45 cf mov eax, DWORD PTR mi$7[rbp-177] 00451 2b 45 bf sub eax, DWORD PTR mi$7[rbp-193] 00454 41 89 47 14 mov DWORD PTR [r15+20], eax ; 1112 : mmi->ptMaxSize.x = mi.rcWork.right - mi.rcWork.left; 00458 8b 45 d3 mov eax, DWORD PTR mi$7[rbp-173] 0045b 2b 45 cb sub eax, DWORD PTR mi$7[rbp-181] 0045e 41 89 47 08 mov DWORD PTR [r15+8], eax ; 1113 : mmi->ptMaxSize.y = mi.rcWork.bottom - mi.rcWork.top; 00462 8b 45 d7 mov eax, DWORD PTR mi$7[rbp-169] 00465 2b 45 cf sub eax, DWORD PTR mi$7[rbp-177] 00468 41 89 47 0c mov DWORD PTR [r15+12], eax ; 1135 : if (!window->decorated) 0046c e9 0b 0c 00 00 jmp $LN164@windowProc $LN157@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; 154 : if (window->callbacks.refresh) 00471 48 8b 83 e8 02 00 00 mov rax, QWORD PTR [rbx+744] 00478 48 85 c0 test rax, rax 0047b 0f 84 50 0a 00 00 je $LN2@windowProc ; 155 : window->callbacks.refresh((GLFWwindow*) window); 00481 48 8b cb mov rcx, rbx 00484 ff d0 call rax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1122 : break; 00486 e9 46 0a 00 00 jmp $LN2@windowProc $LN159@windowProc: ; 1135 : if (!window->decorated) 0048b 83 7b 0c 00 cmp DWORD PTR [rbx+12], 0 0048f 0f 84 6b 06 00 00 je $LN107@windowProc 00495 e9 37 0a 00 00 jmp $LN2@windowProc $LN171@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); ; 1198 : break; ; 1199 : } ; 1200 : ; 1201 : case WM_SETCURSOR: ; 1202 : { ; 1203 : if (LOWORD(lParam) == HTCLIENT) 0049a 66 45 3b fe cmp r15w, r14w 0049e 0f 85 2d 0a 00 00 jne $LN2@windowProc ; 1204 : { ; 1205 : updateCursorImage(window); 004a4 48 8b cb mov rcx, rbx 004a7 e8 00 00 00 00 call updateCursorImage ; 1206 : return TRUE; 004ac 49 8b c6 mov rax, r14 004af e9 ca 0b 00 00 jmp $LN496@windowProc $LN114@windowProc: ; 894 : } ; 895 : ; 896 : case WM_INPUT: ; 897 : { ; 898 : UINT size = 0; 004b4 33 ff xor edi, edi ; 899 : HRAWINPUT ri = (HRAWINPUT) lParam; ; 900 : RAWINPUT* data = NULL; ; 901 : int dx, dy; ; 902 : ; 903 : if (_glfw.win32.disabledCursorWindow != window) 004b6 48 39 1d 48 29 00 00 cmp QWORD PTR _glfw+10568, rbx 004bd 89 7c 24 48 mov DWORD PTR size$1[rsp], edi 004c1 0f 85 0a 0a 00 00 jne $LN2@windowProc ; 904 : break; ; 905 : if (!window->rawMouseMotion) 004c7 39 b8 00 02 00 00 cmp DWORD PTR [rax+512], edi 004cd 0f 84 fe 09 00 00 je $LN2@windowProc ; 906 : break; ; 907 : ; 908 : GetRawInputData(ri, RID_INPUT, NULL, &size, sizeof(RAWINPUTHEADER)); 004d3 4c 8d 4c 24 48 lea r9, QWORD PTR size$1[rsp] 004d8 c7 44 24 20 18 00 00 00 mov DWORD PTR [rsp+32], 24 004e0 45 33 c0 xor r8d, r8d 004e3 ba 03 00 00 10 mov edx, 268435459 ; 10000003H 004e8 49 8b cf mov rcx, r15 004eb ff 15 00 00 00 00 call QWORD PTR __imp_GetRawInputData ; 909 : if (size > (UINT) _glfw.win32.rawInputSize) 004f1 8b 54 24 48 mov edx, DWORD PTR size$1[rsp] 004f5 8b 05 60 29 00 00 mov eax, DWORD PTR _glfw+10592 004fb 3b d0 cmp edx, eax 004fd 76 3d jbe SHORT $LN365@windowProc ; 910 : { ; 911 : _glfw_free(_glfw.win32.rawInput); 004ff 48 8b 0d 58 29 00 00 mov rcx, QWORD PTR _glfw+10584 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 320 : if (block) 00506 48 85 c9 test rcx, rcx 00509 74 11 je SHORT $LN188@windowProc ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 0050b 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 00512 ff 15 18 00 00 00 call QWORD PTR _glfw+24 00518 8b 54 24 48 mov edx, DWORD PTR size$1[rsp] $LN188@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 912 : _glfw.win32.rawInput = _glfw_calloc(size, 1); 0051c 8b ca mov ecx, edx 0051e 49 8b d6 mov rdx, r14 00521 e8 00 00 00 00 call _glfw_calloc 00526 4c 8b c0 mov r8, rax 00529 48 89 05 58 29 00 00 mov QWORD PTR _glfw+10584, rax ; 913 : _glfw.win32.rawInputSize = size; 00530 8b 44 24 48 mov eax, DWORD PTR size$1[rsp] 00534 89 05 60 29 00 00 mov DWORD PTR _glfw+10592, eax 0053a eb 07 jmp SHORT $LN117@windowProc $LN365@windowProc: ; 909 : if (size > (UINT) _glfw.win32.rawInputSize) 0053c 4c 8b 05 58 29 00 00 mov r8, QWORD PTR _glfw+10584 $LN117@windowProc: ; 914 : } ; 915 : ; 916 : size = _glfw.win32.rawInputSize; ; 917 : if (GetRawInputData(ri, RID_INPUT, ; 918 : _glfw.win32.rawInput, &size, ; 919 : sizeof(RAWINPUTHEADER)) == (UINT) -1) 00543 4c 8d 4c 24 48 lea r9, QWORD PTR size$1[rsp] 00548 89 44 24 48 mov DWORD PTR size$1[rsp], eax 0054c ba 03 00 00 10 mov edx, 268435459 ; 10000003H 00551 c7 44 24 20 18 00 00 00 mov DWORD PTR [rsp+32], 24 00559 49 8b cf mov rcx, r15 0055c ff 15 00 00 00 00 call QWORD PTR __imp_GetRawInputData 00562 83 f8 ff cmp eax, -1 ; ffffffffH 00565 75 16 jne SHORT $LN118@windowProc ; 920 : { ; 921 : _glfwInputError(GLFW_PLATFORM_ERROR, 00567 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CJ@GILDAIDE@Win32?3?5Failed?5to?5retrieve?5raw?5i@ 0056e b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00573 e8 00 00 00 00 call _glfwInputError ; 922 : "Win32: Failed to retrieve raw input data"); ; 923 : break; 00578 e9 54 09 00 00 jmp $LN2@windowProc $LN118@windowProc: ; 924 : } ; 925 : ; 926 : data = _glfw.win32.rawInput; 0057d 48 8b 05 58 29 00 00 mov rax, QWORD PTR _glfw+10584 ; 927 : if (data->data.mouse.usFlags & MOUSE_MOVE_ABSOLUTE) 00584 44 84 70 18 test BYTE PTR [rax+24], r14b 00588 44 8b 70 28 mov r14d, DWORD PTR [rax+40] 0058c 8b 78 24 mov edi, DWORD PTR [rax+36] 0058f 74 0d je SHORT $LN120@windowProc ; 928 : { ; 929 : dx = data->data.mouse.lLastX - window->win32.lastCursorPosX; 00591 2b bb 94 03 00 00 sub edi, DWORD PTR [rbx+916] ; 930 : dy = data->data.mouse.lLastY - window->win32.lastCursorPosY; 00597 44 2b b3 98 03 00 00 sub r14d, DWORD PTR [rbx+920] $LN120@windowProc: ; 931 : } ; 932 : else ; 933 : { ; 934 : dx = data->data.mouse.lLastX; ; 935 : dy = data->data.mouse.lLastY; ; 936 : } ; 937 : ; 938 : _glfwInputCursorPos(window, 0059e 66 41 0f 6e d6 movd xmm2, r14d 005a3 48 8b cb mov rcx, rbx 005a6 66 0f 6e cf movd xmm1, edi 005aa f3 0f e6 d2 cvtdq2pd xmm2, xmm2 005ae f3 0f e6 c9 cvtdq2pd xmm1, xmm1 005b2 f2 0f 58 93 f8 01 00 00 addsd xmm2, QWORD PTR [rbx+504] 005ba f2 0f 58 8b f0 01 00 00 addsd xmm1, QWORD PTR [rbx+496] 005c2 e8 00 00 00 00 call _glfwInputCursorPos ; 939 : window->virtualCursorPosX + dx, ; 940 : window->virtualCursorPosY + dy); ; 941 : ; 942 : window->win32.lastCursorPosX += dx; 005c7 01 bb 94 03 00 00 add DWORD PTR [rbx+916], edi ; 943 : window->win32.lastCursorPosY += dy; 005cd 44 01 b3 98 03 00 00 add DWORD PTR [rbx+920], r14d ; 944 : break; 005d4 e9 f8 08 00 00 jmp $LN2@windowProc $LN178@windowProc: ; 552 : } ; 553 : ; 554 : switch (uMsg) 005d9 41 81 fd 12 01 00 00 cmp r13d, 274 ; 00000112H 005e0 0f 87 9a 03 00 00 ja $LN179@windowProc 005e6 0f 84 60 03 00 00 je $LN40@windowProc 005ec 41 8d 85 00 ff ff ff lea eax, DWORD PTR [r13-256] 005f3 83 f8 09 cmp eax, 9 005f6 0f 87 d5 08 00 00 ja $LN2@windowProc 005fc 4c 8d 25 00 00 00 00 lea r12, OFFSET FLAT:__ImageBase 00603 41 8b 84 84 00 00 00 00 mov eax, DWORD PTR $LN362@windowProc[r12+rax*4] 0060b 49 03 c4 add rax, r12 0060e ff e0 jmp rax $LN49@windowProc: ; 656 : } ; 657 : ; 658 : case WM_CHAR: ; 659 : case WM_SYSCHAR: ; 660 : { ; 661 : if (wParam >= 0xd800 && wParam <= 0xdbff) 00610 48 8d 86 00 28 ff ff lea rax, QWORD PTR [rsi-55296] 00617 48 3d ff 03 00 00 cmp rax, 1023 ; 000003ffH 0061d 77 09 ja SHORT $LN51@windowProc ; 662 : window->win32.highSurrogate = (WCHAR) wParam; 0061f 66 89 b3 9c 03 00 00 mov WORD PTR [rbx+924], si 00626 eb 61 jmp SHORT $LN52@windowProc $LN51@windowProc: ; 663 : else ; 664 : { ; 665 : uint32_t codepoint = 0; 00628 33 ff xor edi, edi ; 666 : ; 667 : if (wParam >= 0xdc00 && wParam <= 0xdfff) 0062a 48 8d 86 00 24 ff ff lea rax, QWORD PTR [rsi-56320] 00631 44 8b f7 mov r14d, edi 00634 48 3d ff 03 00 00 cmp rax, 1023 ; 000003ffH 0063a 77 21 ja SHORT $LN53@windowProc ; 668 : { ; 669 : if (window->win32.highSurrogate) 0063c 0f b7 83 9c 03 00 00 movzx eax, WORD PTR [rbx+924] 00643 66 85 c0 test ax, ax 00646 74 19 je SHORT $LN54@windowProc ; 670 : { ; 671 : codepoint += (window->win32.highSurrogate - 0xd800) << 10; 00648 8b c8 mov ecx, eax ; 672 : codepoint += (WCHAR) wParam - 0xdc00; 0064a 44 0f b7 f6 movzx r14d, si 0064e c1 e1 0a shl ecx, 10 00651 41 81 c6 00 24 a0 fc add r14d, -56613888 ; fca02400H 00658 44 03 f1 add r14d, ecx ; 673 : codepoint += 0x10000; ; 674 : } ; 675 : } 0065b eb 04 jmp SHORT $LN54@windowProc $LN53@windowProc: ; 676 : else ; 677 : codepoint = (WCHAR) wParam; 0065d 44 0f b7 f6 movzx r14d, si $LN54@windowProc: ; 678 : ; 679 : window->win32.highSurrogate = 0; 00661 66 89 bb 9c 03 00 00 mov WORD PTR [rbx+924], di ; 680 : _glfwInputChar(window, codepoint, getKeyMods(), uMsg != WM_SYSCHAR); 00668 41 81 fd 06 01 00 00 cmp r13d, 262 ; 00000106H 0066f 40 0f 95 c7 setne dil 00673 e8 00 00 00 00 call getKeyMods 00678 44 8b c0 mov r8d, eax 0067b 44 8b cf mov r9d, edi 0067e 41 8b d6 mov edx, r14d 00681 48 8b cb mov rcx, rbx 00684 e8 00 00 00 00 call _glfwInputChar $LN52@windowProc: ; 681 : } ; 682 : ; 683 : if (uMsg == WM_SYSCHAR && window->win32.keymenu) 00689 41 81 fd 06 01 00 00 cmp r13d, 262 ; 00000106H 00690 0f 85 e6 09 00 00 jne $LN164@windowProc $LN44@windowProc: ; 1247 : return DefWindowProcW(hWnd, uMsg, wParam, lParam); 00696 83 bb 88 03 00 00 00 cmp DWORD PTR [rbx+904], 0 0069d 0f 84 d9 09 00 00 je $LN164@windowProc 006a3 e9 29 08 00 00 jmp $LN2@windowProc $LN57@windowProc: ; 684 : break; ; 685 : ; 686 : return 0; ; 687 : } ; 688 : ; 689 : case WM_UNICHAR: ; 690 : { ; 691 : if (wParam == UNICODE_NOCHAR) 006a8 48 81 fe ff ff 00 00 cmp rsi, 65535 ; 0000ffffH 006af 0f 84 4b 04 00 00 je $LN107@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; ; 697 : } ; 698 : ; 699 : _glfwInputChar(window, (uint32_t) wParam, getKeyMods(), GLFW_TRUE); 006b5 e8 00 00 00 00 call getKeyMods ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 317 : if (codepoint < 32 || (codepoint > 126 && codepoint < 160)) 006ba 8d 4e e0 lea ecx, DWORD PTR [rsi-32] 006bd 83 f9 5e cmp ecx, 94 ; 0000005eH 006c0 76 0c jbe SHORT $LN279@windowProc 006c2 81 fe a0 00 00 00 cmp esi, 160 ; 000000a0H 006c8 0f 82 ae 09 00 00 jb $LN164@windowProc $LN279@windowProc: ; 318 : return; ; 319 : ; 320 : if (!window->lockKeyMods) ; 321 : mods &= ~(GLFW_MOD_CAPS_LOCK | GLFW_MOD_NUM_LOCK); ; 322 : ; 323 : if (window->callbacks.charmods) 006ce 4c 8b 8b 48 03 00 00 mov r9, QWORD PTR [rbx+840] 006d5 4d 85 c9 test r9, r9 006d8 74 1a je SHORT $LN282@windowProc 006da 44 8b c0 mov r8d, eax ; 324 : window->callbacks.charmods((GLFWwindow*)window, codepoint, mods); 006dd 8b d6 mov edx, esi 006df 41 83 e0 cf and r8d, -49 ; ffffffffffffffcfH 006e3 48 8b cb mov rcx, rbx 006e6 83 bb 80 00 00 00 00 cmp DWORD PTR [rbx+128], 0 006ed 44 0f 45 c0 cmovne r8d, eax 006f1 41 ff d1 call r9 $LN282@windowProc: ; 325 : ; 326 : if (plain) ; 327 : { ; 328 : if (window->callbacks.character) 006f4 48 8b 83 40 03 00 00 mov rax, QWORD PTR [rbx+832] 006fb 48 85 c0 test rax, rax 006fe 0f 84 78 09 00 00 je $LN164@windowProc ; 329 : window->callbacks.character((GLFWwindow*)window, codepoint); 00704 8b d6 mov edx, esi 00706 48 8b cb mov rcx, rbx 00709 ff d0 call rax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 624 : if (window->monitor) 0070b e9 6c 09 00 00 jmp $LN164@windowProc $LN59@windowProc: ; 700 : return 0; ; 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; 00710 49 8b c7 mov rax, r15 00713 48 c1 e8 10 shr rax, 16 00717 0f b7 f8 movzx edi, ax 0071a 44 8b f7 mov r14d, edi 0071d 89 7c 24 44 mov DWORD PTR tv2857[rsp], edi 00721 41 c1 ee 0f shr r14d, 15 00725 41 f7 d6 not r14d 00728 41 83 e6 01 and r14d, 1 0072c e8 00 00 00 00 call getKeyMods 00731 89 44 24 48 mov DWORD PTR mods$1$[rsp], eax ; 710 : const int mods = getKeyMods(); ; 711 : ; 712 : scancode = (HIWORD(lParam) & (KF_EXTENDED | 0xff)); 00735 81 e7 ff 01 00 00 and edi, 511 ; 000001ffH ; 713 : if (!scancode) 0073b 75 0c 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); 0073d 33 d2 xor edx, edx 0073f 8b ce mov ecx, esi 00741 ff 15 00 00 00 00 call QWORD PTR __imp_MapVirtualKeyW 00747 8b f8 mov edi, eax $LN63@windowProc: ; 718 : } ; 719 : ; 720 : // HACK: Alt+PrtSc has a different scancode than just PrtSc ; 721 : if (scancode == 0x54) 00749 83 ff 54 cmp edi, 84 ; 00000054H 0074c 75 07 jne SHORT $LN64@windowProc ; 722 : scancode = 0x137; 0074e bf 37 01 00 00 mov edi, 311 ; 00000137H ; 723 : ; 724 : // HACK: Ctrl+Pause has a different scancode than just Pause ; 725 : if (scancode == 0x146) 00753 eb 1d jmp SHORT $LN499@windowProc $LN64@windowProc: 00755 81 ff 46 01 00 00 cmp edi, 326 ; 00000146H 0075b 75 07 jne SHORT $LN65@windowProc ; 726 : scancode = 0x45; 0075d bf 45 00 00 00 mov edi, 69 ; 00000045H ; 727 : ; 728 : // HACK: CJK IME sets the extended bit for right Shift ; 729 : if (scancode == 0x136) 00762 eb 0e jmp SHORT $LN499@windowProc $LN65@windowProc: 00764 81 ff 36 01 00 00 cmp edi, 310 ; 00000136H 0076a b8 36 00 00 00 mov eax, 54 ; 00000036H 0076f 0f 44 f8 cmove edi, eax $LN499@windowProc: ; 730 : scancode = 0x36; ; 731 : ; 732 : key = _glfw.win32.keycodes[scancode]; 00772 48 63 c7 movsxd rax, edi 00775 89 7d 9f mov DWORD PTR scancode$2$[rbp-201], edi 00778 45 0f bf a4 44 a8 1b 00 00 movsx r12d, WORD PTR _glfw[r12+rax*2+7080] 00781 44 89 64 24 40 mov DWORD PTR key$1$[rsp], r12d ; 733 : ; 734 : // The Ctrl keys require special handling ; 735 : if (wParam == VK_CONTROL) 00786 48 83 fe 11 cmp rsi, 17 0078a 75 7f jne SHORT $LN67@windowProc ; 736 : { ; 737 : if (HIWORD(lParam) & KF_EXTENDED) 0078c b8 00 01 00 00 mov eax, 256 ; 00000100H 00791 66 85 44 24 44 test WORD PTR tv2857[rsp], ax 00796 74 0d je SHORT $LN69@windowProc ; 738 : { ; 739 : // Right side keys have the extended key bit set ; 740 : key = GLFW_KEY_RIGHT_CONTROL; 00798 41 bc 59 01 00 00 mov r12d, 345 ; 00000159H 0079e 44 89 64 24 40 mov DWORD PTR key$1$[rsp], r12d ; 741 : } 007a3 eb 73 jmp SHORT $LN75@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(); 007a5 ff 15 00 00 00 00 call QWORD PTR __imp_GetMessageTime ; 750 : ; 751 : if (PeekMessageW(&next, NULL, 0, 0, PM_NOREMOVE)) 007ab 33 ff xor edi, edi 007ad 48 8d 4d b7 lea rcx, QWORD PTR next$8[rbp-201] 007b1 45 33 c9 xor r9d, r9d 007b4 89 7c 24 20 mov DWORD PTR [rsp+32], edi 007b8 45 33 c0 xor r8d, r8d 007bb 33 d2 xor edx, edx 007bd 44 8b e0 mov r12d, eax 007c0 ff 15 00 00 00 00 call QWORD PTR __imp_PeekMessageW 007c6 85 c0 test eax, eax 007c8 74 31 je SHORT $LN74@windowProc ; 752 : { ; 753 : if (next.message == WM_KEYDOWN || ; 754 : next.message == WM_SYSKEYDOWN || ; 755 : next.message == WM_KEYUP || 007ca 8b 4d bf mov ecx, DWORD PTR next$8[rbp-193] 007cd 81 c1 00 ff ff ff add ecx, -256 ; ffffff00H 007d3 f7 c1 fa ff ff ff test ecx, -6 ; fffffffaH 007d9 75 20 jne SHORT $LN74@windowProc ; 756 : next.message == WM_SYSKEYUP) ; 757 : { ; 758 : if (next.wParam == VK_MENU && ; 759 : (HIWORD(next.lParam) & KF_EXTENDED) && 007db 48 83 7d c7 12 cmp QWORD PTR next$8[rbp-185], 18 007e0 75 19 jne SHORT $LN74@windowProc 007e2 48 8b 45 cf mov rax, QWORD PTR next$8[rbp-177] 007e6 48 c1 e8 10 shr rax, 16 007ea 66 0f ba e0 08 bt ax, 8 007ef 73 0a jae SHORT $LN74@windowProc 007f1 44 39 65 d7 cmp DWORD PTR next$8[rbp-169], r12d 007f5 0f 84 d6 06 00 00 je $LN2@windowProc $LN74@windowProc: ; 760 : next.time == time) ; 761 : { ; 762 : // Next message is Right Alt down so discard this ; 763 : break; ; 764 : } ; 765 : } ; 766 : } ; 767 : ; 768 : // This is a regular Left Ctrl message ; 769 : key = GLFW_KEY_LEFT_CONTROL; ; 770 : } ; 771 : } 007fb 8b 7d 9f mov edi, DWORD PTR scancode$2$[rbp-201] 007fe 41 bc 55 01 00 00 mov r12d, 341 ; 00000155H 00804 44 89 64 24 40 mov DWORD PTR key$1$[rsp], r12d 00809 eb 0d jmp SHORT $LN75@windowProc $LN67@windowProc: ; 772 : else if (wParam == VK_PROCESSKEY) 0080b 48 81 fe e5 00 00 00 cmp rsi, 229 ; 000000e5H 00812 0f 84 b9 06 00 00 je $LN2@windowProc $LN75@windowProc: ; 773 : { ; 774 : // IME notifies that keys have been filtered by setting the ; 775 : // virtual key-code to VK_PROCESSKEY ; 776 : break; ; 777 : } ; 778 : ; 779 : if (action == GLFW_RELEASE && wParam == VK_SHIFT) 00818 45 85 f6 test r14d, r14d 0081b 75 40 jne SHORT $LN76@windowProc 0081d 48 83 fe 10 cmp rsi, 16 00821 75 3a 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); 00823 44 8b 64 24 48 mov r12d, DWORD PTR mods$1$[rsp] 00828 45 8b ce mov r9d, r14d 0082b 44 8b c7 mov r8d, edi 0082e 44 89 64 24 20 mov DWORD PTR [rsp+32], r12d 00833 ba 54 01 00 00 mov edx, 340 ; 00000154H 00838 48 8b cb mov rcx, rbx 0083b e8 00 00 00 00 call _glfwInputKey ; 785 : _glfwInputKey(window, GLFW_KEY_RIGHT_SHIFT, scancode, action, mods); 00840 45 8b ce mov r9d, r14d 00843 44 89 64 24 20 mov DWORD PTR [rsp+32], r12d 00848 44 8b c7 mov r8d, edi 0084b ba 58 01 00 00 mov edx, 344 ; 00000158H 00850 48 8b cb mov rcx, rbx 00853 e8 00 00 00 00 call _glfwInputKey ; 786 : } 00858 e9 74 06 00 00 jmp $LN2@windowProc $LN76@windowProc: ; 787 : else if (wParam == VK_SNAPSHOT) 0085d 48 83 fe 2c cmp rsi, 44 ; 0000002cH 00861 0f 85 c7 00 00 00 jne $LN78@windowProc ; 788 : { ; 789 : // HACK: Key down is not reported for the Print Screen key ; 790 : _glfwInputKey(window, key, scancode, GLFW_PRESS, mods); 00867 44 8b 44 24 48 mov r8d, DWORD PTR mods$1$[rsp] 0086c 41 8b c0 mov eax, r8d 0086f 44 8d 76 d5 lea r14d, QWORD PTR [rsi-43] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 282 : if (key >= 0 && key <= GLFW_KEY_LAST) 00873 41 81 fc 5c 01 00 00 cmp r12d, 348 ; 0000015cH 0087a 77 1e ja SHORT $LN249@windowProc ; 283 : { ; 284 : GLFWbool repeated = GLFW_FALSE; ; 285 : ; 286 : if (action == GLFW_RELEASE && window->keys[key] == GLFW_RELEASE) 0087c 49 63 cc movsxd rcx, r12d ; 287 : return; ; 288 : ; 289 : if (action == GLFW_PRESS && window->keys[key] == GLFW_PRESS) 0087f 44 38 b4 19 90 00 00 00 cmp BYTE PTR [rcx+rbx+144], r14b 00887 44 88 b4 19 90 00 00 00 mov BYTE PTR [rcx+rbx+144], r14b 0088f 75 09 jne SHORT $LN249@windowProc ; 298 : action = GLFW_REPEAT; 00891 44 8b 64 24 40 mov r12d, DWORD PTR key$1$[rsp] 00896 44 8d 76 d6 lea r14d, QWORD PTR [rsi-42] $LN249@windowProc: ; 299 : } ; 300 : ; 301 : if (!window->lockKeyMods) 0089a 83 bb 80 00 00 00 00 cmp DWORD PTR [rbx+128], 0 008a1 75 03 jne SHORT $LN340@windowProc ; 302 : mods &= ~(GLFW_MOD_CAPS_LOCK | GLFW_MOD_NUM_LOCK); 008a3 83 e0 cf and eax, -49 ; ffffffffffffffcfH $LN340@windowProc: ; 303 : ; 304 : if (window->callbacks.key) 008a6 4c 8b 93 38 03 00 00 mov r10, QWORD PTR [rbx+824] 008ad 4d 85 d2 test r10, r10 008b0 74 18 je SHORT $LN251@windowProc ; 305 : window->callbacks.key((GLFWwindow*)window, key, scancode, action, mods); 008b2 45 8b ce mov r9d, r14d 008b5 89 44 24 20 mov DWORD PTR [rsp+32], eax 008b9 44 8b c7 mov r8d, edi 008bc 41 8b d4 mov edx, r12d 008bf 48 8b cb mov rcx, rbx 008c2 41 ff d2 call r10 008c5 44 8b 44 24 48 mov r8d, DWORD PTR mods$1$[rsp] $LN251@windowProc: ; 282 : if (key >= 0 && key <= GLFW_KEY_LAST) 008ca 41 81 fc 5c 01 00 00 cmp r12d, 348 ; 0000015cH 008d1 77 22 ja SHORT $LN239@windowProc ; 283 : { ; 284 : GLFWbool repeated = GLFW_FALSE; ; 285 : ; 286 : if (action == GLFW_RELEASE && window->keys[key] == GLFW_RELEASE) 008d3 49 63 d4 movsxd rdx, r12d 008d6 80 bc 1a 90 00 00 00 00 cmp BYTE PTR [rdx+rbx+144], 0 008de 0f 84 ed 05 00 00 je $LN2@windowProc ; 290 : repeated = GLFW_TRUE; ; 291 : ; 292 : if (action == GLFW_RELEASE && window->stickyKeys) ; 293 : window->keys[key] = _GLFW_STICK; ; 294 : else ; 295 : window->keys[key] = (char)action; ; 296 : ; 297 : if (repeated) 008e4 8b 43 78 mov eax, DWORD PTR [rbx+120] 008e7 f7 d8 neg eax 008e9 1a c9 sbb cl, cl 008eb 80 e1 03 and cl, 3 008ee 88 8c 1a 90 00 00 00 mov BYTE PTR [rdx+rbx+144], cl $LN239@windowProc: ; 303 : ; 304 : if (window->callbacks.key) 008f5 4c 8b 93 38 03 00 00 mov r10, QWORD PTR [rbx+824] 008fc 4d 85 d2 test r10, r10 008ff 0f 84 cc 05 00 00 je $LN2@windowProc 00905 41 8b c0 mov eax, r8d ; 305 : window->callbacks.key((GLFWwindow*)window, key, scancode, action, mods); 00908 41 8b d4 mov edx, r12d 0090b 83 e0 cf and eax, -49 ; ffffffffffffffcfH 0090e 48 8b cb mov rcx, rbx 00911 83 bb 80 00 00 00 00 cmp DWORD PTR [rbx+128], 0 00918 41 0f 45 c0 cmovne eax, r8d 0091c 45 33 c9 xor r9d, r9d 0091f 44 8b c7 mov r8d, edi 00922 89 44 24 20 mov DWORD PTR [rsp+32], eax 00926 41 ff d2 call r10 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 792 : } 00929 e9 a3 05 00 00 jmp $LN2@windowProc $LN78@windowProc: ; 793 : else ; 794 : _glfwInputKey(window, key, scancode, action, mods); 0092e 8b 44 24 48 mov eax, DWORD PTR mods$1$[rsp] 00932 45 8b ce mov r9d, r14d 00935 44 8b c7 mov r8d, edi 00938 89 44 24 20 mov DWORD PTR [rsp+32], eax 0093c 41 8b d4 mov edx, r12d 0093f 48 8b cb mov rcx, rbx 00942 e8 00 00 00 00 call _glfwInputKey ; 795 : ; 796 : break; 00947 e9 85 05 00 00 jmp $LN2@windowProc $LN40@windowProc: ; 615 : } ; 616 : ; 617 : case WM_SYSCOMMAND: ; 618 : { ; 619 : switch (wParam & 0xfff0) 0094c 48 8b c6 mov rax, rsi 0094f 25 f0 ff 00 00 and eax, 65520 ; 0000fff0H 00954 48 2d 00 f1 00 00 sub rax, 61696 ; 0000f100H 0095a 0f 84 36 fd ff ff je $LN44@windowProc 00960 48 83 e8 40 sub rax, 64 ; 00000040H 00964 74 0a je SHORT $LN41@windowProc 00966 48 83 f8 30 cmp rax, 48 ; 00000030H 0096a 0f 85 61 05 00 00 jne $LN2@windowProc $LN41@windowProc: ; 624 : if (window->monitor) 00970 48 83 7b 50 00 cmp QWORD PTR [rbx+80], 0 00975 0f 85 01 07 00 00 jne $LN164@windowProc 0097b e9 51 05 00 00 jmp $LN2@windowProc $LN179@windowProc: ; 552 : } ; 553 : ; 554 : switch (uMsg) 00980 41 81 fd 1e 03 00 00 cmp r13d, 798 ; 0000031eH 00987 0f 87 d1 06 00 00 ja $LN180@windowProc 0098d 0f 84 d8 06 00 00 je $LN162@windowProc 00993 41 8d 85 00 fe ff ff lea eax, DWORD PTR [r13-512] 0099a 3d e4 00 00 00 cmp eax, 228 ; 000000e4H 0099f 0f 87 2c 05 00 00 ja $LN2@windowProc 009a5 4c 8d 25 00 00 00 00 lea r12, OFFSET FLAT:__ImageBase 009ac 41 0f b6 84 04 00 00 00 00 movzx eax, BYTE PTR $LN360@windowProc[r12+rax] 009b5 41 8b 8c 84 00 00 00 00 mov ecx, DWORD PTR $LN361@windowProc[r12+rax*4] 009bd 49 03 cc add rcx, r12 009c0 ff e1 jmp rcx $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) 009c2 4d 85 ff test r15, r15 009c5 0f 85 06 05 00 00 jne $LN2@windowProc 009cb 44 39 bb 74 03 00 00 cmp DWORD PTR [rbx+884], r15d 009d2 0f 84 f9 04 00 00 je $LN2@windowProc ; 574 : { ; 575 : if (window->cursorMode == GLFW_CURSOR_DISABLED) 009d8 8b 83 84 00 00 00 mov eax, DWORD PTR [rbx+132] 009de 3d 03 40 03 00 cmp eax, 212995 ; 00034003H 009e3 75 15 jne SHORT $LN27@windowProc ; 576 : disableCursor(window); 009e5 48 8b cb mov rcx, rbx 009e8 e8 00 00 00 00 call disableCursor ; 579 : ; 580 : window->win32.frameAction = GLFW_FALSE; 009ed 33 ff xor edi, edi 009ef 89 bb 74 03 00 00 mov DWORD PTR [rbx+884], edi ; 581 : } ; 582 : ; 583 : break; 009f5 e9 d7 04 00 00 jmp $LN2@windowProc $LN27@windowProc: ; 577 : else if (window->cursorMode == GLFW_CURSOR_CAPTURED) 009fa 3d 04 40 03 00 cmp eax, 212996 ; 00034004H 009ff 75 08 jne SHORT $LN29@windowProc ; 578 : captureCursor(window); 00a01 48 8b cb mov rcx, rbx 00a04 e8 00 00 00 00 call captureCursor $LN29@windowProc: ; 579 : ; 580 : window->win32.frameAction = GLFW_FALSE; 00a09 33 ff xor edi, edi 00a0b 89 bb 74 03 00 00 mov DWORD PTR [rbx+884], edi ; 581 : } ; 582 : ; 583 : break; 00a11 e9 bb 04 00 00 jmp $LN2@windowProc $LN80@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) 00a16 41 8d 85 ff fd ff ff lea eax, DWORD PTR [r13-513] 00a1d 33 ff xor edi, edi 00a1f 41 3b c6 cmp eax, r14d 00a22 76 3a jbe SHORT $LN90@windowProc ; 811 : button = GLFW_MOUSE_BUTTON_LEFT; ; 812 : else if (uMsg == WM_RBUTTONDOWN || uMsg == WM_RBUTTONUP) 00a24 41 8d 85 fc fd ff ff lea eax, DWORD PTR [r13-516] 00a2b 41 3b c6 cmp eax, r14d 00a2e 76 29 jbe SHORT $LN93@windowProc ; 814 : else if (uMsg == WM_MBUTTONDOWN || uMsg == WM_MBUTTONUP) 00a30 41 8d 85 f9 fd ff ff lea eax, DWORD PTR [r13-519] 00a37 41 3b c6 cmp eax, r14d 00a3a 76 15 jbe SHORT $LN96@windowProc ; 816 : else if (GET_XBUTTON_WPARAM(wParam) == XBUTTON1) 00a3c 48 c1 ee 10 shr rsi, 16 00a40 44 8b e7 mov r12d, edi 00a43 66 41 3b f6 cmp si, r14w 00a47 41 0f 95 c4 setne r12b 00a4b 41 83 c4 03 add r12d, 3 ; 817 : button = GLFW_MOUSE_BUTTON_4; ; 818 : else ; 819 : button = GLFW_MOUSE_BUTTON_5; 00a4f eb 2c jmp SHORT $LN346@windowProc $LN96@windowProc: ; 815 : button = GLFW_MOUSE_BUTTON_MIDDLE; 00a51 41 bc 02 00 00 00 mov r12d, 2 00a57 eb 1b jmp SHORT $LN345@windowProc $LN93@windowProc: ; 813 : button = GLFW_MOUSE_BUTTON_RIGHT; 00a59 45 8b e6 mov r12d, r14d 00a5c eb 0d jmp SHORT $LN342@windowProc $LN90@windowProc: ; 820 : ; 821 : if (uMsg == WM_LBUTTONDOWN || uMsg == WM_RBUTTONDOWN || ; 822 : uMsg == WM_MBUTTONDOWN || uMsg == WM_XBUTTONDOWN) 00a5e b9 01 02 00 00 mov ecx, 513 ; 00000201H 00a63 44 8b e7 mov r12d, edi 00a66 44 3b e9 cmp r13d, ecx 00a69 74 1d je SHORT $LN101@windowProc $LN342@windowProc: 00a6b 41 81 fd 04 02 00 00 cmp r13d, 516 ; 00000204H 00a72 74 14 je SHORT $LN101@windowProc $LN345@windowProc: 00a74 41 81 fd 07 02 00 00 cmp r13d, 519 ; 00000207H 00a7b 74 0b je SHORT $LN101@windowProc $LN346@windowProc: ; 825 : } ; 826 : else ; 827 : action = GLFW_RELEASE; 00a7d 8b f7 mov esi, edi 00a7f 41 81 fd 0b 02 00 00 cmp r13d, 523 ; 0000020bH 00a86 75 03 jne SHORT $LN100@windowProc $LN101@windowProc: ; 823 : { ; 824 : action = GLFW_PRESS; 00a88 41 8b f6 mov esi, r14d $LN100@windowProc: ; 828 : ; 829 : for (i = 0; i <= GLFW_MOUSE_BUTTON_LAST; i++) 00a8b 8b cf mov ecx, edi ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 302 : mods &= ~(GLFW_MOD_CAPS_LOCK | GLFW_MOD_NUM_LOCK); 00a8d 48 8b c7 mov rax, rdi $LL8@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 831 : if (window->mouseButtons[i] == GLFW_PRESS) 00a90 44 38 b4 03 88 00 00 00 cmp BYTE PTR [rbx+rax+136], r14b 00a98 74 0b je SHORT $LN319@windowProc ; 828 : ; 829 : for (i = 0; i <= GLFW_MOUSE_BUTTON_LAST; i++) 00a9a ff c1 inc ecx 00a9c 48 ff c0 inc rax 00a9f 48 83 f8 07 cmp rax, 7 00aa3 7e eb jle SHORT $LL8@windowProc $LN319@windowProc: ; 832 : break; ; 833 : } ; 834 : ; 835 : if (i > GLFW_MOUSE_BUTTON_LAST) 00aa5 83 f9 07 cmp ecx, 7 00aa8 7e 0a jle SHORT $LN103@windowProc ; 836 : SetCapture(hWnd); 00aaa 48 8b 4d a7 mov rcx, QWORD PTR hWnd$GSCopy$1$[rbp-201] 00aae ff 15 00 00 00 00 call QWORD PTR __imp_SetCapture $LN103@windowProc: ; 837 : ; 838 : _glfwInputMouseClick(window, button, action, getKeyMods()); 00ab4 e8 00 00 00 00 call getKeyMods 00ab9 44 8b c8 mov r9d, eax 00abc 44 8b c6 mov r8d, esi 00abf 41 8b d4 mov edx, r12d 00ac2 48 8b cb mov rcx, rbx 00ac5 e8 00 00 00 00 call _glfwInputMouseClick ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 302 : mods &= ~(GLFW_MOD_CAPS_LOCK | GLFW_MOD_NUM_LOCK); 00aca 48 8b c7 mov rax, rdi 00acd 0f 1f 00 npad 3 $LL11@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 842 : if (window->mouseButtons[i] == GLFW_PRESS) 00ad0 44 38 b4 03 88 00 00 00 cmp BYTE PTR [rbx+rax+136], r14b 00ad8 74 0b je SHORT $LN320@windowProc ; 839 : ; 840 : for (i = 0; i <= GLFW_MOUSE_BUTTON_LAST; i++) 00ada ff c7 inc edi 00adc 48 ff c0 inc rax 00adf 48 83 f8 07 cmp rax, 7 00ae3 7e eb jle SHORT $LL11@windowProc $LN320@windowProc: ; 843 : break; ; 844 : } ; 845 : ; 846 : if (i > GLFW_MOUSE_BUTTON_LAST) 00ae5 83 ff 07 cmp edi, 7 00ae8 7e 06 jle SHORT $LN105@windowProc ; 847 : ReleaseCapture(); 00aea ff 15 00 00 00 00 call QWORD PTR __imp_ReleaseCapture $LN105@windowProc: ; 848 : ; 849 : if (uMsg == WM_XBUTTONDOWN || uMsg == WM_XBUTTONUP) 00af0 41 8d 85 f5 fd ff ff lea eax, DWORD PTR [r13-523] 00af7 41 3b c6 cmp eax, r14d 00afa 0f 87 7c 05 00 00 ja $LN164@windowProc $LN107@windowProc: ; 850 : return TRUE; 00b00 49 8b c6 mov rax, r14 00b03 e9 76 05 00 00 jmp $LN496@windowProc $LN108@windowProc: ; 851 : ; 852 : return 0; ; 853 : } ; 854 : ; 855 : case WM_MOUSEMOVE: ; 856 : { ; 857 : const int x = GET_X_LPARAM(lParam); ; 858 : const int y = GET_Y_LPARAM(lParam); 00b08 49 8b c7 mov rax, r15 00b0b 41 0f bf ff movsx edi, r15w 00b0f 48 c1 e8 10 shr rax, 16 ; 859 : ; 860 : if (!window->win32.cursorTracked) 00b13 83 bb 70 03 00 00 00 cmp DWORD PTR [rbx+880], 0 00b1a 44 0f bf f0 movsx r14d, ax 00b1e 44 89 75 9f mov DWORD PTR y$1$[rbp-201], r14d 00b22 89 7c 24 40 mov DWORD PTR x$1$[rsp], edi 00b26 75 55 jne SHORT $LN303@windowProc ; 861 : { ; 862 : TRACKMOUSEEVENT tme; ; 863 : ZeroMemory(&tme, sizeof(tme)); ; 864 : tme.cbSize = sizeof(tme); ; 865 : tme.dwFlags = TME_LEAVE; ; 866 : tme.hwndTrack = window->win32.handle; 00b28 48 8b 83 58 03 00 00 mov rax, QWORD PTR [rbx+856] ; 867 : TrackMouseEvent(&tme); 00b2f 48 8d 4d 87 lea rcx, QWORD PTR tme$4[rbp-201] 00b33 33 ff xor edi, edi 00b35 48 89 45 8f mov QWORD PTR tme$4[rbp-193], rax 00b39 41 bc 02 00 00 00 mov r12d, 2 00b3f 48 89 7d 97 mov QWORD PTR tme$4[rbp-185], rdi 00b43 44 89 65 8b mov DWORD PTR tme$4[rbp-197], r12d 00b47 c7 45 87 18 00 00 00 mov DWORD PTR tme$4[rbp-201], 24 00b4e ff 15 00 00 00 00 call QWORD PTR __imp_TrackMouseEvent ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 400 : if (window->callbacks.cursorEnter) 00b54 48 8b 83 28 03 00 00 mov rax, QWORD PTR [rbx+808] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 869 : window->win32.cursorTracked = GLFW_TRUE; 00b5b 41 be 01 00 00 00 mov r14d, 1 00b61 44 89 b3 70 03 00 00 mov DWORD PTR [rbx+880], r14d ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 400 : if (window->callbacks.cursorEnter) 00b68 48 85 c0 test rax, rax 00b6b 74 08 je SHORT $LN366@windowProc ; 401 : window->callbacks.cursorEnter((GLFWwindow*)window, entered); 00b6d 41 8b d6 mov edx, r14d 00b70 48 8b cb mov rcx, rbx 00b73 ff d0 call rax $LN366@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 873 : if (window->cursorMode == GLFW_CURSOR_DISABLED) 00b75 44 8b 75 9f mov r14d, DWORD PTR y$1$[rbp-201] 00b79 8b 7c 24 40 mov edi, DWORD PTR x$1$[rsp] $LN303@windowProc: 00b7d 81 bb 84 00 00 00 03 40 03 00 cmp DWORD PTR [rbx+132], 212995 ; 00034003H 00b87 75 4d jne SHORT $LN110@windowProc ; 877 : ; 878 : if (_glfw.win32.disabledCursorWindow != window) 00b89 48 39 1d 48 29 00 00 cmp QWORD PTR _glfw+10568, rbx 00b90 0f 85 3b 03 00 00 jne $LN2@windowProc ; 879 : break; ; 880 : if (window->rawMouseMotion) 00b96 83 bb 00 02 00 00 00 cmp DWORD PTR [rbx+512], 0 00b9d 0f 85 2e 03 00 00 jne $LN2@windowProc ; 874 : { ; 875 : const int dx = x - window->win32.lastCursorPosX; 00ba3 8b c7 mov eax, edi 00ba5 2b 83 94 03 00 00 sub eax, DWORD PTR [rbx+916] 00bab 66 0f 6e c8 movd xmm1, eax ; 876 : const int dy = y - window->win32.lastCursorPosY; 00baf 41 8b c6 mov eax, r14d 00bb2 2b 83 98 03 00 00 sub eax, DWORD PTR [rbx+920] ; 881 : break; ; 882 : ; 883 : _glfwInputCursorPos(window, 00bb8 f3 0f e6 c9 cvtdq2pd xmm1, xmm1 00bbc 66 0f 6e d0 movd xmm2, eax 00bc0 f2 0f 58 8b f0 01 00 00 addsd xmm1, QWORD PTR [rbx+496] 00bc8 f3 0f e6 d2 cvtdq2pd xmm2, xmm2 00bcc f2 0f 58 93 f8 01 00 00 addsd xmm2, QWORD PTR [rbx+504] ; 884 : window->virtualCursorPosX + dx, ; 885 : window->virtualCursorPosY + dy); ; 886 : } 00bd4 eb 11 jmp SHORT $LN111@windowProc $LN110@windowProc: 00bd6 66 0f 6e cf movd xmm1, edi 00bda 66 41 0f 6e d6 movd xmm2, r14d ; 887 : else ; 888 : _glfwInputCursorPos(window, x, y); 00bdf f3 0f e6 c9 cvtdq2pd xmm1, xmm1 00be3 f3 0f e6 d2 cvtdq2pd xmm2, xmm2 $LN111@windowProc: ; 889 : ; 890 : window->win32.lastCursorPosX = x; 00be7 48 8b cb mov rcx, rbx 00bea e8 00 00 00 00 call _glfwInputCursorPos 00bef 89 bb 94 03 00 00 mov DWORD PTR [rbx+916], edi ; 891 : window->win32.lastCursorPosY = y; 00bf5 44 89 b3 98 03 00 00 mov DWORD PTR [rbx+920], r14d ; 892 : ; 893 : return 0; 00bfc e9 7b 04 00 00 jmp $LN164@windowProc $LN121@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 400 : if (window->callbacks.cursorEnter) 00c01 48 8b 83 28 03 00 00 mov rax, QWORD PTR [rbx+808] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 949 : window->win32.cursorTracked = GLFW_FALSE; 00c08 33 ff xor edi, edi 00c0a 89 bb 70 03 00 00 mov DWORD PTR [rbx+880], edi ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 400 : if (window->callbacks.cursorEnter) 00c10 48 85 c0 test rax, rax 00c13 0f 84 63 04 00 00 je $LN164@windowProc ; 401 : window->callbacks.cursorEnter((GLFWwindow*)window, entered); 00c19 33 d2 xor edx, edx 00c1b 48 8b cb mov rcx, rbx 00c1e ff d0 call rax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 72 : if (window->monitor || window->floating) 00c20 e9 57 04 00 00 jmp $LN164@windowProc $LN122@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 343 : if (window->callbacks.scroll) 00c25 48 8b 93 30 03 00 00 mov rdx, QWORD PTR [rbx+816] 00c2c 48 85 d2 test rdx, rdx 00c2f 0f 84 47 04 00 00 je $LN164@windowProc ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 956 : _glfwInputScroll(window, 0.0, (SHORT) HIWORD(wParam) / (double) WHEEL_DELTA); 00c35 48 c1 ee 10 shr rsi, 16 00c39 0f 57 c9 xorps xmm1, xmm1 00c3c 0f bf c6 movsx eax, si ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 344 : window->callbacks.scroll((GLFWwindow*)window, xoffset, yoffset); 00c3f 48 8b cb mov rcx, rbx 00c42 66 0f 6e d0 movd xmm2, eax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 956 : _glfwInputScroll(window, 0.0, (SHORT) HIWORD(wParam) / (double) WHEEL_DELTA); 00c46 f3 0f e6 d2 cvtdq2pd xmm2, xmm2 00c4a f2 0f 5e 15 00 00 00 00 divsd xmm2, QWORD PTR __real@405e000000000000 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 344 : window->callbacks.scroll((GLFWwindow*)window, xoffset, yoffset); 00c52 ff d2 call rdx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 72 : if (window->monitor || window->floating) 00c54 e9 23 04 00 00 jmp $LN164@windowProc $LN123@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 343 : if (window->callbacks.scroll) 00c59 48 8b 93 30 03 00 00 mov rdx, QWORD PTR [rbx+816] 00c60 48 85 d2 test rdx, rdx 00c63 0f 84 13 04 00 00 je $LN164@windowProc ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 964 : _glfwInputScroll(window, -((SHORT) HIWORD(wParam) / (double) WHEEL_DELTA), 0.0); 00c69 48 c1 ee 10 shr rsi, 16 00c6d 0f 57 d2 xorps xmm2, xmm2 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 344 : window->callbacks.scroll((GLFWwindow*)window, xoffset, yoffset); 00c70 0f bf c6 movsx eax, si 00c73 48 8b cb mov rcx, rbx 00c76 66 0f 6e c8 movd xmm1, eax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 964 : _glfwInputScroll(window, -((SHORT) HIWORD(wParam) / (double) WHEEL_DELTA), 0.0); 00c7a f3 0f e6 c9 cvtdq2pd xmm1, xmm1 00c7e f2 0f 5e 0d 00 00 00 00 divsd xmm1, QWORD PTR __real@405e000000000000 00c86 0f 57 0d 00 00 00 00 xorps xmm1, QWORD PTR __xmm@80000000000000008000000000000000 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 344 : window->callbacks.scroll((GLFWwindow*)window, xoffset, yoffset); 00c8d ff d2 call rdx ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 72 : if (window->monitor || window->floating) 00c8f e9 e8 03 00 00 jmp $LN164@windowProc $LN124@windowProc: ; 965 : return 0; ; 966 : } ; 967 : ; 968 : case WM_ENTERSIZEMOVE: ; 969 : case WM_ENTERMENULOOP: ; 970 : { ; 971 : if (window->win32.frameAction) 00c94 83 bb 74 03 00 00 00 cmp DWORD PTR [rbx+884], 0 00c9b 0f 85 30 02 00 00 jne $LN2@windowProc ; 972 : break; ; 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) 00ca1 8b 83 84 00 00 00 mov eax, DWORD PTR [rbx+132] 00ca7 3d 03 40 03 00 cmp eax, 212995 ; 00034003H 00cac 75 0d jne SHORT $LN127@windowProc ; 977 : enableCursor(window); 00cae 48 8b cb mov rcx, rbx 00cb1 e8 00 00 00 00 call enableCursor 00cb6 e9 16 02 00 00 jmp $LN2@windowProc $LN127@windowProc: ; 978 : else if (window->cursorMode == GLFW_CURSOR_CAPTURED) 00cbb 3d 04 40 03 00 cmp eax, 212996 ; 00034004H 00cc0 0f 85 0b 02 00 00 jne $LN2@windowProc ; 256 : ClipCursor(NULL); 00cc6 33 c9 xor ecx, ecx 00cc8 ff 15 00 00 00 00 call QWORD PTR __imp_ClipCursor ; 257 : _glfw.win32.capturedCursorWindow = NULL; 00cce 33 ff xor edi, edi 00cd0 48 89 3d 50 29 00 00 mov QWORD PTR _glfw+10576, rdi ; 979 : releaseCursor(); ; 980 : ; 981 : break; 00cd7 e9 f5 01 00 00 jmp $LN2@windowProc $LN130@windowProc: ; 982 : } ; 983 : ; 984 : case WM_EXITSIZEMOVE: ; 985 : case WM_EXITMENULOOP: ; 986 : { ; 987 : if (window->win32.frameAction) 00cdc 83 bb 74 03 00 00 00 cmp DWORD PTR [rbx+884], 0 00ce3 0f 85 e8 01 00 00 jne $LN2@windowProc ; 988 : break; ; 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) 00ce9 8b 83 84 00 00 00 mov eax, DWORD PTR [rbx+132] 00cef 3d 03 40 03 00 cmp eax, 212995 ; 00034003H 00cf4 75 0d jne SHORT $LN133@windowProc ; 993 : disableCursor(window); 00cf6 48 8b cb mov rcx, rbx 00cf9 e8 00 00 00 00 call disableCursor 00cfe e9 ce 01 00 00 jmp $LN2@windowProc $LN133@windowProc: ; 994 : else if (window->cursorMode == GLFW_CURSOR_CAPTURED) 00d03 3d 04 40 03 00 cmp eax, 212996 ; 00034004H 00d08 0f 85 c3 01 00 00 jne $LN2@windowProc ; 995 : captureCursor(window); 00d0e 48 8b cb mov rcx, rbx 00d11 e8 00 00 00 00 call captureCursor ; 996 : ; 997 : break; 00d16 e9 b6 01 00 00 jmp $LN2@windowProc $LN147@windowProc: ; 1051 : GET_X_LPARAM(lParam), ; 1052 : GET_Y_LPARAM(lParam)); ; 1053 : return 0; ; 1054 : } ; 1055 : ; 1056 : case WM_SIZING: ; 1057 : { ; 1058 : if (window->numer == GLFW_DONT_CARE || 00d1b 83 7b 70 ff cmp DWORD PTR [rbx+112], -1 00d1f 0f 84 ac 01 00 00 je $LN2@windowProc 00d25 83 7b 74 ff cmp DWORD PTR [rbx+116], -1 00d29 0f 84 a2 01 00 00 je $LN2@windowProc ; 1059 : window->denom == GLFW_DONT_CARE) ; 1060 : { ; 1061 : break; ; 1062 : } ; 1063 : ; 1064 : applyAspectRatio(window, (int) wParam, (RECT*) lParam); 00d2f 4d 8b c7 mov r8, r15 00d32 8b d6 mov edx, esi 00d34 48 8b cb mov rcx, rbx 00d37 e8 00 00 00 00 call applyAspectRatio ; 1065 : return TRUE; 00d3c 49 8b c6 mov rax, r14 00d3f e9 3a 03 00 00 jmp $LN496@windowProc $LN165@windowProc: ; 1147 : } ; 1148 : ; 1149 : case WM_GETDPISCALEDSIZE: ; 1150 : { ; 1151 : if (window->win32.scaleToMonitor) 00d44 83 bb 84 03 00 00 00 cmp DWORD PTR [rbx+900], 0 00d4b 0f 85 80 01 00 00 jne $LN2@windowProc ; 1152 : break; ; 1153 : ; 1154 : // Adjust the window size to keep the content area size constant ; 1155 : if (_glfwIsWindows10Version1703OrGreaterWin32()) 00d51 b9 d7 3a 00 00 mov ecx, 15063 ; 00003ad7H 00d56 e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 00d5b 85 c0 test eax, eax 00d5d 0f 84 6e 01 00 00 je $LN2@windowProc ; 72 : if (window->monitor || window->floating) 00d63 48 83 7b 50 00 cmp QWORD PTR [rbx+80], 0 00d68 4c 8d 73 14 lea r14, QWORD PTR [rbx+20] 00d6c 0f 57 c0 xorps xmm0, xmm0 00d6f 0f 57 c9 xorps xmm1, xmm1 ; 70 : DWORD style = WS_EX_APPWINDOW; 00d72 bf 00 00 04 00 mov edi, 262144 ; 00040000H ; 1156 : { ; 1157 : RECT source = {0}, target = {0}; 00d77 0f 11 45 87 movups XMMWORD PTR source$2[rbp-201], xmm0 ; 70 : DWORD style = WS_EX_APPWINDOW; 00d7b 44 8b e7 mov r12d, edi ; 1156 : { ; 1157 : RECT source = {0}, target = {0}; 00d7e 0f 11 4d a7 movups XMMWORD PTR target$6[rbp-201], xmm1 ; 72 : if (window->monitor || window->floating) 00d82 75 06 jne SHORT $LN333@windowProc 00d84 41 83 3e 00 cmp DWORD PTR [r14], 0 00d88 74 06 je SHORT $LN306@windowProc $LN333@windowProc: ; 73 : style |= WS_EX_TOPMOST; 00d8a 41 bc 08 00 04 00 mov r12d, 262152 ; 00040008H $LN306@windowProc: ; 1158 : SIZE* size = (SIZE*) lParam; ; 1159 : ; 1160 : AdjustWindowRectExForDpi(&source, getWindowStyle(window), 00d90 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00d97 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 00d9d 48 8b cb mov rcx, rbx 00da0 44 8b c0 mov r8d, eax 00da3 e8 00 00 00 00 call getWindowStyle 00da8 44 89 44 24 20 mov DWORD PTR [rsp+32], r8d 00dad 48 8d 4d 87 lea rcx, QWORD PTR source$2[rbp-201] 00db1 8b d0 mov edx, eax 00db3 45 33 c0 xor r8d, r8d 00db6 45 8b cc mov r9d, r12d 00db9 ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 72 : if (window->monitor || window->floating) 00dbf 48 83 7b 50 00 cmp QWORD PTR [rbx+80], 0 00dc4 75 06 jne SHORT $LN311@windowProc 00dc6 41 83 3e 00 cmp DWORD PTR [r14], 0 00dca 74 05 je SHORT $LN310@windowProc $LN311@windowProc: ; 73 : style |= WS_EX_TOPMOST; 00dcc bf 08 00 04 00 mov edi, 262152 ; 00040008H $LN310@windowProc: ; 1161 : FALSE, getWindowExStyle(window), ; 1162 : GetDpiForWindow(window->win32.handle)); ; 1163 : AdjustWindowRectExForDpi(&target, getWindowStyle(window), 00dd1 48 8b cb mov rcx, rbx 00dd4 44 0f b7 c6 movzx r8d, si 00dd8 e8 00 00 00 00 call getWindowStyle 00ddd 44 89 44 24 20 mov DWORD PTR [rsp+32], r8d 00de2 48 8d 4d a7 lea rcx, QWORD PTR target$6[rbp-201] 00de6 8b d0 mov edx, eax 00de8 45 33 c0 xor r8d, r8d 00deb 44 8b cf mov r9d, edi 00dee 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) - 00df4 8b 45 87 mov eax, DWORD PTR source$2[rbp-201] 00df7 2b 45 8f sub eax, DWORD PTR source$2[rbp-193] 00dfa 2b 45 a7 sub eax, DWORD PTR target$6[rbp-201] 00dfd 03 45 af add eax, DWORD PTR target$6[rbp-193] 00e00 41 01 07 add DWORD PTR [r15], eax ; 1168 : (source.right - source.left); ; 1169 : size->cy += (target.bottom - target.top) - 00e03 8b 45 8b mov eax, DWORD PTR source$2[rbp-197] 00e06 2b 45 93 sub eax, DWORD PTR source$2[rbp-189] 00e09 2b 45 ab sub eax, DWORD PTR target$6[rbp-197] 00e0c 03 45 b3 add eax, DWORD PTR target$6[rbp-189] 00e0f 41 01 47 04 add DWORD PTR [r15+4], eax ; 1170 : (source.bottom - source.top); ; 1171 : return TRUE; 00e13 b8 01 00 00 00 mov eax, 1 00e18 e9 61 02 00 00 jmp $LN496@windowProc $LN168@windowProc: 00e1d 0f 29 b4 24 d0 00 00 00 movaps XMMWORD PTR [rsp+208], xmm6 ; 1172 : } ; 1173 : ; 1174 : break; ; 1175 : } ; 1176 : ; 1177 : case WM_DPICHANGED: ; 1178 : { ; 1179 : const float xscale = HIWORD(wParam) / (float) USER_DEFAULT_SCREEN_DPI; 00e25 48 8b c6 mov rax, rsi 00e28 48 c1 e8 10 shr rax, 16 ; 1180 : const float yscale = LOWORD(wParam) / (float) USER_DEFAULT_SCREEN_DPI; ; 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 && 00e2c 48 83 7b 50 00 cmp QWORD PTR [rbx+80], 0 00e31 0f 29 bc 24 c0 00 00 00 movaps XMMWORD PTR [rsp+192], xmm7 00e39 0f b7 c0 movzx eax, ax 00e3c 66 0f 6e f0 movd xmm6, eax 00e40 0f b7 c6 movzx eax, si 00e43 0f 5b f6 cvtdq2ps xmm6, xmm6 00e46 66 0f 6e f8 movd xmm7, eax 00e4a f3 0f 5e 35 00 00 00 00 divss xmm6, DWORD PTR __real@42c00000 00e52 0f 5b ff cvtdq2ps xmm7, xmm7 00e55 f3 0f 5e 3d 00 00 00 00 divss xmm7, DWORD PTR __real@42c00000 00e5d 75 4b jne SHORT $LN169@windowProc 00e5f 83 bb 84 03 00 00 00 cmp DWORD PTR [rbx+900], 0 00e66 75 0e jne SHORT $LN170@windowProc 00e68 b9 d7 3a 00 00 mov ecx, 15063 ; 00003ad7H 00e6d e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 00e72 85 c0 test eax, eax 00e74 74 34 je SHORT $LN169@windowProc $LN170@windowProc: ; 1185 : (window->win32.scaleToMonitor || ; 1186 : _glfwIsWindows10Version1703OrGreaterWin32())) ; 1187 : { ; 1188 : RECT* suggested = (RECT*) lParam; ; 1189 : SetWindowPos(window->win32.handle, HWND_TOP, 00e76 41 8b 4f 0c mov ecx, DWORD PTR [r15+12] 00e7a 33 d2 xor edx, edx 00e7c 45 8b 4f 04 mov r9d, DWORD PTR [r15+4] 00e80 41 2b c9 sub ecx, r9d 00e83 41 8b 47 08 mov eax, DWORD PTR [r15+8] 00e87 45 8b 07 mov r8d, DWORD PTR [r15] 00e8a 41 2b c0 sub eax, r8d 00e8d c7 44 24 30 14 00 00 00 mov DWORD PTR [rsp+48], 20 00e95 89 4c 24 28 mov DWORD PTR [rsp+40], ecx 00e99 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00ea0 89 44 24 20 mov DWORD PTR [rsp+32], eax 00ea4 ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos $LN169@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\window.c ; 144 : if (window->callbacks.scale) 00eaa 48 8b 83 10 03 00 00 mov rax, QWORD PTR [rbx+784] 00eb1 48 85 c0 test rax, rax 00eb4 74 0b je SHORT $LN498@windowProc ; 145 : window->callbacks.scale((GLFWwindow*) window, xscale, yscale); 00eb6 0f 28 d7 movaps xmm2, xmm7 00eb9 0f 28 ce movaps xmm1, xmm6 00ebc 48 8b cb mov rcx, rbx 00ebf ff d0 call rax $LN498@windowProc: 00ec1 0f 28 b4 24 d0 00 00 00 movaps xmm6, XMMWORD PTR [rsp+208] 00ec9 0f 28 bc 24 c0 00 00 00 movaps xmm7, XMMWORD PTR [rsp+192] $LN2@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1247 : return DefWindowProcW(hWnd, uMsg, wParam, lParam); 00ed1 48 8b 4d a7 mov rcx, QWORD PTR hWnd$GSCopy$1$[rbp-201] 00ed5 4d 8b cf mov r9, r15 00ed8 4c 8b c6 mov r8, rsi 00edb 41 8b d5 mov edx, r13d 00ede ff 15 00 00 00 00 call QWORD PTR __imp_DefWindowProcW 00ee4 e9 95 01 00 00 jmp $LN496@windowProc $LN173@windowProc: ; 1207 : } ; 1208 : ; 1209 : break; ; 1210 : } ; 1211 : ; 1212 : case WM_DROPFILES: ; 1213 : { ; 1214 : HDROP drop = (HDROP) wParam; ; 1215 : POINT pt; ; 1216 : int i; ; 1217 : ; 1218 : const int count = DragQueryFileW(drop, 0xffffffff, NULL, 0); 00ee9 45 33 c9 xor r9d, r9d 00eec 45 33 c0 xor r8d, r8d 00eef ba ff ff ff ff mov edx, -1 ; ffffffffH 00ef4 48 8b ce mov rcx, rsi 00ef7 ff 15 00 00 00 00 call QWORD PTR __imp_DragQueryFileW 00efd 4c 63 f8 movsxd r15, eax ; 1219 : char** paths = _glfw_calloc(count, sizeof(char*)); 00f00 ba 08 00 00 00 mov edx, 8 00f05 49 8b cf mov rcx, r15 00f08 4d 8b ef mov r13, r15 00f0b e8 00 00 00 00 call _glfw_calloc ; 1220 : ; 1221 : // Move the mouse to the position of the drop ; 1222 : DragQueryPoint(drop, &pt); 00f10 48 8d 55 9f lea rdx, QWORD PTR pt$5[rbp-201] 00f14 48 89 44 24 48 mov QWORD PTR paths$1$[rsp], rax 00f19 48 8b ce mov rcx, rsi 00f1c 4c 8b f0 mov r14, rax 00f1f ff 15 00 00 00 00 call QWORD PTR __imp_DragQueryPoint 00f25 66 0f 6e 55 a3 movd xmm2, DWORD PTR pt$5[rbp-197] ; 1223 : _glfwInputCursorPos(window, pt.x, pt.y); 00f2a 48 8b cb mov rcx, rbx 00f2d 66 0f 6e 4d 9f movd xmm1, DWORD PTR pt$5[rbp-201] 00f32 f3 0f e6 d2 cvtdq2pd xmm2, xmm2 00f36 f3 0f e6 c9 cvtdq2pd xmm1, xmm1 00f3a e8 00 00 00 00 call _glfwInputCursorPos 00f3f 33 ff xor edi, edi 00f41 44 8b e7 mov r12d, edi ; 1225 : for (i = 0; i < count; i++) 00f44 45 85 ff test r15d, r15d 00f47 0f 8e af 00 00 00 jle $LN13@windowProc ; 72 : if (window->monitor || window->floating) 00f4d 44 8b ff mov r15d, edi 00f50 49 8b de mov rbx, r14 $LL14@windowProc: ; 1226 : { ; 1227 : const UINT length = DragQueryFileW(drop, i, NULL, 0); 00f53 45 33 c9 xor r9d, r9d 00f56 45 33 c0 xor r8d, r8d 00f59 41 8b d4 mov edx, r12d 00f5c 48 8b ce mov rcx, rsi 00f5f ff 15 00 00 00 00 call QWORD PTR __imp_DragQueryFileW ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 283 : block = _glfw.allocator.allocate(count * size, _glfw.allocator.user); 00f65 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1228 : WCHAR* buffer = _glfw_calloc((size_t) length + 1, sizeof(WCHAR)); 00f6c 8b c8 mov ecx, eax 00f6e 89 44 24 44 mov DWORD PTR length$1$[rsp], eax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 283 : block = _glfw.allocator.allocate(count * size, _glfw.allocator.user); 00f72 4c 8d 34 4d 02 00 00 00 lea r14, QWORD PTR [rcx*2+2] 00f7a 49 8b ce mov rcx, r14 00f7d ff 15 08 00 00 00 call QWORD PTR _glfw+8 ; 284 : if (block) 00f83 48 85 c0 test rax, rax 00f86 74 12 je SHORT $LN257@windowProc ; 285 : return memset(block, 0, count * size); 00f88 4d 8b c6 mov r8, r14 00f8b 33 d2 xor edx, edx 00f8d 48 8b c8 mov rcx, rax 00f90 e8 00 00 00 00 call memset 00f95 4c 8b f0 mov r14, rax 00f98 eb 0f jmp SHORT $LN255@windowProc $LN257@windowProc: ; 286 : else ; 287 : { ; 288 : _glfwInputError(GLFW_OUT_OF_MEMORY, NULL); 00f9a 33 d2 xor edx, edx 00f9c b9 05 00 01 00 mov ecx, 65541 ; 00010005H 00fa1 e8 00 00 00 00 call _glfwInputError ; 289 : return NULL; 00fa6 4c 8b f7 mov r14, rdi $LN255@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1230 : DragQueryFileW(drop, i, buffer, length + 1); 00fa9 44 8b 4c 24 44 mov r9d, DWORD PTR length$1$[rsp] 00fae 4d 8b c6 mov r8, r14 00fb1 41 ff c1 inc r9d 00fb4 41 8b d4 mov edx, r12d 00fb7 48 8b ce mov rcx, rsi 00fba ff 15 00 00 00 00 call QWORD PTR __imp_DragQueryFileW ; 1231 : paths[i] = _glfwCreateUTF8FromWideStringWin32(buffer); 00fc0 49 8b ce mov rcx, r14 00fc3 e8 00 00 00 00 call _glfwCreateUTF8FromWideStringWin32 00fc8 4a 89 04 fb mov QWORD PTR [rbx+r15*8], rax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 320 : if (block) 00fcc 4d 85 f6 test r14, r14 00fcf 74 10 je SHORT $LN12@windowProc ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 00fd1 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 00fd8 49 8b ce mov rcx, r14 00fdb ff 15 18 00 00 00 call QWORD PTR _glfw+24 $LN12@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1225 : for (i = 0; i < count; i++) 00fe1 41 ff c4 inc r12d 00fe4 49 ff c7 inc r15 00fe7 4d 3b fd cmp r15, r13 00fea 0f 8c 63 ff ff ff jl $LL14@windowProc 00ff0 48 8b 5d 87 mov rbx, QWORD PTR window$1$[rbp-201] 00ff4 45 8b fd mov r15d, r13d 00ff7 4c 8b 74 24 48 mov r14, QWORD PTR paths$1$[rsp] $LN13@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 412 : if (window->callbacks.drop) 00ffc 48 8b 83 50 03 00 00 mov rax, QWORD PTR [rbx+848] 01003 48 85 c0 test rax, rax 01006 74 0b je SHORT $LN264@windowProc ; 413 : window->callbacks.drop((GLFWwindow*)window, count, paths); 01008 4d 8b c6 mov r8, r14 0100b 41 8b d7 mov edx, r15d 0100e 48 8b cb mov rcx, rbx 01011 ff d0 call rax $LN264@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1238 : for (i = 0; i < count; i++) 01013 4d 85 ed test r13, r13 01016 7e 26 jle SHORT $LN16@windowProc 01018 0f 1f 84 00 00 00 00 00 npad 8 $LL17@windowProc: ; 1239 : _glfw_free(paths[i]); 01020 49 8b 0c fe mov rcx, QWORD PTR [r14+rdi*8] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 320 : if (block) 01024 48 85 c9 test rcx, rcx 01027 74 0d je SHORT $LN15@windowProc ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 01029 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 01030 ff 15 18 00 00 00 call QWORD PTR _glfw+24 $LN15@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1238 : for (i = 0; i < count; i++) 01036 48 ff c7 inc rdi 01039 49 3b fd cmp rdi, r13 0103c 7c e2 jl SHORT $LL17@windowProc $LN16@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 320 : if (block) 0103e 4d 85 f6 test r14, r14 01041 74 10 je SHORT $LN182@windowProc ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 01043 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 0104a 49 8b ce mov rcx, r14 0104d ff 15 18 00 00 00 call QWORD PTR _glfw+24 $LN182@windowProc: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1242 : DragFinish(drop); 01053 48 8b ce mov rcx, rsi 01056 ff 15 00 00 00 00 call QWORD PTR __imp_DragFinish ; 1243 : return 0; 0105c eb 1e jmp SHORT $LN164@windowProc $LN180@windowProc: ; 552 : } ; 553 : ; 554 : switch (uMsg) 0105e 41 81 fd 20 03 00 00 cmp r13d, 800 ; 00000320H 01065 0f 85 66 fe ff ff jne $LN2@windowProc $LN162@windowProc: ; 1136 : return TRUE; ; 1137 : ; 1138 : break; ; 1139 : } ; 1140 : ; 1141 : case WM_DWMCOMPOSITIONCHANGED: ; 1142 : case WM_DWMCOLORIZATIONCOLORCHANGED: ; 1143 : { ; 1144 : if (window->win32.transparent) 0106b 83 b8 80 03 00 00 00 cmp DWORD PTR [rax+896], 0 01072 74 08 je SHORT $LN164@windowProc ; 1145 : updateFramebufferTransparency(window); 01074 48 8b cb mov rcx, rbx 01077 e8 00 00 00 00 call updateFramebufferTransparency $LN164@windowProc: ; 1146 : return 0; 0107c 33 c0 xor eax, eax $LN496@windowProc: 0107e 4c 8b a4 24 f0 00 00 00 mov r12, QWORD PTR [rsp+240] 01086 4c 8b b4 24 e8 00 00 00 mov r14, QWORD PTR [rsp+232] $LN1@windowProc: ; 1248 : } 0108e 48 8b 4d e7 mov rcx, QWORD PTR __$ArrayPad$[rbp-201] 01092 48 33 cc xor rcx, rsp 01095 e8 00 00 00 00 call __security_check_cookie 0109a 48 81 c4 f8 00 00 00 add rsp, 248 ; 000000f8H 010a1 41 5f pop r15 010a3 41 5d pop r13 010a5 5f pop rdi 010a6 5e pop rsi 010a7 5b pop rbx 010a8 5d pop rbp 010a9 c3 ret 0 010aa 66 90 npad 2 $LN364@windowProc: 010ac 00 00 00 00 DD $LN145@windowProc 010b0 00 00 00 00 DD $LN136@windowProc 010b4 00 00 00 00 DD $LN30@windowProc 010b8 00 00 00 00 DD $LN35@windowProc 010bc 00 00 00 00 DD $LN157@windowProc 010c0 00 00 00 00 DD $LN47@windowProc 010c4 00 00 00 00 DD $LN107@windowProc 010c8 00 00 00 00 DD $LN171@windowProc 010cc 00 00 00 00 DD $LN22@windowProc 010d0 00 00 00 00 DD $LN150@windowProc 010d4 00 00 00 00 DD $LN48@windowProc 010d8 00 00 00 00 DD $LN159@windowProc 010dc 00 00 00 00 DD $LN2@windowProc $LN363@windowProc: 010e0 00 DB 0 010e1 0c DB 12 010e2 01 DB 1 010e3 0c DB 12 010e4 02 DB 2 010e5 03 DB 3 010e6 0c DB 12 010e7 0c DB 12 010e8 0c DB 12 010e9 0c DB 12 010ea 0c DB 12 010eb 0c DB 12 010ec 04 DB 4 010ed 05 DB 5 010ee 0c DB 12 010ef 0c DB 12 010f0 0c DB 12 010f1 06 DB 6 010f2 0c DB 12 010f3 0c DB 12 010f4 0c DB 12 010f5 0c DB 12 010f6 0c DB 12 010f7 0c DB 12 010f8 0c DB 12 010f9 0c DB 12 010fa 0c DB 12 010fb 0c DB 12 010fc 0c DB 12 010fd 07 DB 7 010fe 08 DB 8 010ff 0c DB 12 01100 0c DB 12 01101 09 DB 9 01102 0c DB 12 01103 0c DB 12 01104 0c DB 12 01105 0c DB 12 01106 0c DB 12 01107 0c DB 12 01108 0c DB 12 01109 0c DB 12 0110a 0c DB 12 0110b 0c DB 12 0110c 0c DB 12 0110d 0c DB 12 0110e 0c DB 12 0110f 0c DB 12 01110 0c DB 12 01111 0c DB 12 01112 0c DB 12 01113 0c DB 12 01114 0c DB 12 01115 0c DB 12 01116 0c DB 12 01117 0c DB 12 01118 0c DB 12 01119 0c DB 12 0111a 0c DB 12 0111b 0c DB 12 0111c 0c DB 12 0111d 0c DB 12 0111e 0c DB 12 0111f 0c DB 12 01120 0c DB 12 01121 0c DB 12 01122 0c DB 12 01123 0c DB 12 01124 0c DB 12 01125 0c DB 12 01126 0c DB 12 01127 0c DB 12 01128 0c DB 12 01129 0c DB 12 0112a 0c DB 12 0112b 0c DB 12 0112c 0c DB 12 0112d 0c DB 12 0112e 0a DB 10 0112f 0c DB 12 01130 0c DB 12 01131 0c DB 12 01132 0c DB 12 01133 0c DB 12 01134 0c DB 12 01135 0c DB 12 01136 0c DB 12 01137 0c DB 12 01138 0c DB 12 01139 0c DB 12 0113a 0c DB 12 0113b 0c DB 12 0113c 0c DB 12 0113d 0c DB 12 0113e 0c DB 12 0113f 0c DB 12 01140 0c DB 12 01141 0c DB 12 01142 0c DB 12 01143 0c DB 12 01144 0c DB 12 01145 0c DB 12 01146 0c DB 12 01147 0c DB 12 01148 0c DB 12 01149 0c DB 12 0114a 0c DB 12 0114b 0c DB 12 0114c 0c DB 12 0114d 0c DB 12 0114e 0c DB 12 0114f 0c DB 12 01150 0c DB 12 01151 0c DB 12 01152 0c DB 12 01153 0c DB 12 01154 0c DB 12 01155 0c DB 12 01156 0c DB 12 01157 0c DB 12 01158 0c DB 12 01159 0c DB 12 0115a 0c DB 12 0115b 0c DB 12 0115c 0c DB 12 0115d 0c DB 12 0115e 0c DB 12 0115f 0c DB 12 01160 0c DB 12 01161 0c DB 12 01162 0b DB 11 01163 0b DB 11 $LN362@windowProc: 01164 00 00 00 00 DD $LN59@windowProc 01168 00 00 00 00 DD $LN59@windowProc 0116c 00 00 00 00 DD $LN49@windowProc 01170 00 00 00 00 DD $LN2@windowProc 01174 00 00 00 00 DD $LN59@windowProc 01178 00 00 00 00 DD $LN59@windowProc 0117c 00 00 00 00 DD $LN49@windowProc 01180 00 00 00 00 DD $LN2@windowProc 01184 00 00 00 00 DD $LN2@windowProc 01188 00 00 00 00 DD $LN57@windowProc $LN361@windowProc: 0118c 00 00 00 00 DD $LN108@windowProc 01190 00 00 00 00 DD $LN80@windowProc 01194 00 00 00 00 DD $LN122@windowProc 01198 00 00 00 00 DD $LN123@windowProc 0119c 00 00 00 00 DD $LN124@windowProc 011a0 00 00 00 00 DD $LN130@windowProc 011a4 00 00 00 00 DD $LN147@windowProc 011a8 00 00 00 00 DD $LN25@windowProc 011ac 00 00 00 00 DD $LN173@windowProc 011b0 00 00 00 00 DD $LN121@windowProc 011b4 00 00 00 00 DD $LN168@windowProc 011b8 00 00 00 00 DD $LN165@windowProc 011bc 00 00 00 00 DD $LN2@windowProc $LN360@windowProc: 011c0 00 DB 0 011c1 01 DB 1 011c2 01 DB 1 011c3 0c DB 12 011c4 01 DB 1 011c5 01 DB 1 011c6 0c DB 12 011c7 01 DB 1 011c8 01 DB 1 011c9 0c DB 12 011ca 02 DB 2 011cb 01 DB 1 011cc 01 DB 1 011cd 0c DB 12 011ce 03 DB 3 011cf 0c DB 12 011d0 0c DB 12 011d1 04 DB 4 011d2 05 DB 5 011d3 0c DB 12 011d4 06 DB 6 011d5 07 DB 7 011d6 0c DB 12 011d7 0c DB 12 011d8 0c DB 12 011d9 0c DB 12 011da 0c DB 12 011db 0c DB 12 011dc 0c DB 12 011dd 0c DB 12 011de 0c DB 12 011df 0c DB 12 011e0 0c DB 12 011e1 0c DB 12 011e2 0c DB 12 011e3 0c DB 12 011e4 0c DB 12 011e5 0c DB 12 011e6 0c DB 12 011e7 0c DB 12 011e8 0c DB 12 011e9 0c DB 12 011ea 0c DB 12 011eb 0c DB 12 011ec 0c DB 12 011ed 0c DB 12 011ee 0c DB 12 011ef 0c DB 12 011f0 0c DB 12 011f1 04 DB 4 011f2 05 DB 5 011f3 08 DB 8 011f4 0c DB 12 011f5 0c DB 12 011f6 0c DB 12 011f7 0c DB 12 011f8 0c DB 12 011f9 0c DB 12 011fa 0c DB 12 011fb 0c DB 12 011fc 0c DB 12 011fd 0c DB 12 011fe 0c DB 12 011ff 0c DB 12 01200 0c DB 12 01201 0c DB 12 01202 0c DB 12 01203 0c DB 12 01204 0c DB 12 01205 0c DB 12 01206 0c DB 12 01207 0c DB 12 01208 0c DB 12 01209 0c DB 12 0120a 0c DB 12 0120b 0c DB 12 0120c 0c DB 12 0120d 0c DB 12 0120e 0c DB 12 0120f 0c DB 12 01210 0c DB 12 01211 0c DB 12 01212 0c DB 12 01213 0c DB 12 01214 0c DB 12 01215 0c DB 12 01216 0c DB 12 01217 0c DB 12 01218 0c DB 12 01219 0c DB 12 0121a 0c DB 12 0121b 0c DB 12 0121c 0c DB 12 0121d 0c DB 12 0121e 0c DB 12 0121f 0c DB 12 01220 0c DB 12 01221 0c DB 12 01222 0c DB 12 01223 0c DB 12 01224 0c DB 12 01225 0c DB 12 01226 0c DB 12 01227 0c DB 12 01228 0c DB 12 01229 0c DB 12 0122a 0c DB 12 0122b 0c DB 12 0122c 0c DB 12 0122d 0c DB 12 0122e 0c DB 12 0122f 0c DB 12 01230 0c DB 12 01231 0c DB 12 01232 0c DB 12 01233 0c DB 12 01234 0c DB 12 01235 0c DB 12 01236 0c DB 12 01237 0c DB 12 01238 0c DB 12 01239 0c DB 12 0123a 0c DB 12 0123b 0c DB 12 0123c 0c DB 12 0123d 0c DB 12 0123e 0c DB 12 0123f 0c DB 12 01240 0c DB 12 01241 0c DB 12 01242 0c DB 12 01243 0c DB 12 01244 0c DB 12 01245 0c DB 12 01246 0c DB 12 01247 0c DB 12 01248 0c DB 12 01249 0c DB 12 0124a 0c DB 12 0124b 0c DB 12 0124c 0c DB 12 0124d 0c DB 12 0124e 0c DB 12 0124f 0c DB 12 01250 0c DB 12 01251 0c DB 12 01252 0c DB 12 01253 0c DB 12 01254 0c DB 12 01255 0c DB 12 01256 0c DB 12 01257 0c DB 12 01258 0c DB 12 01259 0c DB 12 0125a 0c DB 12 0125b 0c DB 12 0125c 0c DB 12 0125d 0c DB 12 0125e 0c DB 12 0125f 0c DB 12 01260 0c DB 12 01261 0c DB 12 01262 0c DB 12 01263 09 DB 9 01264 0c DB 12 01265 0c DB 12 01266 0c DB 12 01267 0c DB 12 01268 0c DB 12 01269 0c DB 12 0126a 0c DB 12 0126b 0c DB 12 0126c 0c DB 12 0126d 0c DB 12 0126e 0c DB 12 0126f 0c DB 12 01270 0c DB 12 01271 0c DB 12 01272 0c DB 12 01273 0c DB 12 01274 0c DB 12 01275 0c DB 12 01276 0c DB 12 01277 0c DB 12 01278 0c DB 12 01279 0c DB 12 0127a 0c DB 12 0127b 0c DB 12 0127c 0c DB 12 0127d 0c DB 12 0127e 0c DB 12 0127f 0c DB 12 01280 0c DB 12 01281 0c DB 12 01282 0c DB 12 01283 0c DB 12 01284 0c DB 12 01285 0c DB 12 01286 0c DB 12 01287 0c DB 12 01288 0c DB 12 01289 0c DB 12 0128a 0c DB 12 0128b 0c DB 12 0128c 0c DB 12 0128d 0c DB 12 0128e 0c DB 12 0128f 0c DB 12 01290 0c DB 12 01291 0c DB 12 01292 0c DB 12 01293 0c DB 12 01294 0c DB 12 01295 0c DB 12 01296 0c DB 12 01297 0c DB 12 01298 0c DB 12 01299 0c DB 12 0129a 0c DB 12 0129b 0c DB 12 0129c 0c DB 12 0129d 0c DB 12 0129e 0c DB 12 0129f 0c DB 12 012a0 0a DB 10 012a1 0c DB 12 012a2 0c DB 12 012a3 0c DB 12 012a4 0b DB 11 windowProc ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT createNativeWindow _TEXT SEGMENT frameY$1$ = 96 xscale$1 = 96 wideTitle$1$ = 104 yscale$2 = 104 fbconfig$1$ = 112 wp$3 = 128 wc$4 = 128 area$5 = 208 rect$6 = 208 rect$7 = 208 mi$8 = 224 mi$9 = 224 __$ArrayPad$ = 264 window$ = 336 wndconfig$ = 344 fbconfig$ = 352 createNativeWindow PROC ; COMDAT ; 1255 : { 00000 48 89 5c 24 18 mov QWORD PTR [rsp+24], rbx 00005 55 push rbp 00006 56 push rsi 00007 57 push rdi 00008 41 54 push r12 0000a 41 55 push r13 0000c 41 56 push r14 0000e 41 57 push r15 00010 48 8d 6c 24 f0 lea rbp, QWORD PTR [rsp-16] 00015 48 81 ec 10 01 00 00 sub rsp, 272 ; 00000110H 0001c 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00023 48 33 c4 xor rax, rsp 00026 48 89 45 08 mov QWORD PTR __$ArrayPad$[rbp-256], rax ; 46 : if (window->monitor) 0002a 48 83 79 50 00 cmp QWORD PTR [rcx+80], 0 ; 1255 : { 0002f 48 8b f2 mov rsi, rdx 00032 4c 89 44 24 70 mov QWORD PTR fbconfig$1$[rsp], r8 00037 48 8b d9 mov rbx, rcx ; 46 : if (window->monitor) 0003a 74 0d je SHORT $LN22@createNati ; 47 : style |= WS_POPUP; 0003c bf 00 00 00 86 mov edi, -2046820352 ; 86000000H 00041 44 8b e7 mov r12d, edi 00044 44 8b ff mov r15d, edi 00047 eb 30 jmp SHORT $LN30@createNati $LN22@createNati: ; 48 : else ; 49 : { ; 50 : style |= WS_SYSMENU | WS_MINIMIZEBOX; ; 51 : ; 52 : if (window->decorated) 00049 83 79 0c 00 cmp DWORD PTR [rcx+12], 0 0004d 41 be 00 00 04 00 mov r14d, 262144 ; 00040000H 00053 74 13 je SHORT $LN24@createNati ; 53 : { ; 54 : style |= WS_CAPTION; ; 55 : ; 56 : if (window->resizable) ; 57 : style |= WS_MAXIMIZEBOX | WS_THICKFRAME; ; 58 : } 00055 83 79 08 00 cmp DWORD PTR [rcx+8], 0 00059 bf 00 00 cf 06 mov edi, 114229248 ; 06cf0000H 0005e b8 00 00 ca 06 mov eax, 113901568 ; 06ca0000H 00063 0f 44 f8 cmove edi, eax 00066 eb 05 jmp SHORT $LN64@createNati $LN24@createNati: ; 59 : else ; 60 : style |= WS_POPUP; 00068 bf 00 00 0a 86 mov edi, -2046164992 ; 860a0000H $LN64@createNati: ; 72 : if (window->monitor || window->floating) 0006d 83 79 14 00 cmp DWORD PTR [rcx+20], 0 00071 44 8b ff mov r15d, edi 00074 44 8b e7 mov r12d, edi 00077 74 06 je SHORT $LN29@createNati $LN30@createNati: ; 73 : style |= WS_EX_TOPMOST; 00079 41 be 08 00 04 00 mov r14d, 262152 ; 00040008H $LN29@createNati: ; 1256 : int frameX, frameY, frameWidth, frameHeight; ; 1257 : WCHAR* wideTitle; ; 1258 : DWORD style = getWindowStyle(window); ; 1259 : DWORD exStyle = getWindowExStyle(window); ; 1260 : ; 1261 : if (!_glfw.win32.mainWindowClass) 0007f 45 33 ed xor r13d, r13d 00082 66 44 39 2d 8a 1b 00 00 cmp WORD PTR _glfw+7050, r13w 0008a 0f 85 e4 00 00 00 jne $LN39@createNati ; 1262 : { ; 1263 : WNDCLASSEXW wc = { sizeof(wc) }; 00090 33 c0 xor eax, eax 00092 c7 45 80 50 00 00 00 mov DWORD PTR wc$4[rbp-256], 80 ; 00000050H 00099 0f 57 c0 xorps xmm0, xmm0 0009c 48 89 45 c4 mov QWORD PTR wc$4[rbp-188], rax 000a0 89 45 cc mov DWORD PTR wc$4[rbp-180], eax ; 1264 : wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; ; 1265 : wc.lpfnWndProc = windowProc; ; 1266 : wc.hInstance = _glfw.win32.instance; ; 1267 : wc.hCursor = LoadCursorW(NULL, IDC_ARROW); 000a3 ba 00 7f 00 00 mov edx, 32512 ; 00007f00H 000a8 0f 11 45 84 movups XMMWORD PTR wc$4[rbp-252], xmm0 000ac 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:windowProc 000b3 c7 45 84 23 00 00 00 mov DWORD PTR wc$4[rbp-252], 35 ; 00000023H 000ba 48 89 45 88 mov QWORD PTR wc$4[rbp-248], rax 000be 33 c9 xor ecx, ecx 000c0 48 8b 05 78 1b 00 00 mov rax, QWORD PTR _glfw+7032 000c7 0f 11 45 94 movups XMMWORD PTR wc$4[rbp-236], xmm0 000cb 48 89 45 98 mov QWORD PTR wc$4[rbp-232], rax 000cf 0f 11 45 a4 movups XMMWORD PTR wc$4[rbp-220], xmm0 000d3 0f 11 45 b4 movups XMMWORD PTR wc$4[rbp-204], xmm0 000d7 ff 15 00 00 00 00 call QWORD PTR __imp_LoadCursorW 000dd 48 89 45 a8 mov QWORD PTR wc$4[rbp-216], rax ; 1268 : #if defined(_GLFW_WNDCLASSNAME) ; 1269 : wc.lpszClassName = _GLFW_WNDCLASSNAME; ; 1270 : #else ; 1271 : wc.lpszClassName = L"GLFW30"; ; 1272 : #endif ; 1273 : // Load user-provided icon if available ; 1274 : wc.hIcon = LoadImageW(GetModuleHandleW(NULL), 000e1 33 c9 xor ecx, ecx 000e3 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:??_C@_1O@IBNLCBOC@?$AAG?$AAL?$AAF?$AAW?$AA3?$AA0@ 000ea 48 89 45 c0 mov QWORD PTR wc$4[rbp-192], rax 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 45 8d 45 01 lea r8d, QWORD PTR [r13+1] 00100 48 8b c8 mov rcx, rax 00103 44 89 6c 24 20 mov DWORD PTR [rsp+32], r13d 00108 45 33 c9 xor r9d, r9d 0010b 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1BE@LDFMCOHA@?$AAG?$AAL?$AAF?$AAW?$AA_?$AAI?$AAC?$AAO?$AAN@ 00112 ff 15 00 00 00 00 call QWORD PTR __imp_LoadImageW 00118 48 89 45 a0 mov QWORD PTR wc$4[rbp-224], rax 0011c 48 85 c0 test rax, rax ; 1275 : L"GLFW_ICON", IMAGE_ICON, ; 1276 : 0, 0, LR_DEFAULTSIZE | LR_SHARED); ; 1277 : if (!wc.hIcon) 0011f 75 25 jne SHORT $LN3@createNati ; 1278 : { ; 1279 : // No user-provided icon found, load default icon ; 1280 : wc.hIcon = LoadImageW(NULL, 00121 c7 44 24 28 40 80 00 00 mov DWORD PTR [rsp+40], 32832 ; 00008040H 00129 45 8d 45 01 lea r8d, QWORD PTR [r13+1] 0012d 45 33 c9 xor r9d, r9d 00130 44 89 6c 24 20 mov DWORD PTR [rsp+32], r13d 00135 ba 00 7f 00 00 mov edx, 32512 ; 00007f00H 0013a 33 c9 xor ecx, ecx 0013c ff 15 00 00 00 00 call QWORD PTR __imp_LoadImageW 00142 48 89 45 a0 mov QWORD PTR wc$4[rbp-224], rax $LN3@createNati: ; 1281 : IDI_APPLICATION, IMAGE_ICON, ; 1282 : 0, 0, LR_DEFAULTSIZE | LR_SHARED); ; 1283 : } ; 1284 : ; 1285 : _glfw.win32.mainWindowClass = RegisterClassExW(&wc); 00146 48 8d 4d 80 lea rcx, QWORD PTR wc$4[rbp-256] 0014a ff 15 00 00 00 00 call QWORD PTR __imp_RegisterClassExW 00150 66 89 05 8a 1b 00 00 mov WORD PTR _glfw+7050, ax 00157 66 85 c0 test ax, ax ; 1286 : if (!_glfw.win32.mainWindowClass) 0015a 75 18 jne SHORT $LN39@createNati ; 1287 : { ; 1288 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 0015c 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CH@GAPNPCHF@Win32?3?5Failed?5to?5register?5windo@ 00163 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00168 e8 00 00 00 00 call _glfwInputErrorWin32 $LN65@createNati: ; 1440 : } 0016d 33 c0 xor eax, eax 0016f e9 d4 03 00 00 jmp $LN1@createNati $LN39@createNati: ; 1289 : "Win32: Failed to register window class"); ; 1290 : return GLFW_FALSE; ; 1291 : } ; 1292 : } ; 1293 : ; 1294 : if (window->monitor) 00174 48 8b 4b 50 mov rcx, QWORD PTR [rbx+80] 00178 48 85 c9 test rcx, rcx 0017b 74 42 je SHORT $LN5@createNati ; 1295 : { ; 1296 : MONITORINFO mi = { sizeof(mi) }; 0017d 0f 57 c0 xorps xmm0, xmm0 00180 c7 45 e0 28 00 00 00 mov DWORD PTR mi$9[rbp-256], 40 ; 00000028H 00187 33 c0 xor eax, eax ; 1297 : GetMonitorInfoW(window->monitor->win32.handle, &mi); 00189 48 8d 55 e0 lea rdx, QWORD PTR mi$9[rbp-256] 0018d 0f 11 45 e4 movups XMMWORD PTR mi$9[rbp-252], xmm0 00191 89 45 04 mov DWORD PTR mi$9[rbp-220], eax 00194 0f 11 45 f4 movups XMMWORD PTR mi$9[rbp-236], xmm0 00198 48 8b 89 00 01 00 00 mov rcx, QWORD PTR [rcx+256] 0019f 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; ; 1303 : frameY = mi.rcMonitor.top; 001a5 8b 45 e8 mov eax, DWORD PTR mi$9[rbp-248] 001a8 8b 7d ec mov edi, DWORD PTR mi$9[rbp-244] 001ab 44 8b 6d e4 mov r13d, DWORD PTR mi$9[rbp-252] 001af 41 2b fd sub edi, r13d ; 1304 : frameWidth = mi.rcMonitor.right - mi.rcMonitor.left; 001b2 44 8b 65 f0 mov r12d, DWORD PTR mi$9[rbp-240] 001b6 44 2b e0 sub r12d, eax 001b9 89 44 24 60 mov DWORD PTR frameY$1$[rsp], eax ; 1305 : frameHeight = mi.rcMonitor.bottom - mi.rcMonitor.top; ; 1306 : } 001bd eb 76 jmp SHORT $LN6@createNati $LN5@createNati: ; 1307 : else ; 1308 : { ; 1309 : RECT rect = { 0, 0, wndconfig->width, wndconfig->height }; 001bf 8b 46 08 mov eax, DWORD PTR [rsi+8] ; 1310 : ; 1311 : window->win32.maximized = wndconfig->maximized; ; 1312 : if (wndconfig->maximized) ; 1313 : style |= WS_MAXIMIZE; ; 1314 : ; 1315 : AdjustWindowRectEx(&rect, style, FALSE, exStyle); 001c2 48 8d 4d d0 lea rcx, QWORD PTR rect$7[rbp-256] 001c6 89 45 d8 mov DWORD PTR rect$7[rbp-248], eax 001c9 44 8b ff mov r15d, edi 001cc 8b 46 0c mov eax, DWORD PTR [rsi+12] 001cf 41 0f ba ef 18 bts r15d, 24 001d4 89 45 dc mov DWORD PTR rect$7[rbp-244], eax 001d7 45 8b ce mov r9d, r14d 001da 8b 46 30 mov eax, DWORD PTR [rsi+48] 001dd 89 83 7c 03 00 00 mov DWORD PTR [rbx+892], eax 001e3 44 39 6e 30 cmp DWORD PTR [rsi+48], r13d 001e7 4c 89 6d d0 mov QWORD PTR rect$7[rbp-256], r13 001eb 45 0f 44 fc cmove r15d, r12d 001ef 45 33 c0 xor r8d, r8d 001f2 41 8b d7 mov edx, r15d 001f5 ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx ; 1316 : ; 1317 : if (wndconfig->xpos == GLFW_ANY_POSITION && wndconfig->ypos == GLFW_ANY_POSITION) 001fb 8b 06 mov eax, DWORD PTR [rsi] 001fd 8b 4d d4 mov ecx, DWORD PTR rect$7[rbp-252] 00200 8b 55 d0 mov edx, DWORD PTR rect$7[rbp-256] 00203 3d 00 00 00 80 cmp eax, -2147483648 ; 80000000H 00208 75 12 jne SHORT $LN41@createNati 0020a 39 46 04 cmp DWORD PTR [rsi+4], eax 0020d 75 0d jne SHORT $LN41@createNati ; 1318 : { ; 1319 : frameX = CW_USEDEFAULT; 0020f 41 bd 00 00 00 80 mov r13d, -2147483648 ; ffffffff80000000H ; 1320 : frameY = CW_USEDEFAULT; 00215 44 89 6c 24 60 mov DWORD PTR frameY$1$[rsp], r13d ; 1321 : } 0021a eb 0d jmp SHORT $LN9@createNati $LN41@createNati: ; 1322 : else ; 1323 : { ; 1324 : frameX = wndconfig->xpos + rect.left; 0021c 44 8d 2c 10 lea r13d, DWORD PTR [rax+rdx] ; 1325 : frameY = wndconfig->ypos + rect.top; 00220 8b 46 04 mov eax, DWORD PTR [rsi+4] 00223 03 c1 add eax, ecx 00225 89 44 24 60 mov DWORD PTR frameY$1$[rsp], eax $LN9@createNati: ; 1326 : } ; 1327 : ; 1328 : frameWidth = rect.right - rect.left; 00229 8b 7d d8 mov edi, DWORD PTR rect$7[rbp-248] ; 1329 : frameHeight = rect.bottom - rect.top; 0022c 44 8b 65 dc mov r12d, DWORD PTR rect$7[rbp-244] 00230 2b fa sub edi, edx 00232 44 2b e1 sub r12d, ecx $LN6@createNati: ; 1330 : } ; 1331 : ; 1332 : wideTitle = _glfwCreateWideStringFromUTF8Win32(wndconfig->title); 00235 48 8b 4e 10 mov rcx, QWORD PTR [rsi+16] 00239 e8 00 00 00 00 call _glfwCreateWideStringFromUTF8Win32 0023e 48 89 44 24 68 mov QWORD PTR wideTitle$1$[rsp], rax 00243 48 8b c8 mov rcx, rax ; 1333 : if (!wideTitle) 00246 48 85 c0 test rax, rax 00249 0f 84 1e ff ff ff je $LN65@createNati ; 1336 : window->win32.handle = CreateWindowExW(exStyle, 0024f 48 8b 05 78 1b 00 00 mov rax, QWORD PTR _glfw+7032 00256 4c 8b c1 mov r8, rcx 00259 0f b7 15 8a 1b 00 00 movzx edx, WORD PTR _glfw+7050 00260 45 8b cf mov r9d, r15d 00263 48 89 74 24 58 mov QWORD PTR [rsp+88], rsi 00268 41 8b ce mov ecx, r14d 0026b 48 89 44 24 50 mov QWORD PTR [rsp+80], rax 00270 33 c0 xor eax, eax 00272 48 89 44 24 48 mov QWORD PTR [rsp+72], rax 00277 48 89 44 24 40 mov QWORD PTR [rsp+64], rax 0027c 8b 44 24 60 mov eax, DWORD PTR frameY$1$[rsp] 00280 44 89 64 24 38 mov DWORD PTR [rsp+56], r12d 00285 89 7c 24 30 mov DWORD PTR [rsp+48], edi 00289 89 44 24 28 mov DWORD PTR [rsp+40], eax 0028d 44 89 6c 24 20 mov DWORD PTR [rsp+32], r13d 00292 ff 15 00 00 00 00 call QWORD PTR __imp_CreateWindowExW ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 00298 48 8b 4c 24 68 mov rcx, QWORD PTR wideTitle$1$[rsp] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1336 : window->win32.handle = CreateWindowExW(exStyle, 0029d 48 89 83 58 03 00 00 mov QWORD PTR [rbx+856], rax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 002a4 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 002ab ff 15 18 00 00 00 call QWORD PTR _glfw+24 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; 1349 : if (!window->win32.handle) 002b1 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 002b8 48 85 c9 test rcx, rcx 002bb 75 18 jne SHORT $LN11@createNati ; 1350 : { ; 1351 : _glfwInputErrorWin32(GLFW_PLATFORM_ERROR, 002bd 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BP@BFHGHOIO@Win32?3?5Failed?5to?5create?5window@ 002c4 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 002c9 e8 00 00 00 00 call _glfwInputErrorWin32 ; 1352 : "Win32: Failed to create window"); ; 1353 : return GLFW_FALSE; 002ce 33 c0 xor eax, eax 002d0 e9 73 02 00 00 jmp $LN1@createNati $LN11@createNati: ; 1354 : } ; 1355 : ; 1356 : SetPropW(window->win32.handle, L"GLFW", window); 002d5 4c 8b c3 mov r8, rbx 002d8 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_19JBPKICJI@?$AAG?$AAL?$AAF?$AAW@ 002df ff 15 00 00 00 00 call QWORD PTR __imp_SetPropW ; 1357 : ; 1358 : if (IsWindows7OrGreater()) 002e5 ba 01 00 00 00 mov edx, 1 002ea e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32 002ef 85 c0 test eax, eax 002f1 74 49 je SHORT $LN12@createNati ; 1359 : { ; 1360 : ChangeWindowMessageFilterEx(window->win32.handle, 002f3 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 002fa 45 33 c9 xor r9d, r9d 002fd ba 33 02 00 00 mov edx, 563 ; 00000233H 00302 45 8d 41 01 lea r8d, QWORD PTR [r9+1] 00306 ff 15 a8 29 00 00 call QWORD PTR _glfw+10664 ; 1361 : WM_DROPFILES, MSGFLT_ALLOW, NULL); ; 1362 : ChangeWindowMessageFilterEx(window->win32.handle, 0030c 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00313 45 33 c9 xor r9d, r9d 00316 41 8d 51 4a lea edx, QWORD PTR [r9+74] 0031a 45 8d 41 01 lea r8d, QWORD PTR [r9+1] 0031e ff 15 a8 29 00 00 call QWORD PTR _glfw+10664 ; 1363 : WM_COPYDATA, MSGFLT_ALLOW, NULL); ; 1364 : ChangeWindowMessageFilterEx(window->win32.handle, 00324 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 0032b 45 33 c9 xor r9d, r9d 0032e 41 8d 51 49 lea edx, QWORD PTR [r9+73] 00332 45 8d 41 01 lea r8d, QWORD PTR [r9+1] 00336 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; ; 1369 : window->win32.keymenu = wndconfig->win32.keymenu; ; 1370 : ; 1371 : if (!window->monitor) 0033c 48 83 7b 50 00 cmp QWORD PTR [rbx+80], 0 00341 8b 46 40 mov eax, DWORD PTR [rsi+64] 00344 89 83 84 03 00 00 mov DWORD PTR [rbx+900], eax 0034a 8b 86 48 03 00 00 mov eax, DWORD PTR [rsi+840] 00350 89 83 88 03 00 00 mov DWORD PTR [rbx+904], eax 00356 0f 85 85 01 00 00 jne $LN18@createNati ; 1372 : { ; 1373 : RECT rect = { 0, 0, wndconfig->width, wndconfig->height }; 0035c 8b 46 08 mov eax, DWORD PTR [rsi+8] 0035f 0f 57 c0 xorps xmm0, xmm0 ; 1374 : WINDOWPLACEMENT wp = { sizeof(wp) }; ; 1375 : const HMONITOR mh = MonitorFromWindow(window->win32.handle, 00362 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00369 45 33 e4 xor r12d, r12d 0036c 89 45 d8 mov DWORD PTR rect$6[rbp-248], eax 0036f 8b 46 0c mov eax, DWORD PTR [rsi+12] 00372 89 45 dc mov DWORD PTR rect$6[rbp-244], eax 00375 33 c0 xor eax, eax 00377 4c 89 65 d0 mov QWORD PTR rect$6[rbp-256], r12 0037b c7 45 80 2c 00 00 00 mov DWORD PTR wp$3[rbp-256], 44 ; 0000002cH 00382 0f 11 45 84 movups XMMWORD PTR wp$3[rbp-252], xmm0 00386 8d 50 02 lea edx, QWORD PTR [rax+2] 00389 48 89 45 a4 mov QWORD PTR wp$3[rbp-220], rax 0038d 0f 11 45 94 movups XMMWORD PTR wp$3[rbp-236], xmm0 00391 ff 15 00 00 00 00 call QWORD PTR __imp_MonitorFromWindow 00397 48 8b f8 mov rdi, 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) 0039a 44 39 66 40 cmp DWORD PTR [rsi+64], r12d 0039e 74 51 je SHORT $LN15@createNati ; 1384 : { ; 1385 : float xscale, yscale; ; 1386 : _glfwGetHMONITORContentScaleWin32(mh, &xscale, &yscale); 003a0 4c 8d 44 24 68 lea r8, QWORD PTR yscale$2[rsp] 003a5 48 8b c8 mov rcx, rax 003a8 48 8d 54 24 60 lea rdx, QWORD PTR xscale$1[rsp] 003ad e8 00 00 00 00 call _glfwGetHMONITORContentScaleWin32 ; 1387 : ; 1388 : if (xscale > 0.f && yscale > 0.f) 003b2 f3 0f 10 4c 24 60 movss xmm1, DWORD PTR xscale$1[rsp] 003b8 0f 57 c0 xorps xmm0, xmm0 003bb 0f 2f c8 comiss xmm1, xmm0 003be 76 31 jbe SHORT $LN15@createNati 003c0 f3 0f 10 54 24 68 movss xmm2, DWORD PTR yscale$2[rsp] 003c6 0f 2f d0 comiss xmm2, xmm0 003c9 76 26 jbe SHORT $LN15@createNati ; 1389 : { ; 1390 : rect.right = (int) (rect.right * xscale); 003cb 66 0f 6e 45 d8 movd xmm0, DWORD PTR rect$6[rbp-248] 003d0 0f 5b c0 cvtdq2ps xmm0, xmm0 003d3 f3 0f 59 c1 mulss xmm0, xmm1 003d7 66 0f 6e 4d dc movd xmm1, DWORD PTR rect$6[rbp-244] ; 1391 : rect.bottom = (int) (rect.bottom * yscale); 003dc 0f 5b c9 cvtdq2ps xmm1, xmm1 003df f3 0f 2c c0 cvttss2si eax, xmm0 003e3 f3 0f 59 ca mulss xmm1, xmm2 003e7 89 45 d8 mov DWORD PTR rect$6[rbp-248], eax 003ea f3 0f 2c c1 cvttss2si eax, xmm1 003ee 89 45 dc mov DWORD PTR rect$6[rbp-244], eax $LN15@createNati: ; 1392 : } ; 1393 : } ; 1394 : ; 1395 : if (_glfwIsWindows10Version1607OrGreaterWin32()) 003f1 b9 39 38 00 00 mov ecx, 14393 ; 00003839H 003f6 e8 00 00 00 00 call _glfwIsWindows10BuildOrGreaterWin32 003fb 85 c0 test eax, eax 003fd 74 26 je SHORT $LN16@createNati ; 1396 : { ; 1397 : AdjustWindowRectExForDpi(&rect, style, FALSE, exStyle, 003ff 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00406 ff 15 c0 29 00 00 call QWORD PTR _glfw+10688 0040c 45 8b ce mov r9d, r14d 0040f 48 8d 4d d0 lea rcx, QWORD PTR rect$6[rbp-256] 00413 45 33 c0 xor r8d, r8d 00416 89 44 24 20 mov DWORD PTR [rsp+32], eax 0041a 41 8b d7 mov edx, r15d 0041d ff 15 c8 29 00 00 call QWORD PTR _glfw+10696 ; 1398 : GetDpiForWindow(window->win32.handle)); ; 1399 : } 00423 eb 13 jmp SHORT $LN17@createNati $LN16@createNati: ; 1400 : else ; 1401 : AdjustWindowRectEx(&rect, style, FALSE, exStyle); 00425 45 8b ce mov r9d, r14d 00428 48 8d 4d d0 lea rcx, QWORD PTR rect$6[rbp-256] 0042c 45 33 c0 xor r8d, r8d 0042f 41 8b d7 mov edx, r15d 00432 ff 15 00 00 00 00 call QWORD PTR __imp_AdjustWindowRectEx $LN17@createNati: ; 1402 : ; 1403 : GetWindowPlacement(window->win32.handle, &wp); 00438 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 0043f 48 8d 55 80 lea rdx, QWORD PTR wp$3[rbp-256] 00443 ff 15 00 00 00 00 call QWORD PTR __imp_GetWindowPlacement ; 1404 : OffsetRect(&rect, 00449 44 8b 45 a0 mov r8d, DWORD PTR wp$3[rbp-224] 0044d 48 8d 4d d0 lea rcx, QWORD PTR rect$6[rbp-256] 00451 8b 55 9c mov edx, DWORD PTR wp$3[rbp-228] 00454 44 2b 45 d4 sub r8d, DWORD PTR rect$6[rbp-252] 00458 2b 55 d0 sub edx, DWORD PTR rect$6[rbp-256] 0045b 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; 00461 0f 10 45 d0 movups xmm0, XMMWORD PTR rect$6[rbp-256] ; 1409 : wp.showCmd = SW_HIDE; ; 1410 : SetWindowPlacement(window->win32.handle, &wp); 00465 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 0046c 48 8d 55 80 lea rdx, QWORD PTR wp$3[rbp-256] 00470 44 89 65 88 mov DWORD PTR wp$3[rbp-248], r12d 00474 0f 11 45 9c movups XMMWORD PTR wp$3[rbp-228], xmm0 00478 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) 0047e 44 39 66 30 cmp DWORD PTR [rsi+48], r12d 00482 74 5d je SHORT $LN18@createNati 00484 44 39 66 20 cmp DWORD PTR [rsi+32], r12d 00488 75 57 jne SHORT $LN18@createNati ; 1416 : { ; 1417 : MONITORINFO mi = { sizeof(mi) }; 0048a 0f 57 c0 xorps xmm0, xmm0 0048d c7 45 e0 28 00 00 00 mov DWORD PTR mi$8[rbp-256], 40 ; 00000028H 00494 33 c0 xor eax, eax ; 1418 : GetMonitorInfoW(mh, &mi); 00496 48 8d 55 e0 lea rdx, QWORD PTR mi$8[rbp-256] 0049a 48 8b cf mov rcx, rdi 0049d 89 45 04 mov DWORD PTR mi$8[rbp-220], eax 004a0 0f 11 45 e4 movups XMMWORD PTR mi$8[rbp-252], xmm0 004a4 0f 11 45 f4 movups XMMWORD PTR mi$8[rbp-236], xmm0 004a8 ff 15 00 00 00 00 call QWORD PTR __imp_GetMonitorInfoW ; 1419 : ; 1420 : SetWindowPos(window->win32.handle, HWND_TOP, 004ae 8b 4d 00 mov ecx, DWORD PTR mi$8[rbp-224] 004b1 33 d2 xor edx, edx 004b3 44 8b 4d f8 mov r9d, DWORD PTR mi$8[rbp-232] 004b7 41 2b c9 sub ecx, r9d 004ba 8b 45 fc mov eax, DWORD PTR mi$8[rbp-228] 004bd 44 8b 45 f4 mov r8d, DWORD PTR mi$8[rbp-236] 004c1 41 2b c0 sub eax, r8d 004c4 c7 44 24 30 14 00 00 00 mov DWORD PTR [rsp+48], 20 004cc 89 4c 24 28 mov DWORD PTR [rsp+40], ecx 004d0 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 004d7 89 44 24 20 mov DWORD PTR [rsp+32], eax 004db ff 15 00 00 00 00 call QWORD PTR __imp_SetWindowPos $LN18@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); 004e1 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 004e8 ba 01 00 00 00 mov edx, 1 004ed ff 15 00 00 00 00 call QWORD PTR __imp_DragAcceptFiles ; 1430 : ; 1431 : if (fbconfig->transparent) 004f3 48 8b 44 24 70 mov rax, QWORD PTR fbconfig$1$[rsp] 004f8 83 78 3c 00 cmp DWORD PTR [rax+60], 0 004fc 74 12 je SHORT $LN19@createNati ; 1432 : { ; 1433 : updateFramebufferTransparency(window); 004fe 48 8b cb mov rcx, rbx 00501 e8 00 00 00 00 call updateFramebufferTransparency ; 1434 : window->win32.transparent = GLFW_TRUE; 00506 c7 83 80 03 00 00 01 00 00 00 mov DWORD PTR [rbx+896], 1 $LN19@createNati: ; 1614 : GetClientRect(window->win32.handle, &area); 00510 48 8b 8b 58 03 00 00 mov rcx, QWORD PTR [rbx+856] 00517 48 8d 55 d0 lea rdx, QWORD PTR area$5[rbp-256] ; 1435 : } ; 1436 : ; 1437 : _glfwGetWindowSizeWin32(window, &window->win32.width, &window->win32.height); 0051b 48 8d bb 90 03 00 00 lea rdi, QWORD PTR [rbx+912] 00522 48 8d b3 8c 03 00 00 lea rsi, QWORD PTR [rbx+908] ; 1614 : GetClientRect(window->win32.handle, &area); 00529 ff 15 00 00 00 00 call QWORD PTR __imp_GetClientRect ; 1615 : ; 1616 : if (width) 0052f 48 85 f6 test rsi, rsi 00532 74 05 je SHORT $LN36@createNati ; 1617 : *width = area.right; 00534 8b 4d d8 mov ecx, DWORD PTR area$5[rbp-248] 00537 89 0e mov DWORD PTR [rsi], ecx $LN36@createNati: ; 1618 : if (height) 00539 48 85 ff test rdi, rdi 0053c 74 05 je SHORT $LN37@createNati ; 1619 : *height = area.bottom; 0053e 8b 4d dc mov ecx, DWORD PTR area$5[rbp-244] 00541 89 0f mov DWORD PTR [rdi], ecx $LN37@createNati: ; 1438 : ; 1439 : return GLFW_TRUE; 00543 b8 01 00 00 00 mov eax, 1 $LN1@createNati: ; 1440 : } 00548 48 8b 4d 08 mov rcx, QWORD PTR __$ArrayPad$[rbp-256] 0054c 48 33 cc xor rcx, rsp 0054f e8 00 00 00 00 call __security_check_cookie 00554 48 8b 9c 24 60 01 00 00 mov rbx, QWORD PTR [rsp+352] 0055c 48 81 c4 10 01 00 00 add rsp, 272 ; 00000110H 00563 41 5f pop r15 00565 41 5e pop r14 00567 41 5d pop r13 00569 41 5c pop r12 0056b 5f pop rdi 0056c 5e pop rsi 0056d 5d pop rbp 0056e c3 ret 0 createNativeWindow ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_window.c ; COMDAT glfwGetWin32Window _TEXT SEGMENT handle$ = 48 glfwGetWin32Window PROC ; COMDAT ; 2489 : { $LN6: 00000 48 83 ec 28 sub rsp, 40 ; 00000028H ; 2490 : _GLFWwindow* window = (_GLFWwindow*) handle; ; 2491 : _GLFW_REQUIRE_INIT_OR_RETURN(NULL); 00004 83 3d 00 00 00 00 00 cmp DWORD PTR _glfw, 0 0000b 75 13 jne SHORT $LN2@glfwGetWin 0000d 33 d2 xor edx, edx 0000f b9 01 00 01 00 mov ecx, 65537 ; 00010001H 00014 e8 00 00 00 00 call _glfwInputError 00019 33 c0 xor eax, eax ; 2501 : } 0001b 48 83 c4 28 add rsp, 40 ; 00000028H 0001f c3 ret 0 $LN2@glfwGetWin: ; 2492 : ; 2493 : if (_glfw.platform.platformID != GLFW_PLATFORM_WIN32) 00020 81 3d 28 00 00 00 01 00 06 00 cmp DWORD PTR _glfw+40, 393217 ; 00060001H 0002a 74 18 je SHORT $LN3@glfwGetWin ; 2494 : { ; 2495 : _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, 0002c 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CA@MHMAANIG@Win32?3?5Platform?5not?5initialized@ 00033 b9 0e 00 01 00 mov ecx, 65550 ; 0001000eH 00038 e8 00 00 00 00 call _glfwInputError ; 2496 : "Win32: Platform not initialized"); ; 2497 : return NULL; 0003d 33 c0 xor eax, eax ; 2501 : } 0003f 48 83 c4 28 add rsp, 40 ; 00000028H 00043 c3 ret 0 $LN3@glfwGetWin: ; 2498 : } ; 2499 : ; 2500 : return window->win32.handle; 00044 48 8b 81 58 03 00 00 mov rax, QWORD PTR [rcx+856] ; 2501 : } 0004b 48 83 c4 28 add rsp, 40 ; 00000028H 0004f c3 ret 0 glfwGetWin32Window ENDP _TEXT ENDS END