Files
stgsharp/源代码/StgSharpC/x64/Release/win32_window.cod
T

14803 lines
435 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
; 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