Files
stgsharp/源代码/StgSharpC/x64/Debug/win32_monitor.cod
T

3719 lines
104 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 MSVCRTD
INCLUDELIB OLDNAMES
msvcjmc SEGMENT
__9C03CD75_concurrencysal@h DB 01H
__CA64BAF1_sal@h DB 01H
__95655E73_vadefs@h DB 01H
__1D560A45_vcruntime@h DB 01H
__1B0272D9_corecrt@h DB 01H
__13F5961F_stddef@h DB 01H
__ED683015_stdint@h DB 01H
__89F75FCD_ssgc_internal@h DB 01H
__A5E73FD0_glfw3@h DB 01H
__1D45B1A5_glfw_null_platform@h DB 01H
__74484FB3_corecrt_wctype@h DB 01H
__CBE172F9_wctype@h DB 01H
__0ED14FEE_winpackagefamily@h DB 01H
__F92EF742_winapifamily@h DB 01H
__22E515EB_sdkddkver@h DB 01H
__F214EFBF_excpt@h DB 01H
__D9B78EDA_stdarg@h DB 01H
__29F49F40_specstrings_undef@h DB 01H
__D0F42932_specstrings_strict@h DB 01H
__F00405FD_sdv_driverspecs@h DB 01H
__173E09CA_driverspecs@h DB 01H
__9A452361_specstrings@h DB 01H
__1EC467ED_ctype@h DB 01H
__98517906_kernelspecs@h DB 01H
__D3497022_basetsd@h DB 01H
__61CC25A1_errno@h DB 01H
__7061C667_vcruntime_string@h DB 01H
__E4C945B4_corecrt_memcpy_s@h DB 01H
__8EAFF484_corecrt_memory@h DB 01H
__6490AEC5_corecrt_wstring@h DB 01H
__E8295E1E_string@h DB 01H
__7FCB5136_guiddef@h DB 01H
__FF8A9E11_pshpack4@h DB 01H
__D5438902_poppack@h DB 01H
__FB07E2A3_pshpack2@h DB 01H
__F6906775_pshpack8@h DB 01H
__F9415CFA_pshpack1@h DB 01H
__E58C6F1C_apiset@h DB 01H
__A5C52262_ktmtypes@h DB 01H
__FBBA8F9D_winnt@h DB 01H
__A32D3D2C_minwindef@h DB 01H
__7D798299_windef@h DB 01H
__9AE108E9_apisetcconv@h DB 01H
__9CE53D2C_minwinbase@h DB 01H
__5D0AA210_apiquery2@h DB 01H
__4DD4E726_processenv@h DB 01H
__3575CC96_fileapi@h DB 01H
__8EA220E6_fileapifromapp@h DB 01H
__BF9B31FE_debugapi@h DB 01H
__C3AFE134_utilapiset@h DB 01H
__76F69E51_handleapi@h DB 01H
__7E63D784_errhandlingapi@h DB 01H
__FFA7003C_fibersapi@h DB 01H
__8971CECF_namedpipeapi@h DB 01H
__46C9D8A6_profileapi@h DB 01H
__98D4F0A3_heapapi@h DB 01H
__50EF2A88_ioapiset@h DB 01H
__92EA1464_synchapi@h DB 01H
__A53D8AED_interlockedapi@h DB 01H
__B506CAAF_processthreadsapi@h DB 01H
__FF735694_sysinfoapi@h DB 01H
__29589789_memoryapi@h DB 01H
__E9C7A663_enclaveapi@h DB 01H
__D035F9F7_threadpoollegacyapiset@h DB 01H
__C899130C_threadpoolapiset@h DB 01H
__E0441EE7_jobapi@h DB 01H
__CEF86838_jobapi2@h DB 01H
__35AC6B9A_wow64apiset@h DB 01H
__C8AE41A5_libloaderapi@h DB 01H
__CC9E232D_securitybaseapi@h DB 01H
__C9D0C9B8_namespaceapi@h DB 01H
__30FF9CAD_systemtopologyapi@h DB 01H
__4D358795_processtopologyapi@h DB 01H
__40446D10_securityappcontainer@h DB 01H
__3A952EDF_realtimeapiset@h DB 01H
__F4865F4B_winerror@h DB 01H
__53C1BD93_timezoneapi@h DB 01H
__1FFBEDBF_winbase@h DB 01H
__43D3FA34_wingdi@h DB 01H
__D24A7391_tvout@h DB 01H
__7713A6C8_winuser@h DB 01H
__0B345F71_datetimeapi@h DB 01H
__9AC6960C_winnls@h DB 01H
__973A40A8_stringapiset@h DB 01H
__CC46FEE2_wincontypes@h DB 01H
__97D70BE1_consoleapi@h DB 01H
__27EC5E18_consoleapi2@h DB 01H
__262E342F_consoleapi3@h DB 01H
__641DCD70_wincon@h DB 01H
__5A96C7A7_verrsrc@h DB 01H
__B69C6FF2_winver@h DB 01H
__7AEB8C37_reason@h DB 01H
__59F1A8A9_winreg@h DB 01H
__EE0E2B7F_wnnc@h DB 01H
__DCDB7054_winnetwk@h DB 01H
__81DDEDE3_stralign@h DB 01H
__2134D1B4_winsvc@h DB 01H
__11C07376_mcx@h DB 01H
__577CE3E7_ime_cmodes@h DB 01H
__1E72C31E_imm@h DB 01H
__E15BF856_windows@h DB 01H
__DF8704F0_rpcdcep@h DB 01H
__5C6CA7BB_rpcdce@h DB 01H
__853533C4_rpcnsi@h DB 01H
__2D2406C3_rpcnterr@h DB 01H
__64521D71_rpcasync@h DB 01H
__AADCBA08_rpc@h DB 01H
__1FE431C9_rpcnsip@h DB 01H
__2B741F2D_rpcsal@h DB 01H
__92623256_rpcndr@h DB 01H
__45DED006_corecrt_malloc@h DB 01H
__FD6DBD68_corecrt_search@h DB 01H
__E2E33A61_corecrt_wstdlib@h DB 01H
__531E1E2A_limits@h DB 01H
__6E5ACABA_stdlib@h DB 01H
__9C18532E_wtypesbase@h DB 01H
__30B1AFDA_unknwnbase@h DB 01H
__328C1996_objidlbase@h DB 01H
__C4E06B6A_cguid@h DB 01H
__434718C5_combaseapi@h DB 01H
__EA2E1D6D_wtypes@h DB 01H
__DE6FDEF1_unknwn@h DB 01H
__CCE0BACC_objidl@h DB 01H
__8C7011E5_oaidl@h DB 01H
__2E0B7863_propidlbase@h DB 01H
__BF4CF2EC_coml2api@h DB 01H
__6D897344_oleidl@h DB 01H
__1129FC2C_servprov@h DB 01H
__757952E4_msxml@h DB 01H
__B1191D53_urlmon@h DB 01H
__404D1A47_propidl@h DB 01H
__A1C63593_objbase@h DB 01H
__9F7C87B7_dinput@h DB 01H
__B468A3D3_xinput@h DB 01H
__AD768F06_dbt@h DB 01H
__D83367F8_glfw_win32_platform@h DB 01H
__53CB9229_glfw_null_joystick@h DB 01H
__96BD4474_glfw_win32_joystick@h DB 01H
__7D74CEA8_glfw_win32_thread@h DB 01H
__C7421531_glfw_win32_time@h DB 01H
__43B1F397_glfw_platform@h DB 01H
__A547227D_glfw_internal@h DB 01H
__44420885_corecrt_stdio_config@h DB 01H
__EF1F6BBA_corecrt_wconio@h DB 01H
__3D1D430C_corecrt_wdirect@h DB 01H
__8ECB7138_corecrt_share@h DB 01H
__DB7FEBA6_corecrt_wio@h DB 01H
__9A9F0068_corecrt_wprocess@h DB 01H
__AB601D8D_corecrt_wstdio@h DB 01H
__369A9BC3_corecrt_wtime@h DB 01H
__CE789B9D_types@h DB 01H
__9901C817_stat@h DB 01H
__3FCAD62E_wchar@h DB 01H
__E5428F11_win32_monitor@c DB 01H
msvcjmc ENDS
PUBLIC _glfwPollMonitorsWin32
PUBLIC _glfwSetVideoModeWin32
PUBLIC _glfwRestoreVideoModeWin32
PUBLIC _glfwGetHMONITORContentScaleWin32
PUBLIC _glfwFreeMonitorWin32
PUBLIC _glfwGetMonitorPosWin32
PUBLIC _glfwGetMonitorContentScaleWin32
PUBLIC _glfwGetMonitorWorkareaWin32
PUBLIC _glfwGetVideoModesWin32
PUBLIC _glfwGetVideoModeWin32
PUBLIC _glfwGetGammaRampWin32
PUBLIC _glfwSetGammaRampWin32
PUBLIC glfwGetWin32Adapter
PUBLIC glfwGetWin32Monitor
PUBLIC __JustMyCode_Default
PUBLIC ??_C@_1BA@PICGEGJB@?$AAD?$AAI?$AAS?$AAP?$AAL?$AAA?$AAY@ ; `string'
PUBLIC ??_C@_0O@NIPGCINC@Unknown?5error@ ; `string'
PUBLIC ??_C@_0BJ@EJOHFDHH@The?5system?5uses?5DualView@ ; `string'
PUBLIC ??_C@_0O@IHOLGAKK@Invalid?5flags@ ; `string'
PUBLIC ??_C@_0BM@KPJJBADD@Graphics?5mode?5not?5supported@ ; `string'
PUBLIC ??_C@_0BC@DBAKKFEN@Invalid?5parameter@ ; `string'
PUBLIC ??_C@_0BF@JHMFGJBN@Graphics?5mode?5failed@ ; `string'
PUBLIC ??_C@_0BM@IGBABBBF@Failed?5to?5write?5to?5registry@ ; `string'
PUBLIC ??_C@_0BK@OEGBAIFC@Computer?5restart?5required@ ; `string'
PUBLIC ??_C@_0CE@IKOICJPN@Win32?3?5Failed?5to?5set?5video?5mode@ ; `string'
PUBLIC ??_C@_0CD@IGHBCNOG@Win32?3?5Failed?5to?5query?5monitor?5@ ; `string'
PUBLIC ??_C@_0CD@EGEEPFHF@Win32?3?5Gamma?5ramp?5size?5must?5be?5@ ; `string'
PUBLIC __real@41cb3333
PUBLIC __real@42c00000
EXTRN memcpy:PROC
EXTRN memset:PROC
EXTRN __imp_wcscmp:PROC
EXTRN __imp_wcscpy:PROC
EXTRN __imp_CreateDCW:PROC
EXTRN __imp_DeleteDC:PROC
EXTRN __imp_GetDeviceCaps:PROC
EXTRN __imp_GetDeviceGammaRamp:PROC
EXTRN __imp_SetDeviceGammaRamp:PROC
EXTRN __imp_GetDC:PROC
EXTRN __imp_ReleaseDC:PROC
EXTRN __imp_ChangeDisplaySettingsExW:PROC
EXTRN __imp_EnumDisplaySettingsW:PROC
EXTRN __imp_EnumDisplaySettingsExW:PROC
EXTRN __imp_EnumDisplayDevicesW:PROC
EXTRN __imp_GetMonitorInfoW:PROC
EXTRN __imp_EnumDisplayMonitors:PROC
EXTRN __imp_WideCharToMultiByte:PROC
EXTRN _glfwCreateUTF8FromWideStringWin32:PROC
EXTRN _glfwIsWindowsVersionOrGreaterWin32:PROC
EXTRN _glfwInputMonitor:PROC
EXTRN _glfwInputError:PROC
EXTRN _glfwChooseVideoMode:PROC
EXTRN _glfwCompareVideoModes:PROC
EXTRN _glfwAllocMonitor:PROC
EXTRN _glfwAllocGammaArrays:PROC
EXTRN _glfwSplitBPP:PROC
EXTRN _glfw_calloc:PROC
EXTRN _glfw_realloc:PROC
EXTRN _glfw_free:PROC
EXTRN _RTC_CheckStackVars:PROC
EXTRN _RTC_InitBase:PROC
EXTRN _RTC_Shutdown:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN __GSHandlerCheck:PROC
EXTRN __security_check_cookie:PROC
EXTRN _glfw:BYTE
EXTRN __security_cookie:QWORD
EXTRN _fltused:DWORD
; COMDAT pdata
pdata SEGMENT
$pdata$_glfwPollMonitorsWin32 DD imagerel $LN32
DD imagerel $LN32+916
DD imagerel $unwind$_glfwPollMonitorsWin32
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_glfwSetVideoModeWin32 DD imagerel $LN21
DD imagerel $LN21+607
DD imagerel $unwind$_glfwSetVideoModeWin32
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_glfwRestoreVideoModeWin32 DD imagerel $LN4
DD imagerel $LN4+116
DD imagerel $unwind$_glfwRestoreVideoModeWin32
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_glfwGetHMONITORContentScaleWin32 DD imagerel $LN10
DD imagerel $LN10+377
DD imagerel $unwind$_glfwGetHMONITORContentScaleWin32
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_glfwFreeMonitorWin32 DD imagerel $LN3
DD imagerel $LN3+41
DD imagerel $unwind$_glfwFreeMonitorWin32
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_glfwGetMonitorPosWin32 DD imagerel $LN5
DD imagerel $LN5+231
DD imagerel $unwind$_glfwGetMonitorPosWin32
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_glfwGetMonitorContentScaleWin32 DD imagerel $LN3
DD imagerel $LN3+84
DD imagerel $unwind$_glfwGetMonitorContentScaleWin32
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_glfwGetMonitorWorkareaWin32 DD imagerel $LN7
DD imagerel $LN7+278
DD imagerel $unwind$_glfwGetMonitorWorkareaWin32
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_glfwGetVideoModesWin32 DD imagerel $LN17
DD imagerel $LN17+665
DD imagerel $unwind$_glfwGetVideoModesWin32
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_glfwGetVideoModeWin32 DD imagerel $LN3
DD imagerel $LN3+273
DD imagerel $unwind$_glfwGetVideoModeWin32
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_glfwGetGammaRampWin32 DD imagerel $LN3
DD imagerel $LN3+324
DD imagerel $unwind$_glfwGetGammaRampWin32
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_glfwSetGammaRampWin32 DD imagerel $LN4
DD imagerel $LN4+336
DD imagerel $unwind$_glfwSetGammaRampWin32
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$monitorCallback DD imagerel monitorCallback
DD imagerel monitorCallback+248
DD imagerel $unwind$monitorCallback
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$createMonitor DD imagerel createMonitor
DD imagerel createMonitor+906
DD imagerel $unwind$createMonitor
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$glfwGetWin32Adapter DD imagerel $LN4
DD imagerel $LN4+87
DD imagerel $unwind$glfwGetWin32Adapter
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$glfwGetWin32Monitor DD imagerel $LN4
DD imagerel $LN4+87
DD imagerel $unwind$glfwGetWin32Monitor
pdata ENDS
; COMDAT __real@42c00000
CONST SEGMENT
__real@42c00000 DD 042c00000r ; 96
CONST ENDS
; COMDAT __real@41cb3333
CONST SEGMENT
__real@41cb3333 DD 041cb3333r ; 25.4
CONST ENDS
; COMDAT rtc$TMZ
rtc$TMZ SEGMENT
_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown
rtc$TMZ ENDS
; COMDAT rtc$IMZ
rtc$IMZ SEGMENT
_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase
rtc$IMZ ENDS
; COMDAT ??_C@_0CD@EGEEPFHF@Win32?3?5Gamma?5ramp?5size?5must?5be?5@
CONST SEGMENT
??_C@_0CD@EGEEPFHF@Win32?3?5Gamma?5ramp?5size?5must?5be?5@ DB 'Win32: Gam'
DB 'ma ramp size must be 256', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0CD@IGHBCNOG@Win32?3?5Failed?5to?5query?5monitor?5@
CONST SEGMENT
??_C@_0CD@IGHBCNOG@Win32?3?5Failed?5to?5query?5monitor?5@ DB 'Win32: Fail'
DB 'ed to query monitor DPI', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0CE@IKOICJPN@Win32?3?5Failed?5to?5set?5video?5mode@
CONST SEGMENT
??_C@_0CE@IKOICJPN@Win32?3?5Failed?5to?5set?5video?5mode@ DB 'Win32: Fail'
DB 'ed to set video mode: %s', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0BK@OEGBAIFC@Computer?5restart?5required@
CONST SEGMENT
??_C@_0BK@OEGBAIFC@Computer?5restart?5required@ DB 'Computer restart requ'
DB 'ired', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0BM@IGBABBBF@Failed?5to?5write?5to?5registry@
CONST SEGMENT
??_C@_0BM@IGBABBBF@Failed?5to?5write?5to?5registry@ DB 'Failed to write t'
DB 'o registry', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0BF@JHMFGJBN@Graphics?5mode?5failed@
CONST SEGMENT
??_C@_0BF@JHMFGJBN@Graphics?5mode?5failed@ DB 'Graphics mode failed', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0BC@DBAKKFEN@Invalid?5parameter@
CONST SEGMENT
??_C@_0BC@DBAKKFEN@Invalid?5parameter@ DB 'Invalid parameter', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0BM@KPJJBADD@Graphics?5mode?5not?5supported@
CONST SEGMENT
??_C@_0BM@KPJJBADD@Graphics?5mode?5not?5supported@ DB 'Graphics mode not '
DB 'supported', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0O@IHOLGAKK@Invalid?5flags@
CONST SEGMENT
??_C@_0O@IHOLGAKK@Invalid?5flags@ DB 'Invalid flags', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0BJ@EJOHFDHH@The?5system?5uses?5DualView@
CONST SEGMENT
??_C@_0BJ@EJOHFDHH@The?5system?5uses?5DualView@ DB 'The system uses DualV'
DB 'iew', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0O@NIPGCINC@Unknown?5error@
CONST SEGMENT
??_C@_0O@NIPGCINC@Unknown?5error@ DB 'Unknown error', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1BA@PICGEGJB@?$AAD?$AAI?$AAS?$AAP?$AAL?$AAA?$AAY@
CONST SEGMENT
??_C@_1BA@PICGEGJB@?$AAD?$AAI?$AAS?$AAP?$AAL?$AAA?$AAY@ DB 'D', 00H, 'I', 00H
DB 'S', 00H, 'P', 00H, 'L', 00H, 'A', 00H, 'Y', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$glfwGetWin32Monitor DD 025051301H
DD 010e2313H
DD 070070021H
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$glfwGetWin32Adapter DD 025051301H
DD 010e2313H
DD 070070021H
DD 05006H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 03bH
DW 0371H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$createMonitor DD 045054219H
DD 01134318H
DD 0700c005bH
DD 0500bH
DD imagerel __GSHandlerCheck
DD 02c8H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
createMonitor$rtcName$0 DB 064H
DB 06dH
DB 00H
ORG $+1
createMonitor$rtcName$1 DB 072H
DB 065H
DB 063H
DB 074H
DB 00H
ORG $+7
createMonitor$rtcVarDesc DD 01e8H
DD 010H
DQ FLAT:createMonitor$rtcName$1
DD 0f0H
DD 0dcH
DQ FLAT:createMonitor$rtcName$0
ORG $+96
createMonitor$rtcFrameData DD 02H
DD 00H
DQ FLAT:createMonitor$rtcVarDesc
CONST ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 045H
DB 0dfH
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$monitorCallback DD 025054c19H
DD 011d2322H
DD 070160033H
DD 05015H
DD imagerel __GSHandlerCheck
DD 0188H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
monitorCallback$rtcName$0 DB 06dH
DB 069H
DB 00H
ORG $+13
monitorCallback$rtcVarDesc DD 030H
DD 068H
DQ FLAT:monitorCallback$rtcName$0
ORG $+48
monitorCallback$rtcFrameData DD 01H
DD 00H
DQ FLAT:monitorCallback$rtcVarDesc
CONST ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 03bH
DW 0137H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_glfwSetGammaRampWin32 DD 025054219H
DD 01132318H
DD 0700c012dH
DD 0500bH
DD imagerel __GSHandlerCheck
DD 0958H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
_glfwSetGammaRampWin32$rtcName$0 DB 076H
DB 061H
DB 06cH
DB 075H
DB 065H
DB 073H
DB 00H
ORG $+9
_glfwSetGammaRampWin32$rtcVarDesc DD 050H
DD 0600H
DQ FLAT:_glfwSetGammaRampWin32$rtcName$0
ORG $+48
_glfwSetGammaRampWin32$rtcFrameData DD 01H
DD 00H
DQ FLAT:_glfwSetGammaRampWin32$rtcVarDesc
CONST ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 03bH
DW 012bH
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_glfwGetGammaRampWin32 DD 025054219H
DD 01132318H
DD 0700c012dH
DD 0500bH
DD imagerel __GSHandlerCheck
DD 0958H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
_glfwGetGammaRampWin32$rtcName$0 DB 076H
DB 061H
DB 06cH
DB 075H
DB 065H
DB 073H
DB 00H
ORG $+9
_glfwGetGammaRampWin32$rtcVarDesc DD 050H
DD 0600H
DQ FLAT:_glfwGetGammaRampWin32$rtcName$0
ORG $+48
_glfwGetGammaRampWin32$rtcFrameData DD 01H
DD 00H
DQ FLAT:_glfwGetGammaRampWin32$rtcVarDesc
CONST ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 03bH
DB 0f8H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_glfwGetVideoModeWin32 DD 025054219H
DD 01132318H
DD 0700c003dH
DD 0500bH
DD imagerel __GSHandlerCheck
DD 01d8H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
_glfwGetVideoModeWin32$rtcName$0 DB 064H
DB 06dH
DB 00H
ORG $+13
_glfwGetVideoModeWin32$rtcVarDesc DD 030H
DD 0dcH
DQ FLAT:_glfwGetVideoModeWin32$rtcName$0
ORG $+48
_glfwGetVideoModeWin32$rtcFrameData DD 01H
DD 00H
DQ FLAT:_glfwGetVideoModeWin32$rtcVarDesc
CONST ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 03cH
DW 027fH
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_glfwGetVideoModesWin32 DD 035064319H
DD 01143319H
DD 0700d0054H
DD 0500b600cH
DD imagerel __GSHandlerCheck
DD 0298H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
_glfwGetVideoModesWin32$rtcName$0 DB 06dH
DB 06fH
DB 064H
DB 065H
DB 00H
ORG $+3
_glfwGetVideoModesWin32$rtcName$1 DB 064H
DB 06dH
DB 00H
ORG $+5
_glfwGetVideoModesWin32$rtcVarDesc DD 0f0H
DD 0dcH
DQ FLAT:_glfwGetVideoModesWin32$rtcName$1
DD 0b8H
DD 018H
DQ FLAT:_glfwGetVideoModesWin32$rtcName$0
ORG $+96
_glfwGetVideoModesWin32$rtcFrameData DD 02H
DD 00H
DQ FLAT:_glfwGetVideoModesWin32$rtcVarDesc
CONST ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 045H
DB 0fdH
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_glfwGetMonitorWorkareaWin32 DD 025054c19H
DD 011d2322H
DD 070160025H
DD 05015H
DD imagerel __GSHandlerCheck
DD 0118H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
_glfwGetMonitorWorkareaWin32$rtcName$0 DB 06dH
DB 069H
DB 00H
ORG $+13
_glfwGetMonitorWorkareaWin32$rtcVarDesc DD 028H
DD 028H
DQ FLAT:_glfwGetMonitorWorkareaWin32$rtcName$0
ORG $+48
_glfwGetMonitorWorkareaWin32$rtcFrameData DD 01H
DD 00H
DQ FLAT:_glfwGetMonitorWorkareaWin32$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_glfwGetMonitorContentScaleWin32 DD 025051d01H
DD 0118231dH
DD 07011001dH
DD 05010H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 040H
DB 0ceH
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_glfwGetMonitorPosWin32 DD 025054719H
DD 0118231dH
DD 07011003dH
DD 05010H
DD imagerel __GSHandlerCheck
DD 01d8H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
_glfwGetMonitorPosWin32$rtcName$0 DB 064H
DB 06dH
DB 00H
ORG $+13
_glfwGetMonitorPosWin32$rtcVarDesc DD 030H
DD 0dcH
DQ FLAT:_glfwGetMonitorPosWin32$rtcName$0
ORG $+48
_glfwGetMonitorPosWin32$rtcFrameData DD 01H
DD 00H
DQ FLAT:_glfwGetMonitorPosWin32$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_glfwFreeMonitorWin32 DD 025051301H
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 040H
DW 0160H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_glfwGetHMONITORContentScaleWin32 DD 025054719H
DD 0118231dH
DD 070110029H
DD 05010H
DD imagerel __GSHandlerCheck
DD 0138H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
_glfwGetHMONITORContentScaleWin32$rtcName$0 DB 078H
DB 064H
DB 070H
DB 069H
DB 00H
ORG $+3
_glfwGetHMONITORContentScaleWin32$rtcName$1 DB 079H
DB 064H
DB 070H
DB 069H
DB 00H
ORG $+3
_glfwGetHMONITORContentScaleWin32$rtcVarDesc DD 044H
DD 04H
DQ FLAT:_glfwGetHMONITORContentScaleWin32$rtcName$1
DD 024H
DD 04H
DQ FLAT:_glfwGetHMONITORContentScaleWin32$rtcName$0
ORG $+96
_glfwGetHMONITORContentScaleWin32$rtcFrameData DD 02H
DD 00H
DQ FLAT:_glfwGetHMONITORContentScaleWin32$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_glfwRestoreVideoModeWin32 DD 035051301H
DD 010e3313H
DD 07007001fH
DD 05006H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 03bH
DW 0246H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_glfwSetVideoModeWin32 DD 035054219H
DD 01133318H
DD 0700c0051H
DD 0500bH
DD imagerel __GSHandlerCheck
DD 0278H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
_glfwSetVideoModeWin32$rtcName$0 DB 063H
DB 075H
DB 072H
DB 072H
DB 065H
DB 06eH
DB 074H
DB 00H
_glfwSetVideoModeWin32$rtcName$1 DB 064H
DB 06dH
DB 00H
ORG $+5
_glfwSetVideoModeWin32$rtcVarDesc DD 090H
DD 0dcH
DQ FLAT:_glfwSetVideoModeWin32$rtcName$1
DD 038H
DD 018H
DQ FLAT:_glfwSetVideoModeWin32$rtcName$0
ORG $+96
_glfwSetVideoModeWin32$rtcFrameData DD 02H
DD 00H
DQ FLAT:_glfwSetVideoModeWin32$rtcVarDesc
CONST ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 02aH
DW 037bH
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_glfwPollMonitorsWin32 DD 025053119H
DD 010a230fH
DD 07003015dH
DD 05002H
DD imagerel __GSHandlerCheck
DD 0ad8H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
_glfwPollMonitorsWin32$rtcName$0 DB 061H
DB 064H
DB 061H
DB 070H
DB 074H
DB 065H
DB 072H
DB 00H
_glfwPollMonitorsWin32$rtcName$1 DB 064H
DB 069H
DB 073H
DB 070H
DB 06cH
DB 061H
DB 079H
DB 00H
_glfwPollMonitorsWin32$rtcVarDesc DD 0440H
DD 0348H
DQ FLAT:_glfwPollMonitorsWin32$rtcName$1
DD 0d0H
DD 0348H
DQ FLAT:_glfwPollMonitorsWin32$rtcName$0
ORG $+96
_glfwPollMonitorsWin32$rtcFrameData DD 02H
DD 00H
DQ FLAT:_glfwPollMonitorsWin32$rtcVarDesc
CONST ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
00000 c2 00 00 ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT glfwGetWin32Monitor
_TEXT SEGMENT
monitor$ = 8
handle$ = 256
glfwGetWin32Monitor PROC ; COMDAT
; 544 : {
$LN4:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec 08 01
00 00 sub rsp, 264 ; 00000108H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 545 : _GLFWmonitor* monitor = (_GLFWmonitor*) handle;
0001f 48 8b 85 00 01
00 00 mov rax, QWORD PTR handle$[rbp]
00026 48 89 45 08 mov QWORD PTR monitor$[rbp], rax
; 546 : _GLFW_REQUIRE_INIT_OR_RETURN(NULL);
0002a 83 3d 00 00 00
00 00 cmp DWORD PTR _glfw, 0
00031 75 10 jne SHORT $LN2@glfwGetWin
00033 33 d2 xor edx, edx
00035 b9 01 00 01 00 mov ecx, 65537 ; 00010001H
0003a e8 00 00 00 00 call _glfwInputError
0003f 33 c0 xor eax, eax
00041 eb 0a jmp SHORT $LN1@glfwGetWin
$LN2@glfwGetWin:
; 547 : return monitor->win32.publicDisplayName;
00043 48 8b 45 08 mov rax, QWORD PTR monitor$[rbp]
00047 48 05 a8 01 00
00 add rax, 424 ; 000001a8H
$LN1@glfwGetWin:
; 548 : }
0004d 48 8d a5 e8 00
00 00 lea rsp, QWORD PTR [rbp+232]
00054 5f pop rdi
00055 5d pop rbp
00056 c3 ret 0
glfwGetWin32Monitor ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT glfwGetWin32Adapter
_TEXT SEGMENT
monitor$ = 8
handle$ = 256
glfwGetWin32Adapter PROC ; COMDAT
; 537 : {
$LN4:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec 08 01
00 00 sub rsp, 264 ; 00000108H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 538 : _GLFWmonitor* monitor = (_GLFWmonitor*) handle;
0001f 48 8b 85 00 01
00 00 mov rax, QWORD PTR handle$[rbp]
00026 48 89 45 08 mov QWORD PTR monitor$[rbp], rax
; 539 : _GLFW_REQUIRE_INIT_OR_RETURN(NULL);
0002a 83 3d 00 00 00
00 00 cmp DWORD PTR _glfw, 0
00031 75 10 jne SHORT $LN2@glfwGetWin
00033 33 d2 xor edx, edx
00035 b9 01 00 01 00 mov ecx, 65537 ; 00010001H
0003a e8 00 00 00 00 call _glfwInputError
0003f 33 c0 xor eax, eax
00041 eb 0a jmp SHORT $LN1@glfwGetWin
$LN2@glfwGetWin:
; 540 : return monitor->win32.publicAdapterName;
00043 48 8b 45 08 mov rax, QWORD PTR monitor$[rbp]
00047 48 05 88 01 00
00 add rax, 392 ; 00000188H
$LN1@glfwGetWin:
; 541 : }
0004d 48 8d a5 e8 00
00 00 lea rsp, QWORD PTR [rbp+232]
00054 5f pop rdi
00055 5d pop rbp
00056 c3 ret 0
glfwGetWin32Adapter ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT createMonitor
_TEXT SEGMENT
monitor$ = 8
widthMM$ = 36
heightMM$ = 68
name$ = 104
dc$ = 136
dm$ = 176
rect$ = 424
tv138 = 644
tv129 = 644
__$ArrayPad$ = 648
adapter$ = 688
display$ = 696
createMonitor PROC ; COMDAT
; 65 : {
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec d8 02
00 00 sub rsp, 728 ; 000002d8H
00013 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64]
00018 48 8d 7c 24 40 lea rdi, QWORD PTR [rsp+64]
0001d b9 76 00 00 00 mov ecx, 118 ; 00000076H
00022 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00027 f3 ab rep stosd
00029 48 8b 8c 24 f8
02 00 00 mov rcx, QWORD PTR [rsp+760]
00031 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00038 48 33 c5 xor rax, rbp
0003b 48 89 85 88 02
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00042 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
00049 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 66 : _GLFWmonitor* monitor;
; 67 : int widthMM, heightMM;
; 68 : char* name;
; 69 : HDC dc;
; 70 : DEVMODEW dm;
; 71 : RECT rect;
; 72 :
; 73 : if (display)
0004e 48 83 bd b8 02
00 00 00 cmp QWORD PTR display$[rbp], 0
00056 74 19 je SHORT $LN2@createMoni
; 74 : name = _glfwCreateUTF8FromWideStringWin32(display->DeviceString);
00058 48 8b 85 b8 02
00 00 mov rax, QWORD PTR display$[rbp]
0005f 48 83 c0 44 add rax, 68 ; 00000044H
00063 48 8b c8 mov rcx, rax
00066 e8 00 00 00 00 call _glfwCreateUTF8FromWideStringWin32
0006b 48 89 45 68 mov QWORD PTR name$[rbp], rax
0006f eb 17 jmp SHORT $LN3@createMoni
$LN2@createMoni:
; 75 : else
; 76 : name = _glfwCreateUTF8FromWideStringWin32(adapter->DeviceString);
00071 48 8b 85 b0 02
00 00 mov rax, QWORD PTR adapter$[rbp]
00078 48 83 c0 44 add rax, 68 ; 00000044H
0007c 48 8b c8 mov rcx, rax
0007f e8 00 00 00 00 call _glfwCreateUTF8FromWideStringWin32
00084 48 89 45 68 mov QWORD PTR name$[rbp], rax
$LN3@createMoni:
; 77 : if (!name)
00088 48 83 7d 68 00 cmp QWORD PTR name$[rbp], 0
0008d 75 07 jne SHORT $LN4@createMoni
; 78 : return NULL;
0008f 33 c0 xor eax, eax
00091 e9 c5 02 00 00 jmp $LN1@createMoni
$LN4@createMoni:
; 79 :
; 80 : ZeroMemory(&dm, sizeof(dm));
00096 41 b8 dc 00 00
00 mov r8d, 220 ; 000000dcH
0009c 33 d2 xor edx, edx
0009e 48 8d 8d b0 00
00 00 lea rcx, QWORD PTR dm$[rbp]
000a5 e8 00 00 00 00 call memset
; 81 : dm.dmSize = sizeof(dm);
000aa b8 dc 00 00 00 mov eax, 220 ; 000000dcH
000af 66 89 85 f4 00
00 00 mov WORD PTR dm$[rbp+68], ax
; 82 : EnumDisplaySettingsW(adapter->DeviceName, ENUM_CURRENT_SETTINGS, &dm);
000b6 48 8b 85 b0 02
00 00 mov rax, QWORD PTR adapter$[rbp]
000bd 48 83 c0 04 add rax, 4
000c1 4c 8d 85 b0 00
00 00 lea r8, QWORD PTR dm$[rbp]
000c8 ba ff ff ff ff mov edx, -1 ; ffffffffH
000cd 48 8b c8 mov rcx, rax
000d0 ff 15 00 00 00
00 call QWORD PTR __imp_EnumDisplaySettingsW
; 83 :
; 84 : dc = CreateDCW(L"DISPLAY", adapter->DeviceName, NULL, NULL);
000d6 48 8b 85 b0 02
00 00 mov rax, QWORD PTR adapter$[rbp]
000dd 48 83 c0 04 add rax, 4
000e1 45 33 c9 xor r9d, r9d
000e4 45 33 c0 xor r8d, r8d
000e7 48 8b d0 mov rdx, rax
000ea 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_1BA@PICGEGJB@?$AAD?$AAI?$AAS?$AAP?$AAL?$AAA?$AAY@
000f1 ff 15 00 00 00
00 call QWORD PTR __imp_CreateDCW
000f7 48 89 85 88 00
00 00 mov QWORD PTR dc$[rbp], rax
; 85 :
; 86 : if (IsWindows8Point1OrGreater())
000fe 45 33 c0 xor r8d, r8d
00101 66 ba 03 00 mov dx, 3
00105 66 b9 06 00 mov cx, 6
00109 e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32
0010e 85 c0 test eax, eax
00110 74 2f je SHORT $LN5@createMoni
; 87 : {
; 88 : widthMM = GetDeviceCaps(dc, HORZSIZE);
00112 ba 04 00 00 00 mov edx, 4
00117 48 8b 8d 88 00
00 00 mov rcx, QWORD PTR dc$[rbp]
0011e ff 15 00 00 00
00 call QWORD PTR __imp_GetDeviceCaps
00124 89 45 24 mov DWORD PTR widthMM$[rbp], eax
; 89 : heightMM = GetDeviceCaps(dc, VERTSIZE);
00127 ba 06 00 00 00 mov edx, 6
0012c 48 8b 8d 88 00
00 00 mov rcx, QWORD PTR dc$[rbp]
00133 ff 15 00 00 00
00 call QWORD PTR __imp_GetDeviceCaps
00139 89 45 44 mov DWORD PTR heightMM$[rbp], eax
; 90 : }
0013c e9 8e 00 00 00 jmp $LN6@createMoni
$LN5@createMoni:
; 91 : else
; 92 : {
; 93 : widthMM = (int) (dm.dmPelsWidth * 25.4f / GetDeviceCaps(dc, LOGPIXELSX));
00141 8b 85 5c 01 00
00 mov eax, DWORD PTR dm$[rbp+172]
00147 f3 48 0f 2a c0 cvtsi2ss xmm0, rax
0014c f3 0f 59 05 00
00 00 00 mulss xmm0, DWORD PTR __real@41cb3333
00154 f3 0f 11 85 84
02 00 00 movss DWORD PTR tv129[rbp], xmm0
0015c ba 58 00 00 00 mov edx, 88 ; 00000058H
00161 48 8b 8d 88 00
00 00 mov rcx, QWORD PTR dc$[rbp]
00168 ff 15 00 00 00
00 call QWORD PTR __imp_GetDeviceCaps
0016e f3 0f 2a c0 cvtsi2ss xmm0, eax
00172 f3 0f 10 8d 84
02 00 00 movss xmm1, DWORD PTR tv129[rbp]
0017a f3 0f 5e c8 divss xmm1, xmm0
0017e 0f 28 c1 movaps xmm0, xmm1
00181 f3 0f 2c c0 cvttss2si eax, xmm0
00185 89 45 24 mov DWORD PTR widthMM$[rbp], eax
; 94 : heightMM = (int) (dm.dmPelsHeight * 25.4f / GetDeviceCaps(dc, LOGPIXELSY));
00188 8b 85 60 01 00
00 mov eax, DWORD PTR dm$[rbp+176]
0018e f3 48 0f 2a c0 cvtsi2ss xmm0, rax
00193 f3 0f 59 05 00
00 00 00 mulss xmm0, DWORD PTR __real@41cb3333
0019b f3 0f 11 85 84
02 00 00 movss DWORD PTR tv138[rbp], xmm0
001a3 ba 5a 00 00 00 mov edx, 90 ; 0000005aH
001a8 48 8b 8d 88 00
00 00 mov rcx, QWORD PTR dc$[rbp]
001af ff 15 00 00 00
00 call QWORD PTR __imp_GetDeviceCaps
001b5 f3 0f 2a c0 cvtsi2ss xmm0, eax
001b9 f3 0f 10 8d 84
02 00 00 movss xmm1, DWORD PTR tv138[rbp]
001c1 f3 0f 5e c8 divss xmm1, xmm0
001c5 0f 28 c1 movaps xmm0, xmm1
001c8 f3 0f 2c c0 cvttss2si eax, xmm0
001cc 89 45 44 mov DWORD PTR heightMM$[rbp], eax
$LN6@createMoni:
; 95 : }
; 96 :
; 97 : DeleteDC(dc);
001cf 48 8b 8d 88 00
00 00 mov rcx, QWORD PTR dc$[rbp]
001d6 ff 15 00 00 00
00 call QWORD PTR __imp_DeleteDC
; 98 :
; 99 : monitor = _glfwAllocMonitor(name, widthMM, heightMM);
001dc 44 8b 45 44 mov r8d, DWORD PTR heightMM$[rbp]
001e0 8b 55 24 mov edx, DWORD PTR widthMM$[rbp]
001e3 48 8b 4d 68 mov rcx, QWORD PTR name$[rbp]
001e7 e8 00 00 00 00 call _glfwAllocMonitor
001ec 48 89 45 08 mov QWORD PTR monitor$[rbp], rax
; 100 : _glfw_free(name);
001f0 48 8b 4d 68 mov rcx, QWORD PTR name$[rbp]
001f4 e8 00 00 00 00 call _glfw_free
; 101 :
; 102 : if (adapter->StateFlags & DISPLAY_DEVICE_MODESPRUNED)
001f9 48 8b 85 b0 02
00 00 mov rax, QWORD PTR adapter$[rbp]
00200 8b 80 44 01 00
00 mov eax, DWORD PTR [rax+324]
00206 25 00 00 00 08 and eax, 134217728 ; 08000000H
0020b 85 c0 test eax, eax
0020d 74 0e je SHORT $LN7@createMoni
; 103 : monitor->win32.modesPruned = GLFW_TRUE;
0020f 48 8b 45 08 mov rax, QWORD PTR monitor$[rbp]
00213 c7 80 c8 01 00
00 01 00 00 00 mov DWORD PTR [rax+456], 1
$LN7@createMoni:
; 104 :
; 105 : wcscpy(monitor->win32.adapterName, adapter->DeviceName);
0021d 48 8b 85 b0 02
00 00 mov rax, QWORD PTR adapter$[rbp]
00224 48 83 c0 04 add rax, 4
00228 48 8b 4d 08 mov rcx, QWORD PTR monitor$[rbp]
0022c 48 81 c1 08 01
00 00 add rcx, 264 ; 00000108H
00233 48 8b d0 mov rdx, rax
00236 ff 15 00 00 00
00 call QWORD PTR __imp_wcscpy
; 106 : WideCharToMultiByte(CP_UTF8, 0,
0023c 48 8b 45 08 mov rax, QWORD PTR monitor$[rbp]
00240 48 05 88 01 00
00 add rax, 392 ; 00000188H
00246 48 8b 8d b0 02
00 00 mov rcx, QWORD PTR adapter$[rbp]
0024d 48 83 c1 04 add rcx, 4
00251 48 c7 44 24 38
00 00 00 00 mov QWORD PTR [rsp+56], 0
0025a 48 c7 44 24 30
00 00 00 00 mov QWORD PTR [rsp+48], 0
00263 c7 44 24 28 20
00 00 00 mov DWORD PTR [rsp+40], 32 ; 00000020H
0026b 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
00270 41 b9 ff ff ff
ff mov r9d, -1
00276 4c 8b c1 mov r8, rcx
00279 33 d2 xor edx, edx
0027b b9 e9 fd 00 00 mov ecx, 65001 ; 0000fde9H
00280 ff 15 00 00 00
00 call QWORD PTR __imp_WideCharToMultiByte
; 107 : adapter->DeviceName, -1,
; 108 : monitor->win32.publicAdapterName,
; 109 : sizeof(monitor->win32.publicAdapterName),
; 110 : NULL, NULL);
; 111 :
; 112 : if (display)
00286 48 83 bd b8 02
00 00 00 cmp QWORD PTR display$[rbp], 0
0028e 74 69 je SHORT $LN8@createMoni
; 113 : {
; 114 : wcscpy(monitor->win32.displayName, display->DeviceName);
00290 48 8b 85 b8 02
00 00 mov rax, QWORD PTR display$[rbp]
00297 48 83 c0 04 add rax, 4
0029b 48 8b 4d 08 mov rcx, QWORD PTR monitor$[rbp]
0029f 48 81 c1 48 01
00 00 add rcx, 328 ; 00000148H
002a6 48 8b d0 mov rdx, rax
002a9 ff 15 00 00 00
00 call QWORD PTR __imp_wcscpy
; 115 : WideCharToMultiByte(CP_UTF8, 0,
002af 48 8b 45 08 mov rax, QWORD PTR monitor$[rbp]
002b3 48 05 a8 01 00
00 add rax, 424 ; 000001a8H
002b9 48 8b 8d b8 02
00 00 mov rcx, QWORD PTR display$[rbp]
002c0 48 83 c1 04 add rcx, 4
002c4 48 c7 44 24 38
00 00 00 00 mov QWORD PTR [rsp+56], 0
002cd 48 c7 44 24 30
00 00 00 00 mov QWORD PTR [rsp+48], 0
002d6 c7 44 24 28 20
00 00 00 mov DWORD PTR [rsp+40], 32 ; 00000020H
002de 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
002e3 41 b9 ff ff ff
ff mov r9d, -1
002e9 4c 8b c1 mov r8, rcx
002ec 33 d2 xor edx, edx
002ee b9 e9 fd 00 00 mov ecx, 65001 ; 0000fde9H
002f3 ff 15 00 00 00
00 call QWORD PTR __imp_WideCharToMultiByte
$LN8@createMoni:
; 116 : display->DeviceName, -1,
; 117 : monitor->win32.publicDisplayName,
; 118 : sizeof(monitor->win32.publicDisplayName),
; 119 : NULL, NULL);
; 120 : }
; 121 :
; 122 : rect.left = dm.dmPosition.x;
002f9 8b 85 fc 00 00
00 mov eax, DWORD PTR dm$[rbp+76]
002ff 89 85 a8 01 00
00 mov DWORD PTR rect$[rbp], eax
; 123 : rect.top = dm.dmPosition.y;
00305 8b 85 00 01 00
00 mov eax, DWORD PTR dm$[rbp+80]
0030b 89 85 ac 01 00
00 mov DWORD PTR rect$[rbp+4], eax
; 124 : rect.right = dm.dmPosition.x + dm.dmPelsWidth;
00311 8b 85 5c 01 00
00 mov eax, DWORD PTR dm$[rbp+172]
00317 8b 8d fc 00 00
00 mov ecx, DWORD PTR dm$[rbp+76]
0031d 03 c8 add ecx, eax
0031f 8b c1 mov eax, ecx
00321 89 85 b0 01 00
00 mov DWORD PTR rect$[rbp+8], eax
; 125 : rect.bottom = dm.dmPosition.y + dm.dmPelsHeight;
00327 8b 85 60 01 00
00 mov eax, DWORD PTR dm$[rbp+176]
0032d 8b 8d 00 01 00
00 mov ecx, DWORD PTR dm$[rbp+80]
00333 03 c8 add ecx, eax
00335 8b c1 mov eax, ecx
00337 89 85 b4 01 00
00 mov DWORD PTR rect$[rbp+12], eax
; 126 :
; 127 : EnumDisplayMonitors(NULL, &rect, monitorCallback, (LPARAM) monitor);
0033d 4c 8b 4d 08 mov r9, QWORD PTR monitor$[rbp]
00341 4c 8d 05 00 00
00 00 lea r8, OFFSET FLAT:monitorCallback
00348 48 8d 95 a8 01
00 00 lea rdx, QWORD PTR rect$[rbp]
0034f 33 c9 xor ecx, ecx
00351 ff 15 00 00 00
00 call QWORD PTR __imp_EnumDisplayMonitors
; 128 : return monitor;
00357 48 8b 45 08 mov rax, QWORD PTR monitor$[rbp]
$LN1@createMoni:
; 129 : }
0035b 48 8b f8 mov rdi, rax
0035e 48 8d 4d c0 lea rcx, QWORD PTR [rbp-64]
00362 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:createMonitor$rtcFrameData
00369 e8 00 00 00 00 call _RTC_CheckStackVars
0036e 48 8b c7 mov rax, rdi
00371 48 8b 8d 88 02
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00378 48 33 cd xor rcx, rbp
0037b e8 00 00 00 00 call __security_check_cookie
00380 48 8d a5 98 02
00 00 lea rsp, QWORD PTR [rbp+664]
00387 5f pop rdi
00388 5d pop rbp
00389 c3 ret 0
createMonitor ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT monitorCallback
_TEXT SEGMENT
mi$ = 16
monitor$4 = 152
__$ArrayPad$ = 360
handle$ = 400
dc$ = 408
rect$ = 416
data$ = 424
monitorCallback PROC ; COMDAT
; 46 : {
00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00014 55 push rbp
00015 57 push rdi
00016 48 81 ec 98 01
00 00 sub rsp, 408 ; 00000198H
0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
00027 b9 2e 00 00 00 mov ecx, 46 ; 0000002eH
0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00031 f3 ab rep stosd
00033 48 8b 8c 24 b8
01 00 00 mov rcx, QWORD PTR [rsp+440]
0003b 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00042 48 33 c5 xor rax, rbp
00045 48 89 85 68 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
0004c 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 47 : MONITORINFOEXW mi;
; 48 : ZeroMemory(&mi, sizeof(mi));
00058 41 b8 68 00 00
00 mov r8d, 104 ; 00000068H
0005e 33 d2 xor edx, edx
00060 48 8d 4d 10 lea rcx, QWORD PTR mi$[rbp]
00064 e8 00 00 00 00 call memset
; 49 : mi.cbSize = sizeof(mi);
00069 c7 45 10 68 00
00 00 mov DWORD PTR mi$[rbp], 104 ; 00000068H
; 50 :
; 51 : if (GetMonitorInfoW(handle, (MONITORINFO*) &mi))
00070 48 8d 55 10 lea rdx, QWORD PTR mi$[rbp]
00074 48 8b 8d 90 01
00 00 mov rcx, QWORD PTR handle$[rbp]
0007b ff 15 00 00 00
00 call QWORD PTR __imp_GetMonitorInfoW
00081 85 c0 test eax, eax
00083 74 41 je SHORT $LN2@monitorCal
; 52 : {
; 53 : _GLFWmonitor* monitor = (_GLFWmonitor*) data;
00085 48 8b 85 a8 01
00 00 mov rax, QWORD PTR data$[rbp]
0008c 48 89 85 98 00
00 00 mov QWORD PTR monitor$4[rbp], rax
; 54 : if (wcscmp(mi.szDevice, monitor->win32.adapterName) == 0)
00093 48 8b 85 98 00
00 00 mov rax, QWORD PTR monitor$4[rbp]
0009a 48 05 08 01 00
00 add rax, 264 ; 00000108H
000a0 48 8b d0 mov rdx, rax
000a3 48 8d 4d 38 lea rcx, QWORD PTR mi$[rbp+40]
000a7 ff 15 00 00 00
00 call QWORD PTR __imp_wcscmp
000ad 85 c0 test eax, eax
000af 75 15 jne SHORT $LN3@monitorCal
; 55 : monitor->win32.handle = handle;
000b1 48 8b 85 98 00
00 00 mov rax, QWORD PTR monitor$4[rbp]
000b8 48 8b 8d 90 01
00 00 mov rcx, QWORD PTR handle$[rbp]
000bf 48 89 88 00 01
00 00 mov QWORD PTR [rax+256], rcx
$LN3@monitorCal:
$LN2@monitorCal:
; 56 : }
; 57 :
; 58 : return TRUE;
000c6 b8 01 00 00 00 mov eax, 1
; 59 : }
000cb 8b f8 mov edi, eax
000cd 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
000d1 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:monitorCallback$rtcFrameData
000d8 e8 00 00 00 00 call _RTC_CheckStackVars
000dd 8b c7 mov eax, edi
000df 48 8b 8d 68 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
000e6 48 33 cd xor rcx, rbp
000e9 e8 00 00 00 00 call __security_check_cookie
000ee 48 8d a5 78 01
00 00 lea rsp, QWORD PTR [rbp+376]
000f5 5f pop rdi
000f6 5d pop rbp
000f7 c3 ret 0
monitorCallback ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT _glfwSetGammaRampWin32
_TEXT SEGMENT
dc$ = 8
values$ = 48
__$ArrayPad$ = 2360
monitor$ = 2400
ramp$ = 2408
_glfwSetGammaRampWin32 PROC ; COMDAT
; 511 : {
$LN4:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec 68 09
00 00 sub rsp, 2408 ; 00000968H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
0001d b9 92 01 00 00 mov ecx, 402 ; 00000192H
00022 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00027 f3 ab rep stosd
00029 48 8b 8c 24 88
09 00 00 mov rcx, QWORD PTR [rsp+2440]
00031 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00038 48 33 c5 xor rax, rbp
0003b 48 89 85 38 09
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00042 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
00049 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 512 : HDC dc;
; 513 : WORD values[3][256];
; 514 :
; 515 : if (ramp->size != 256)
0004e 48 8b 85 68 09
00 00 mov rax, QWORD PTR ramp$[rbp]
00055 81 78 18 00 01
00 00 cmp DWORD PTR [rax+24], 256 ; 00000100H
0005c 74 16 je SHORT $LN2@glfwSetGam
; 516 : {
; 517 : _glfwInputError(GLFW_PLATFORM_ERROR,
0005e 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:??_C@_0CD@EGEEPFHF@Win32?3?5Gamma?5ramp?5size?5must?5be?5@
00065 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
0006a e8 00 00 00 00 call _glfwInputError
; 518 : "Win32: Gamma ramp size must be 256");
; 519 : return;
0006f e9 b3 00 00 00 jmp $LN1@glfwSetGam
$LN2@glfwSetGam:
; 520 : }
; 521 :
; 522 : memcpy(values[0], ramp->red, sizeof(values[0]));
00074 b8 00 02 00 00 mov eax, 512 ; 00000200H
00079 48 6b c0 00 imul rax, rax, 0
0007d 48 8d 44 05 30 lea rax, QWORD PTR values$[rbp+rax]
00082 41 b8 00 02 00
00 mov r8d, 512 ; 00000200H
00088 48 8b 8d 68 09
00 00 mov rcx, QWORD PTR ramp$[rbp]
0008f 48 8b 11 mov rdx, QWORD PTR [rcx]
00092 48 8b c8 mov rcx, rax
00095 e8 00 00 00 00 call memcpy
; 523 : memcpy(values[1], ramp->green, sizeof(values[1]));
0009a b8 00 02 00 00 mov eax, 512 ; 00000200H
0009f 48 6b c0 01 imul rax, rax, 1
000a3 48 8d 44 05 30 lea rax, QWORD PTR values$[rbp+rax]
000a8 41 b8 00 02 00
00 mov r8d, 512 ; 00000200H
000ae 48 8b 8d 68 09
00 00 mov rcx, QWORD PTR ramp$[rbp]
000b5 48 8b 51 08 mov rdx, QWORD PTR [rcx+8]
000b9 48 8b c8 mov rcx, rax
000bc e8 00 00 00 00 call memcpy
; 524 : memcpy(values[2], ramp->blue, sizeof(values[2]));
000c1 b8 00 02 00 00 mov eax, 512 ; 00000200H
000c6 48 6b c0 02 imul rax, rax, 2
000ca 48 8d 44 05 30 lea rax, QWORD PTR values$[rbp+rax]
000cf 41 b8 00 02 00
00 mov r8d, 512 ; 00000200H
000d5 48 8b 8d 68 09
00 00 mov rcx, QWORD PTR ramp$[rbp]
000dc 48 8b 51 10 mov rdx, QWORD PTR [rcx+16]
000e0 48 8b c8 mov rcx, rax
000e3 e8 00 00 00 00 call memcpy
; 525 :
; 526 : dc = CreateDCW(L"DISPLAY", monitor->win32.adapterName, NULL, NULL);
000e8 48 8b 85 60 09
00 00 mov rax, QWORD PTR monitor$[rbp]
000ef 48 05 08 01 00
00 add rax, 264 ; 00000108H
000f5 45 33 c9 xor r9d, r9d
000f8 45 33 c0 xor r8d, r8d
000fb 48 8b d0 mov rdx, rax
000fe 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_1BA@PICGEGJB@?$AAD?$AAI?$AAS?$AAP?$AAL?$AAA?$AAY@
00105 ff 15 00 00 00
00 call QWORD PTR __imp_CreateDCW
0010b 48 89 45 08 mov QWORD PTR dc$[rbp], rax
; 527 : SetDeviceGammaRamp(dc, values);
0010f 48 8d 55 30 lea rdx, QWORD PTR values$[rbp]
00113 48 8b 4d 08 mov rcx, QWORD PTR dc$[rbp]
00117 ff 15 00 00 00
00 call QWORD PTR __imp_SetDeviceGammaRamp
; 528 : DeleteDC(dc);
0011d 48 8b 4d 08 mov rcx, QWORD PTR dc$[rbp]
00121 ff 15 00 00 00
00 call QWORD PTR __imp_DeleteDC
$LN1@glfwSetGam:
; 529 : }
00127 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
0012b 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:_glfwSetGammaRampWin32$rtcFrameData
00132 e8 00 00 00 00 call _RTC_CheckStackVars
00137 48 8b 8d 38 09
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
0013e 48 33 cd xor rcx, rbp
00141 e8 00 00 00 00 call __security_check_cookie
00146 48 8d a5 48 09
00 00 lea rsp, QWORD PTR [rbp+2376]
0014d 5f pop rdi
0014e 5d pop rbp
0014f c3 ret 0
_glfwSetGammaRampWin32 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT _glfwGetGammaRampWin32
_TEXT SEGMENT
dc$ = 8
values$ = 48
__$ArrayPad$ = 2360
monitor$ = 2400
ramp$ = 2408
_glfwGetGammaRampWin32 PROC ; COMDAT
; 493 : {
$LN3:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec 68 09
00 00 sub rsp, 2408 ; 00000968H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
0001d b9 92 01 00 00 mov ecx, 402 ; 00000192H
00022 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00027 f3 ab rep stosd
00029 48 8b 8c 24 88
09 00 00 mov rcx, QWORD PTR [rsp+2440]
00031 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00038 48 33 c5 xor rax, rbp
0003b 48 89 85 38 09
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00042 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
00049 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 494 : HDC dc;
; 495 : WORD values[3][256];
; 496 :
; 497 : dc = CreateDCW(L"DISPLAY", monitor->win32.adapterName, NULL, NULL);
0004e 48 8b 85 60 09
00 00 mov rax, QWORD PTR monitor$[rbp]
00055 48 05 08 01 00
00 add rax, 264 ; 00000108H
0005b 45 33 c9 xor r9d, r9d
0005e 45 33 c0 xor r8d, r8d
00061 48 8b d0 mov rdx, rax
00064 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_1BA@PICGEGJB@?$AAD?$AAI?$AAS?$AAP?$AAL?$AAA?$AAY@
0006b ff 15 00 00 00
00 call QWORD PTR __imp_CreateDCW
00071 48 89 45 08 mov QWORD PTR dc$[rbp], rax
; 498 : GetDeviceGammaRamp(dc, values);
00075 48 8d 55 30 lea rdx, QWORD PTR values$[rbp]
00079 48 8b 4d 08 mov rcx, QWORD PTR dc$[rbp]
0007d ff 15 00 00 00
00 call QWORD PTR __imp_GetDeviceGammaRamp
; 499 : DeleteDC(dc);
00083 48 8b 4d 08 mov rcx, QWORD PTR dc$[rbp]
00087 ff 15 00 00 00
00 call QWORD PTR __imp_DeleteDC
; 500 :
; 501 : _glfwAllocGammaArrays(ramp, 256);
0008d ba 00 01 00 00 mov edx, 256 ; 00000100H
00092 48 8b 8d 68 09
00 00 mov rcx, QWORD PTR ramp$[rbp]
00099 e8 00 00 00 00 call _glfwAllocGammaArrays
; 502 :
; 503 : memcpy(ramp->red, values[0], sizeof(values[0]));
0009e b8 00 02 00 00 mov eax, 512 ; 00000200H
000a3 48 6b c0 00 imul rax, rax, 0
000a7 48 8d 44 05 30 lea rax, QWORD PTR values$[rbp+rax]
000ac 41 b8 00 02 00
00 mov r8d, 512 ; 00000200H
000b2 48 8b d0 mov rdx, rax
000b5 48 8b 85 68 09
00 00 mov rax, QWORD PTR ramp$[rbp]
000bc 48 8b 08 mov rcx, QWORD PTR [rax]
000bf e8 00 00 00 00 call memcpy
; 504 : memcpy(ramp->green, values[1], sizeof(values[1]));
000c4 b8 00 02 00 00 mov eax, 512 ; 00000200H
000c9 48 6b c0 01 imul rax, rax, 1
000cd 48 8d 44 05 30 lea rax, QWORD PTR values$[rbp+rax]
000d2 41 b8 00 02 00
00 mov r8d, 512 ; 00000200H
000d8 48 8b d0 mov rdx, rax
000db 48 8b 85 68 09
00 00 mov rax, QWORD PTR ramp$[rbp]
000e2 48 8b 48 08 mov rcx, QWORD PTR [rax+8]
000e6 e8 00 00 00 00 call memcpy
; 505 : memcpy(ramp->blue, values[2], sizeof(values[2]));
000eb b8 00 02 00 00 mov eax, 512 ; 00000200H
000f0 48 6b c0 02 imul rax, rax, 2
000f4 48 8d 44 05 30 lea rax, QWORD PTR values$[rbp+rax]
000f9 41 b8 00 02 00
00 mov r8d, 512 ; 00000200H
000ff 48 8b d0 mov rdx, rax
00102 48 8b 85 68 09
00 00 mov rax, QWORD PTR ramp$[rbp]
00109 48 8b 48 10 mov rcx, QWORD PTR [rax+16]
0010d e8 00 00 00 00 call memcpy
; 506 :
; 507 : return GLFW_TRUE;
00112 b8 01 00 00 00 mov eax, 1
; 508 : }
00117 8b f8 mov edi, eax
00119 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
0011d 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:_glfwGetGammaRampWin32$rtcFrameData
00124 e8 00 00 00 00 call _RTC_CheckStackVars
00129 8b c7 mov eax, edi
0012b 48 8b 8d 38 09
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00132 48 33 cd xor rcx, rbp
00135 e8 00 00 00 00 call __security_check_cookie
0013a 48 8d a5 48 09
00 00 lea rsp, QWORD PTR [rbp+2376]
00141 5f pop rdi
00142 5d pop rbp
00143 c3 ret 0
_glfwGetGammaRampWin32 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT _glfwGetVideoModeWin32
_TEXT SEGMENT
dm$ = 16
__$ArrayPad$ = 440
monitor$ = 480
mode$ = 488
_glfwGetVideoModeWin32 PROC ; COMDAT
; 476 : {
$LN3:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec e8 01
00 00 sub rsp, 488 ; 000001e8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
0001d b9 42 00 00 00 mov ecx, 66 ; 00000042H
00022 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00027 f3 ab rep stosd
00029 48 8b 8c 24 08
02 00 00 mov rcx, QWORD PTR [rsp+520]
00031 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00038 48 33 c5 xor rax, rbp
0003b 48 89 85 b8 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00042 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
00049 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 477 : DEVMODEW dm;
; 478 : ZeroMemory(&dm, sizeof(dm));
0004e 41 b8 dc 00 00
00 mov r8d, 220 ; 000000dcH
00054 33 d2 xor edx, edx
00056 48 8d 4d 10 lea rcx, QWORD PTR dm$[rbp]
0005a e8 00 00 00 00 call memset
; 479 : dm.dmSize = sizeof(dm);
0005f b8 dc 00 00 00 mov eax, 220 ; 000000dcH
00064 66 89 45 54 mov WORD PTR dm$[rbp+68], ax
; 480 :
; 481 : EnumDisplaySettingsW(monitor->win32.adapterName, ENUM_CURRENT_SETTINGS, &dm);
00068 48 8b 85 e0 01
00 00 mov rax, QWORD PTR monitor$[rbp]
0006f 48 05 08 01 00
00 add rax, 264 ; 00000108H
00075 4c 8d 45 10 lea r8, QWORD PTR dm$[rbp]
00079 ba ff ff ff ff mov edx, -1 ; ffffffffH
0007e 48 8b c8 mov rcx, rax
00081 ff 15 00 00 00
00 call QWORD PTR __imp_EnumDisplaySettingsW
; 482 :
; 483 : mode->width = dm.dmPelsWidth;
00087 48 8b 85 e8 01
00 00 mov rax, QWORD PTR mode$[rbp]
0008e 8b 8d bc 00 00
00 mov ecx, DWORD PTR dm$[rbp+172]
00094 89 08 mov DWORD PTR [rax], ecx
; 484 : mode->height = dm.dmPelsHeight;
00096 48 8b 85 e8 01
00 00 mov rax, QWORD PTR mode$[rbp]
0009d 8b 8d c0 00 00
00 mov ecx, DWORD PTR dm$[rbp+176]
000a3 89 48 04 mov DWORD PTR [rax+4], ecx
; 485 : mode->refreshRate = dm.dmDisplayFrequency;
000a6 48 8b 85 e8 01
00 00 mov rax, QWORD PTR mode$[rbp]
000ad 8b 8d c8 00 00
00 mov ecx, DWORD PTR dm$[rbp+184]
000b3 89 48 14 mov DWORD PTR [rax+20], ecx
; 486 : _glfwSplitBPP(dm.dmBitsPerPel,
000b6 48 8b 85 e8 01
00 00 mov rax, QWORD PTR mode$[rbp]
000bd 48 83 c0 10 add rax, 16
000c1 48 8b 8d e8 01
00 00 mov rcx, QWORD PTR mode$[rbp]
000c8 48 83 c1 0c add rcx, 12
000cc 48 8b 95 e8 01
00 00 mov rdx, QWORD PTR mode$[rbp]
000d3 48 83 c2 08 add rdx, 8
000d7 4c 8b c8 mov r9, rax
000da 4c 8b c1 mov r8, rcx
000dd 8b 8d b8 00 00
00 mov ecx, DWORD PTR dm$[rbp+168]
000e3 e8 00 00 00 00 call _glfwSplitBPP
; 487 : &mode->redBits,
; 488 : &mode->greenBits,
; 489 : &mode->blueBits);
; 490 : }
000e8 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
000ec 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:_glfwGetVideoModeWin32$rtcFrameData
000f3 e8 00 00 00 00 call _RTC_CheckStackVars
000f8 48 8b 8d b8 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
000ff 48 33 cd xor rcx, rbp
00102 e8 00 00 00 00 call __security_check_cookie
00107 48 8d a5 c8 01
00 00 lea rsp, QWORD PTR [rbp+456]
0010e 5f pop rdi
0010f 5d pop rbp
00110 c3 ret 0
_glfwGetVideoModeWin32 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT _glfwGetVideoModesWin32
_TEXT SEGMENT
modeIndex$ = 4
size$ = 36
result$ = 72
i$5 = 100
mode$6 = 136
dm$7 = 192
__$ArrayPad$ = 616
monitor$ = 656
count$ = 664
_glfwGetVideoModesWin32 PROC ; COMDAT
; 399 : {
$LN17:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 56 push rsi
0000c 57 push rdi
0000d 48 81 ec a0 02
00 00 sub rsp, 672 ; 000002a0H
00014 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
00019 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48]
0001e b9 6c 00 00 00 mov ecx, 108 ; 0000006cH
00023 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00028 f3 ab rep stosd
0002a 48 8b 8c 24 c8
02 00 00 mov rcx, QWORD PTR [rsp+712]
00032 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00039 48 33 c5 xor rax, rbp
0003c 48 89 85 68 02
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00043 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
0004a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 400 : int modeIndex = 0, size = 0;
0004f c7 45 04 00 00
00 00 mov DWORD PTR modeIndex$[rbp], 0
00056 c7 45 24 00 00
00 00 mov DWORD PTR size$[rbp], 0
; 401 : GLFWvidmode* result = NULL;
0005d 48 c7 45 48 00
00 00 00 mov QWORD PTR result$[rbp], 0
; 402 :
; 403 : *count = 0;
00065 48 8b 85 98 02
00 00 mov rax, QWORD PTR count$[rbp]
0006c c7 00 00 00 00
00 mov DWORD PTR [rax], 0
$LN2@glfwGetVid:
; 404 :
; 405 : for (;;)
; 406 : {
; 407 : int i;
; 408 : GLFWvidmode mode;
; 409 : DEVMODEW dm;
; 410 :
; 411 : ZeroMemory(&dm, sizeof(dm));
00072 41 b8 dc 00 00
00 mov r8d, 220 ; 000000dcH
00078 33 d2 xor edx, edx
0007a 48 8d 8d c0 00
00 00 lea rcx, QWORD PTR dm$7[rbp]
00081 e8 00 00 00 00 call memset
; 412 : dm.dmSize = sizeof(dm);
00086 b8 dc 00 00 00 mov eax, 220 ; 000000dcH
0008b 66 89 85 04 01
00 00 mov WORD PTR dm$7[rbp+68], ax
; 413 :
; 414 : if (!EnumDisplaySettingsW(monitor->win32.adapterName, modeIndex, &dm))
00092 48 8b 85 90 02
00 00 mov rax, QWORD PTR monitor$[rbp]
00099 48 05 08 01 00
00 add rax, 264 ; 00000108H
0009f 4c 8d 85 c0 00
00 00 lea r8, QWORD PTR dm$7[rbp]
000a6 8b 55 04 mov edx, DWORD PTR modeIndex$[rbp]
000a9 48 8b c8 mov rcx, rax
000ac ff 15 00 00 00
00 call QWORD PTR __imp_EnumDisplaySettingsW
000b2 85 c0 test eax, eax
000b4 75 05 jne SHORT $LN8@glfwGetVid
; 415 : break;
000b6 e9 6e 01 00 00 jmp $LN3@glfwGetVid
$LN8@glfwGetVid:
; 416 :
; 417 : modeIndex++;
000bb 8b 45 04 mov eax, DWORD PTR modeIndex$[rbp]
000be ff c0 inc eax
000c0 89 45 04 mov DWORD PTR modeIndex$[rbp], eax
; 418 :
; 419 : // Skip modes with less than 15 BPP
; 420 : if (dm.dmBitsPerPel < 15)
000c3 83 bd 68 01 00
00 0f cmp DWORD PTR dm$7[rbp+168], 15
000ca 73 02 jae SHORT $LN9@glfwGetVid
; 421 : continue;
000cc eb a4 jmp SHORT $LN2@glfwGetVid
$LN9@glfwGetVid:
; 422 :
; 423 : mode.width = dm.dmPelsWidth;
000ce 8b 85 6c 01 00
00 mov eax, DWORD PTR dm$7[rbp+172]
000d4 89 85 88 00 00
00 mov DWORD PTR mode$6[rbp], eax
; 424 : mode.height = dm.dmPelsHeight;
000da 8b 85 70 01 00
00 mov eax, DWORD PTR dm$7[rbp+176]
000e0 89 85 8c 00 00
00 mov DWORD PTR mode$6[rbp+4], eax
; 425 : mode.refreshRate = dm.dmDisplayFrequency;
000e6 8b 85 78 01 00
00 mov eax, DWORD PTR dm$7[rbp+184]
000ec 89 85 9c 00 00
00 mov DWORD PTR mode$6[rbp+20], eax
; 426 : _glfwSplitBPP(dm.dmBitsPerPel,
000f2 4c 8d 8d 98 00
00 00 lea r9, QWORD PTR mode$6[rbp+16]
000f9 4c 8d 85 94 00
00 00 lea r8, QWORD PTR mode$6[rbp+12]
00100 48 8d 95 90 00
00 00 lea rdx, QWORD PTR mode$6[rbp+8]
00107 8b 8d 68 01 00
00 mov ecx, DWORD PTR dm$7[rbp+168]
0010d e8 00 00 00 00 call _glfwSplitBPP
; 427 : &mode.redBits,
; 428 : &mode.greenBits,
; 429 : &mode.blueBits);
; 430 :
; 431 : for (i = 0; i < *count; i++)
00112 c7 45 64 00 00
00 00 mov DWORD PTR i$5[rbp], 0
00119 eb 08 jmp SHORT $LN7@glfwGetVid
$LN5@glfwGetVid:
0011b 8b 45 64 mov eax, DWORD PTR i$5[rbp]
0011e ff c0 inc eax
00120 89 45 64 mov DWORD PTR i$5[rbp], eax
$LN7@glfwGetVid:
00123 48 8b 85 98 02
00 00 mov rax, QWORD PTR count$[rbp]
0012a 8b 00 mov eax, DWORD PTR [rax]
0012c 39 45 64 cmp DWORD PTR i$5[rbp], eax
0012f 7d 29 jge SHORT $LN6@glfwGetVid
; 432 : {
; 433 : if (_glfwCompareVideoModes(result + i, &mode) == 0)
00131 48 63 45 64 movsxd rax, DWORD PTR i$5[rbp]
00135 48 6b c0 18 imul rax, rax, 24
00139 48 8b 4d 48 mov rcx, QWORD PTR result$[rbp]
0013d 48 03 c8 add rcx, rax
00140 48 8b c1 mov rax, rcx
00143 48 8d 95 88 00
00 00 lea rdx, QWORD PTR mode$6[rbp]
0014a 48 8b c8 mov rcx, rax
0014d e8 00 00 00 00 call _glfwCompareVideoModes
00152 85 c0 test eax, eax
00154 75 02 jne SHORT $LN10@glfwGetVid
; 434 : break;
00156 eb 02 jmp SHORT $LN6@glfwGetVid
$LN10@glfwGetVid:
; 435 : }
00158 eb c1 jmp SHORT $LN5@glfwGetVid
$LN6@glfwGetVid:
; 436 :
; 437 : // Skip duplicate modes
; 438 : if (i < *count)
0015a 48 8b 85 98 02
00 00 mov rax, QWORD PTR count$[rbp]
00161 8b 00 mov eax, DWORD PTR [rax]
00163 39 45 64 cmp DWORD PTR i$5[rbp], eax
00166 7d 05 jge SHORT $LN11@glfwGetVid
; 439 : continue;
00168 e9 05 ff ff ff jmp $LN2@glfwGetVid
$LN11@glfwGetVid:
; 440 :
; 441 : if (monitor->win32.modesPruned)
0016d 48 8b 85 90 02
00 00 mov rax, QWORD PTR monitor$[rbp]
00174 83 b8 c8 01 00
00 00 cmp DWORD PTR [rax+456], 0
0017b 74 38 je SHORT $LN12@glfwGetVid
; 442 : {
; 443 : // Skip modes not supported by the connected displays
; 444 : if (ChangeDisplaySettingsExW(monitor->win32.adapterName,
; 445 : &dm,
; 446 : NULL,
; 447 : CDS_TEST,
; 448 : NULL) != DISP_CHANGE_SUCCESSFUL)
0017d 48 8b 85 90 02
00 00 mov rax, QWORD PTR monitor$[rbp]
00184 48 05 08 01 00
00 add rax, 264 ; 00000108H
0018a 48 c7 44 24 20
00 00 00 00 mov QWORD PTR [rsp+32], 0
00193 41 b9 02 00 00
00 mov r9d, 2
00199 45 33 c0 xor r8d, r8d
0019c 48 8d 95 c0 00
00 00 lea rdx, QWORD PTR dm$7[rbp]
001a3 48 8b c8 mov rcx, rax
001a6 ff 15 00 00 00
00 call QWORD PTR __imp_ChangeDisplaySettingsExW
001ac 85 c0 test eax, eax
001ae 74 05 je SHORT $LN13@glfwGetVid
; 449 : {
; 450 : continue;
001b0 e9 bd fe ff ff jmp $LN2@glfwGetVid
$LN13@glfwGetVid:
$LN12@glfwGetVid:
; 451 : }
; 452 : }
; 453 :
; 454 : if (*count == size)
001b5 48 8b 85 98 02
00 00 mov rax, QWORD PTR count$[rbp]
001bc 8b 4d 24 mov ecx, DWORD PTR size$[rbp]
001bf 39 08 cmp DWORD PTR [rax], ecx
001c1 75 23 jne SHORT $LN14@glfwGetVid
; 455 : {
; 456 : size += 128;
001c3 8b 45 24 mov eax, DWORD PTR size$[rbp]
001c6 05 80 00 00 00 add eax, 128 ; 00000080H
001cb 89 45 24 mov DWORD PTR size$[rbp], eax
; 457 : result = (GLFWvidmode*) _glfw_realloc(result, size * sizeof(GLFWvidmode));
001ce 48 63 45 24 movsxd rax, DWORD PTR size$[rbp]
001d2 48 6b c0 18 imul rax, rax, 24
001d6 48 8b d0 mov rdx, rax
001d9 48 8b 4d 48 mov rcx, QWORD PTR result$[rbp]
001dd e8 00 00 00 00 call _glfw_realloc
001e2 48 89 45 48 mov QWORD PTR result$[rbp], rax
$LN14@glfwGetVid:
; 458 : }
; 459 :
; 460 : (*count)++;
001e6 48 8b 85 98 02
00 00 mov rax, QWORD PTR count$[rbp]
001ed 8b 00 mov eax, DWORD PTR [rax]
001ef ff c0 inc eax
001f1 48 8b 8d 98 02
00 00 mov rcx, QWORD PTR count$[rbp]
001f8 89 01 mov DWORD PTR [rcx], eax
; 461 : result[*count - 1] = mode;
001fa 48 8b 85 98 02
00 00 mov rax, QWORD PTR count$[rbp]
00201 8b 00 mov eax, DWORD PTR [rax]
00203 ff c8 dec eax
00205 48 98 cdqe
00207 48 6b c0 18 imul rax, rax, 24
0020b 48 8b 4d 48 mov rcx, QWORD PTR result$[rbp]
0020f 48 8d 95 88 00
00 00 lea rdx, QWORD PTR mode$6[rbp]
00216 48 8d 3c 01 lea rdi, QWORD PTR [rcx+rax]
0021a 48 8b f2 mov rsi, rdx
0021d b9 18 00 00 00 mov ecx, 24
00222 f3 a4 rep movsb
; 462 : }
00224 e9 49 fe ff ff jmp $LN2@glfwGetVid
$LN3@glfwGetVid:
; 463 :
; 464 : if (!*count)
00229 48 8b 85 98 02
00 00 mov rax, QWORD PTR count$[rbp]
00230 83 38 00 cmp DWORD PTR [rax], 0
00233 75 30 jne SHORT $LN15@glfwGetVid
; 465 : {
; 466 : // HACK: Report the current mode if no valid modes were found
; 467 : result = _glfw_calloc(1, sizeof(GLFWvidmode));
00235 ba 18 00 00 00 mov edx, 24
0023a b9 01 00 00 00 mov ecx, 1
0023f e8 00 00 00 00 call _glfw_calloc
00244 48 89 45 48 mov QWORD PTR result$[rbp], rax
; 468 : _glfwGetVideoModeWin32(monitor, result);
00248 48 8b 55 48 mov rdx, QWORD PTR result$[rbp]
0024c 48 8b 8d 90 02
00 00 mov rcx, QWORD PTR monitor$[rbp]
00253 e8 00 00 00 00 call _glfwGetVideoModeWin32
; 469 : *count = 1;
00258 48 8b 85 98 02
00 00 mov rax, QWORD PTR count$[rbp]
0025f c7 00 01 00 00
00 mov DWORD PTR [rax], 1
$LN15@glfwGetVid:
; 470 : }
; 471 :
; 472 : return result;
00265 48 8b 45 48 mov rax, QWORD PTR result$[rbp]
; 473 : }
00269 48 8b f8 mov rdi, rax
0026c 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
00270 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:_glfwGetVideoModesWin32$rtcFrameData
00277 e8 00 00 00 00 call _RTC_CheckStackVars
0027c 48 8b c7 mov rax, rdi
0027f 48 8b 8d 68 02
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00286 48 33 cd xor rcx, rbp
00289 e8 00 00 00 00 call __security_check_cookie
0028e 48 8d a5 70 02
00 00 lea rsp, QWORD PTR [rbp+624]
00295 5f pop rdi
00296 5e pop rsi
00297 5d pop rbp
00298 c3 ret 0
_glfwGetVideoModesWin32 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT _glfwGetMonitorWorkareaWin32
_TEXT SEGMENT
mi$ = 8
__$ArrayPad$ = 248
monitor$ = 288
xpos$ = 296
ypos$ = 304
width$ = 312
height$ = 320
_glfwGetMonitorWorkareaWin32 PROC ; COMDAT
; 384 : {
$LN7:
00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00014 55 push rbp
00015 57 push rdi
00016 48 81 ec 28 01
00 00 sub rsp, 296 ; 00000128H
0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
00027 b9 12 00 00 00 mov ecx, 18
0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00031 f3 ab rep stosd
00033 48 8b 8c 24 48
01 00 00 mov rcx, QWORD PTR [rsp+328]
0003b 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00042 48 33 c5 xor rax, rbp
00045 48 89 85 f8 00
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
0004c 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 385 : MONITORINFO mi = { sizeof(mi) };
00058 c7 45 08 28 00
00 00 mov DWORD PTR mi$[rbp], 40 ; 00000028H
0005f 48 8d 45 0c lea rax, QWORD PTR mi$[rbp+4]
00063 48 8b f8 mov rdi, rax
00066 33 c0 xor eax, eax
00068 b9 24 00 00 00 mov ecx, 36 ; 00000024H
0006d f3 aa rep stosb
; 386 : GetMonitorInfoW(monitor->win32.handle, &mi);
0006f 48 8d 55 08 lea rdx, QWORD PTR mi$[rbp]
00073 48 8b 85 20 01
00 00 mov rax, QWORD PTR monitor$[rbp]
0007a 48 8b 88 00 01
00 00 mov rcx, QWORD PTR [rax+256]
00081 ff 15 00 00 00
00 call QWORD PTR __imp_GetMonitorInfoW
; 387 :
; 388 : if (xpos)
00087 48 83 bd 28 01
00 00 00 cmp QWORD PTR xpos$[rbp], 0
0008f 74 0c je SHORT $LN2@glfwGetMon
; 389 : *xpos = mi.rcWork.left;
00091 48 8b 85 28 01
00 00 mov rax, QWORD PTR xpos$[rbp]
00098 8b 4d 1c mov ecx, DWORD PTR mi$[rbp+20]
0009b 89 08 mov DWORD PTR [rax], ecx
$LN2@glfwGetMon:
; 390 : if (ypos)
0009d 48 83 bd 30 01
00 00 00 cmp QWORD PTR ypos$[rbp], 0
000a5 74 0c je SHORT $LN3@glfwGetMon
; 391 : *ypos = mi.rcWork.top;
000a7 48 8b 85 30 01
00 00 mov rax, QWORD PTR ypos$[rbp]
000ae 8b 4d 20 mov ecx, DWORD PTR mi$[rbp+24]
000b1 89 08 mov DWORD PTR [rax], ecx
$LN3@glfwGetMon:
; 392 : if (width)
000b3 48 83 bd 38 01
00 00 00 cmp QWORD PTR width$[rbp], 0
000bb 74 13 je SHORT $LN4@glfwGetMon
; 393 : *width = mi.rcWork.right - mi.rcWork.left;
000bd 8b 45 1c mov eax, DWORD PTR mi$[rbp+20]
000c0 8b 4d 24 mov ecx, DWORD PTR mi$[rbp+28]
000c3 2b c8 sub ecx, eax
000c5 8b c1 mov eax, ecx
000c7 48 8b 8d 38 01
00 00 mov rcx, QWORD PTR width$[rbp]
000ce 89 01 mov DWORD PTR [rcx], eax
$LN4@glfwGetMon:
; 394 : if (height)
000d0 48 83 bd 40 01
00 00 00 cmp QWORD PTR height$[rbp], 0
000d8 74 13 je SHORT $LN5@glfwGetMon
; 395 : *height = mi.rcWork.bottom - mi.rcWork.top;
000da 8b 45 20 mov eax, DWORD PTR mi$[rbp+24]
000dd 8b 4d 28 mov ecx, DWORD PTR mi$[rbp+32]
000e0 2b c8 sub ecx, eax
000e2 8b c1 mov eax, ecx
000e4 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR height$[rbp]
000eb 89 01 mov DWORD PTR [rcx], eax
$LN5@glfwGetMon:
; 396 : }
000ed 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
000f1 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:_glfwGetMonitorWorkareaWin32$rtcFrameData
000f8 e8 00 00 00 00 call _RTC_CheckStackVars
000fd 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00104 48 33 cd xor rcx, rbp
00107 e8 00 00 00 00 call __security_check_cookie
0010c 48 8d a5 08 01
00 00 lea rsp, QWORD PTR [rbp+264]
00113 5f pop rdi
00114 5d pop rbp
00115 c3 ret 0
_glfwGetMonitorWorkareaWin32 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT _glfwGetMonitorContentScaleWin32
_TEXT SEGMENT
monitor$ = 224
xscale$ = 232
yscale$ = 240
_glfwGetMonitorContentScaleWin32 PROC ; COMDAT
; 377 : {
$LN3:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 378 : _glfwGetHMONITORContentScaleWin32(monitor->win32.handle, xscale, yscale);
00029 4c 8b 85 f0 00
00 00 mov r8, QWORD PTR yscale$[rbp]
00030 48 8b 95 e8 00
00 00 mov rdx, QWORD PTR xscale$[rbp]
00037 48 8b 85 e0 00
00 00 mov rax, QWORD PTR monitor$[rbp]
0003e 48 8b 88 00 01
00 00 mov rcx, QWORD PTR [rax+256]
00045 e8 00 00 00 00 call _glfwGetHMONITORContentScaleWin32
; 379 : }
0004a 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00051 5f pop rdi
00052 5d pop rbp
00053 c3 ret 0
_glfwGetMonitorContentScaleWin32 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT _glfwGetMonitorPosWin32
_TEXT SEGMENT
dm$ = 16
__$ArrayPad$ = 440
monitor$ = 480
xpos$ = 488
ypos$ = 496
_glfwGetMonitorPosWin32 PROC ; COMDAT
; 359 : {
$LN5:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec e8 01
00 00 sub rsp, 488 ; 000001e8H
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001d 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
00022 b9 42 00 00 00 mov ecx, 66 ; 00000042H
00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
0002c f3 ab rep stosd
0002e 48 8b 8c 24 08
02 00 00 mov rcx, QWORD PTR [rsp+520]
00036 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0003d 48 33 c5 xor rax, rbp
00040 48 89 85 b8 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00047 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 360 : DEVMODEW dm;
; 361 : ZeroMemory(&dm, sizeof(dm));
00053 41 b8 dc 00 00
00 mov r8d, 220 ; 000000dcH
00059 33 d2 xor edx, edx
0005b 48 8d 4d 10 lea rcx, QWORD PTR dm$[rbp]
0005f e8 00 00 00 00 call memset
; 362 : dm.dmSize = sizeof(dm);
00064 b8 dc 00 00 00 mov eax, 220 ; 000000dcH
00069 66 89 45 54 mov WORD PTR dm$[rbp+68], ax
; 363 :
; 364 : EnumDisplaySettingsExW(monitor->win32.adapterName,
0006d 48 8b 85 e0 01
00 00 mov rax, QWORD PTR monitor$[rbp]
00074 48 05 08 01 00
00 add rax, 264 ; 00000108H
0007a 41 b9 04 00 00
00 mov r9d, 4
00080 4c 8d 45 10 lea r8, QWORD PTR dm$[rbp]
00084 ba ff ff ff ff mov edx, -1 ; ffffffffH
00089 48 8b c8 mov rcx, rax
0008c ff 15 00 00 00
00 call QWORD PTR __imp_EnumDisplaySettingsExW
; 365 : ENUM_CURRENT_SETTINGS,
; 366 : &dm,
; 367 : EDS_ROTATEDMODE);
; 368 :
; 369 : if (xpos)
00092 48 83 bd e8 01
00 00 00 cmp QWORD PTR xpos$[rbp], 0
0009a 74 0c je SHORT $LN2@glfwGetMon
; 370 : *xpos = dm.dmPosition.x;
0009c 48 8b 85 e8 01
00 00 mov rax, QWORD PTR xpos$[rbp]
000a3 8b 4d 5c mov ecx, DWORD PTR dm$[rbp+76]
000a6 89 08 mov DWORD PTR [rax], ecx
$LN2@glfwGetMon:
; 371 : if (ypos)
000a8 48 83 bd f0 01
00 00 00 cmp QWORD PTR ypos$[rbp], 0
000b0 74 0c je SHORT $LN3@glfwGetMon
; 372 : *ypos = dm.dmPosition.y;
000b2 48 8b 85 f0 01
00 00 mov rax, QWORD PTR ypos$[rbp]
000b9 8b 4d 60 mov ecx, DWORD PTR dm$[rbp+80]
000bc 89 08 mov DWORD PTR [rax], ecx
$LN3@glfwGetMon:
; 373 : }
000be 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
000c2 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:_glfwGetMonitorPosWin32$rtcFrameData
000c9 e8 00 00 00 00 call _RTC_CheckStackVars
000ce 48 8b 8d b8 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
000d5 48 33 cd xor rcx, rbp
000d8 e8 00 00 00 00 call __security_check_cookie
000dd 48 8d a5 c8 01
00 00 lea rsp, QWORD PTR [rbp+456]
000e4 5f pop rdi
000e5 5d pop rbp
000e6 c3 ret 0
_glfwGetMonitorPosWin32 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT _glfwFreeMonitorWin32
_TEXT SEGMENT
monitor$ = 224
_glfwFreeMonitorWin32 PROC ; COMDAT
; 355 : {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 356 : }
0001f 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00026 5f pop rdi
00027 5d pop rbp
00028 c3 ret 0
_glfwFreeMonitorWin32 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT _glfwGetHMONITORContentScaleWin32
_TEXT SEGMENT
xdpi$ = 4
ydpi$ = 36
dc$5 = 72
__$ArrayPad$ = 280
handle$ = 320
xscale$ = 328
yscale$ = 336
_glfwGetHMONITORContentScaleWin32 PROC ; COMDAT
; 319 : {
$LN10:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec 48 01
00 00 sub rsp, 328 ; 00000148H
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001d 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
00022 b9 1a 00 00 00 mov ecx, 26
00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
0002c f3 ab rep stosd
0002e 48 8b 8c 24 68
01 00 00 mov rcx, QWORD PTR [rsp+360]
00036 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0003d 48 33 c5 xor rax, rbp
00040 48 89 85 18 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00047 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 320 : UINT xdpi, ydpi;
; 321 :
; 322 : if (xscale)
00053 48 83 bd 48 01
00 00 00 cmp QWORD PTR xscale$[rbp], 0
0005b 74 0e je SHORT $LN2@glfwGetHMO
; 323 : *xscale = 0.f;
0005d 48 8b 85 48 01
00 00 mov rax, QWORD PTR xscale$[rbp]
00064 0f 57 c0 xorps xmm0, xmm0
00067 f3 0f 11 00 movss DWORD PTR [rax], xmm0
$LN2@glfwGetHMO:
; 324 : if (yscale)
0006b 48 83 bd 50 01
00 00 00 cmp QWORD PTR yscale$[rbp], 0
00073 74 0e je SHORT $LN3@glfwGetHMO
; 325 : *yscale = 0.f;
00075 48 8b 85 50 01
00 00 mov rax, QWORD PTR yscale$[rbp]
0007c 0f 57 c0 xorps xmm0, xmm0
0007f f3 0f 11 00 movss DWORD PTR [rax], xmm0
$LN3@glfwGetHMO:
; 326 :
; 327 : if (IsWindows8Point1OrGreater())
00083 45 33 c0 xor r8d, r8d
00086 66 ba 03 00 mov dx, 3
0008a 66 b9 06 00 mov cx, 6
0008e e8 00 00 00 00 call _glfwIsWindowsVersionOrGreaterWin32
00093 85 c0 test eax, eax
00095 74 33 je SHORT $LN4@glfwGetHMO
; 328 : {
; 329 : if (GetDpiForMonitor(handle, MDT_EFFECTIVE_DPI, &xdpi, &ydpi) != S_OK)
00097 4c 8d 4d 24 lea r9, QWORD PTR ydpi$[rbp]
0009b 4c 8d 45 04 lea r8, QWORD PTR xdpi$[rbp]
0009f 33 d2 xor edx, edx
000a1 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR handle$[rbp]
000a8 ff 15 10 2a 00
00 call QWORD PTR _glfw+10768
000ae 85 c0 test eax, eax
000b0 74 16 je SHORT $LN6@glfwGetHMO
; 330 : {
; 331 : _glfwInputError(GLFW_PLATFORM_ERROR, "Win32: Failed to query monitor DPI");
000b2 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:??_C@_0CD@IGHBCNOG@Win32?3?5Failed?5to?5query?5monitor?5@
000b9 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
000be e8 00 00 00 00 call _glfwInputError
; 332 : return;
000c3 e9 88 00 00 00 jmp $LN1@glfwGetHMO
$LN6@glfwGetHMO:
; 333 : }
; 334 : }
000c8 eb 3c jmp SHORT $LN5@glfwGetHMO
$LN4@glfwGetHMO:
; 335 : else
; 336 : {
; 337 : const HDC dc = GetDC(NULL);
000ca 33 c9 xor ecx, ecx
000cc ff 15 00 00 00
00 call QWORD PTR __imp_GetDC
000d2 48 89 45 48 mov QWORD PTR dc$5[rbp], rax
; 338 : xdpi = GetDeviceCaps(dc, LOGPIXELSX);
000d6 ba 58 00 00 00 mov edx, 88 ; 00000058H
000db 48 8b 4d 48 mov rcx, QWORD PTR dc$5[rbp]
000df ff 15 00 00 00
00 call QWORD PTR __imp_GetDeviceCaps
000e5 89 45 04 mov DWORD PTR xdpi$[rbp], eax
; 339 : ydpi = GetDeviceCaps(dc, LOGPIXELSY);
000e8 ba 5a 00 00 00 mov edx, 90 ; 0000005aH
000ed 48 8b 4d 48 mov rcx, QWORD PTR dc$5[rbp]
000f1 ff 15 00 00 00
00 call QWORD PTR __imp_GetDeviceCaps
000f7 89 45 24 mov DWORD PTR ydpi$[rbp], eax
; 340 : ReleaseDC(NULL, dc);
000fa 48 8b 55 48 mov rdx, QWORD PTR dc$5[rbp]
000fe 33 c9 xor ecx, ecx
00100 ff 15 00 00 00
00 call QWORD PTR __imp_ReleaseDC
$LN5@glfwGetHMO:
; 341 : }
; 342 :
; 343 : if (xscale)
00106 48 83 bd 48 01
00 00 00 cmp QWORD PTR xscale$[rbp], 0
0010e 74 1b je SHORT $LN7@glfwGetHMO
; 344 : *xscale = xdpi / (float) USER_DEFAULT_SCREEN_DPI;
00110 8b 45 04 mov eax, DWORD PTR xdpi$[rbp]
00113 f3 48 0f 2a c0 cvtsi2ss xmm0, rax
00118 f3 0f 5e 05 00
00 00 00 divss xmm0, DWORD PTR __real@42c00000
00120 48 8b 85 48 01
00 00 mov rax, QWORD PTR xscale$[rbp]
00127 f3 0f 11 00 movss DWORD PTR [rax], xmm0
$LN7@glfwGetHMO:
; 345 : if (yscale)
0012b 48 83 bd 50 01
00 00 00 cmp QWORD PTR yscale$[rbp], 0
00133 74 1b je SHORT $LN8@glfwGetHMO
; 346 : *yscale = ydpi / (float) USER_DEFAULT_SCREEN_DPI;
00135 8b 45 24 mov eax, DWORD PTR ydpi$[rbp]
00138 f3 48 0f 2a c0 cvtsi2ss xmm0, rax
0013d f3 0f 5e 05 00
00 00 00 divss xmm0, DWORD PTR __real@42c00000
00145 48 8b 85 50 01
00 00 mov rax, QWORD PTR yscale$[rbp]
0014c f3 0f 11 00 movss DWORD PTR [rax], xmm0
$LN8@glfwGetHMO:
$LN1@glfwGetHMO:
; 347 : }
00150 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
00154 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:_glfwGetHMONITORContentScaleWin32$rtcFrameData
0015b e8 00 00 00 00 call _RTC_CheckStackVars
00160 48 8b 8d 18 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00167 48 33 cd xor rcx, rbp
0016a e8 00 00 00 00 call __security_check_cookie
0016f 48 8d a5 28 01
00 00 lea rsp, QWORD PTR [rbp+296]
00176 5f pop rdi
00177 5d pop rbp
00178 c3 ret 0
_glfwGetHMONITORContentScaleWin32 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT _glfwRestoreVideoModeWin32
_TEXT SEGMENT
monitor$ = 224
_glfwRestoreVideoModeWin32 PROC ; COMDAT
; 309 : {
$LN4:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec f8 00
00 00 sub rsp, 248 ; 000000f8H
0000e 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 310 : if (monitor->win32.modeChanged)
0001f 48 8b 85 e0 00
00 00 mov rax, QWORD PTR monitor$[rbp]
00026 83 b8 cc 01 00
00 00 cmp DWORD PTR [rax+460], 0
0002d 74 3b je SHORT $LN2@glfwRestor
; 311 : {
; 312 : ChangeDisplaySettingsExW(monitor->win32.adapterName,
0002f 48 8b 85 e0 00
00 00 mov rax, QWORD PTR monitor$[rbp]
00036 48 05 08 01 00
00 add rax, 264 ; 00000108H
0003c 48 c7 44 24 20
00 00 00 00 mov QWORD PTR [rsp+32], 0
00045 41 b9 04 00 00
00 mov r9d, 4
0004b 45 33 c0 xor r8d, r8d
0004e 33 d2 xor edx, edx
00050 48 8b c8 mov rcx, rax
00053 ff 15 00 00 00
00 call QWORD PTR __imp_ChangeDisplaySettingsExW
; 313 : NULL, NULL, CDS_FULLSCREEN, NULL);
; 314 : monitor->win32.modeChanged = GLFW_FALSE;
00059 48 8b 85 e0 00
00 00 mov rax, QWORD PTR monitor$[rbp]
00060 c7 80 cc 01 00
00 00 00 00 00 mov DWORD PTR [rax+460], 0
$LN2@glfwRestor:
; 315 : }
; 316 : }
0006a 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00071 5f pop rdi
00072 5d pop rbp
00073 c3 ret 0
_glfwRestoreVideoModeWin32 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT _glfwSetVideoModeWin32
_TEXT SEGMENT
current$ = 8
best$ = 56
dm$ = 96
result$ = 340
description$5 = 376
__$ArrayPad$ = 584
monitor$ = 624
desired$ = 632
_glfwSetVideoModeWin32 PROC ; COMDAT
; 251 : {
$LN21:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec 88 02
00 00 sub rsp, 648 ; 00000288H
00013 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
00018 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48]
0001d b9 66 00 00 00 mov ecx, 102 ; 00000066H
00022 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00027 f3 ab rep stosd
00029 48 8b 8c 24 a8
02 00 00 mov rcx, QWORD PTR [rsp+680]
00031 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00038 48 33 c5 xor rax, rbp
0003b 48 89 85 48 02
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00042 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
00049 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 252 : GLFWvidmode current;
; 253 : const GLFWvidmode* best;
; 254 : DEVMODEW dm;
; 255 : LONG result;
; 256 :
; 257 : best = _glfwChooseVideoMode(monitor, desired);
0004e 48 8b 95 78 02
00 00 mov rdx, QWORD PTR desired$[rbp]
00055 48 8b 8d 70 02
00 00 mov rcx, QWORD PTR monitor$[rbp]
0005c e8 00 00 00 00 call _glfwChooseVideoMode
00061 48 89 45 38 mov QWORD PTR best$[rbp], rax
; 258 : _glfwGetVideoModeWin32(monitor, &current);
00065 48 8d 55 08 lea rdx, QWORD PTR current$[rbp]
00069 48 8b 8d 70 02
00 00 mov rcx, QWORD PTR monitor$[rbp]
00070 e8 00 00 00 00 call _glfwGetVideoModeWin32
; 259 : if (_glfwCompareVideoModes(&current, best) == 0)
00075 48 8b 55 38 mov rdx, QWORD PTR best$[rbp]
00079 48 8d 4d 08 lea rcx, QWORD PTR current$[rbp]
0007d e8 00 00 00 00 call _glfwCompareVideoModes
00082 85 c0 test eax, eax
00084 75 05 jne SHORT $LN2@glfwSetVid
; 260 : return;
00086 e9 ab 01 00 00 jmp $LN1@glfwSetVid
$LN2@glfwSetVid:
; 261 :
; 262 : ZeroMemory(&dm, sizeof(dm));
0008b 41 b8 dc 00 00
00 mov r8d, 220 ; 000000dcH
00091 33 d2 xor edx, edx
00093 48 8d 4d 60 lea rcx, QWORD PTR dm$[rbp]
00097 e8 00 00 00 00 call memset
; 263 : dm.dmSize = sizeof(dm);
0009c b8 dc 00 00 00 mov eax, 220 ; 000000dcH
000a1 66 89 85 a4 00
00 00 mov WORD PTR dm$[rbp+68], ax
; 264 : dm.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL |
000a8 c7 85 a8 00 00
00 00 00 5c 00 mov DWORD PTR dm$[rbp+72], 6029312 ; 005c0000H
; 265 : DM_DISPLAYFREQUENCY;
; 266 : dm.dmPelsWidth = best->width;
000b2 48 8b 45 38 mov rax, QWORD PTR best$[rbp]
000b6 8b 00 mov eax, DWORD PTR [rax]
000b8 89 85 0c 01 00
00 mov DWORD PTR dm$[rbp+172], eax
; 267 : dm.dmPelsHeight = best->height;
000be 48 8b 45 38 mov rax, QWORD PTR best$[rbp]
000c2 8b 40 04 mov eax, DWORD PTR [rax+4]
000c5 89 85 10 01 00
00 mov DWORD PTR dm$[rbp+176], eax
; 268 : dm.dmBitsPerPel = best->redBits + best->greenBits + best->blueBits;
000cb 48 8b 45 38 mov rax, QWORD PTR best$[rbp]
000cf 8b 40 08 mov eax, DWORD PTR [rax+8]
000d2 48 8b 4d 38 mov rcx, QWORD PTR best$[rbp]
000d6 03 41 0c add eax, DWORD PTR [rcx+12]
000d9 48 8b 4d 38 mov rcx, QWORD PTR best$[rbp]
000dd 03 41 10 add eax, DWORD PTR [rcx+16]
000e0 89 85 08 01 00
00 mov DWORD PTR dm$[rbp+168], eax
; 269 : dm.dmDisplayFrequency = best->refreshRate;
000e6 48 8b 45 38 mov rax, QWORD PTR best$[rbp]
000ea 8b 40 14 mov eax, DWORD PTR [rax+20]
000ed 89 85 18 01 00
00 mov DWORD PTR dm$[rbp+184], eax
; 270 :
; 271 : if (dm.dmBitsPerPel < 15 || dm.dmBitsPerPel >= 24)
000f3 83 bd 08 01 00
00 0f cmp DWORD PTR dm$[rbp+168], 15
000fa 72 09 jb SHORT $LN4@glfwSetVid
000fc 83 bd 08 01 00
00 18 cmp DWORD PTR dm$[rbp+168], 24
00103 72 0a jb SHORT $LN3@glfwSetVid
$LN4@glfwSetVid:
; 272 : dm.dmBitsPerPel = 32;
00105 c7 85 08 01 00
00 20 00 00 00 mov DWORD PTR dm$[rbp+168], 32 ; 00000020H
$LN3@glfwSetVid:
; 273 :
; 274 : result = ChangeDisplaySettingsExW(monitor->win32.adapterName,
0010f 48 8b 85 70 02
00 00 mov rax, QWORD PTR monitor$[rbp]
00116 48 05 08 01 00
00 add rax, 264 ; 00000108H
0011c 48 c7 44 24 20
00 00 00 00 mov QWORD PTR [rsp+32], 0
00125 41 b9 04 00 00
00 mov r9d, 4
0012b 45 33 c0 xor r8d, r8d
0012e 48 8d 55 60 lea rdx, QWORD PTR dm$[rbp]
00132 48 8b c8 mov rcx, rax
00135 ff 15 00 00 00
00 call QWORD PTR __imp_ChangeDisplaySettingsExW
0013b 89 85 54 01 00
00 mov DWORD PTR result$[rbp], eax
; 275 : &dm,
; 276 : NULL,
; 277 : CDS_FULLSCREEN,
; 278 : NULL);
; 279 : if (result == DISP_CHANGE_SUCCESSFUL)
00141 83 bd 54 01 00
00 00 cmp DWORD PTR result$[rbp], 0
00148 75 16 jne SHORT $LN5@glfwSetVid
; 280 : monitor->win32.modeChanged = GLFW_TRUE;
0014a 48 8b 85 70 02
00 00 mov rax, QWORD PTR monitor$[rbp]
00151 c7 80 cc 01 00
00 01 00 00 00 mov DWORD PTR [rax+460], 1
0015b e9 d6 00 00 00 jmp $LN6@glfwSetVid
$LN5@glfwSetVid:
; 281 : else
; 282 : {
; 283 : const char* description = "Unknown error";
00160 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:??_C@_0O@NIPGCINC@Unknown?5error@
00167 48 89 85 78 01
00 00 mov QWORD PTR description$5[rbp], rax
; 284 :
; 285 : if (result == DISP_CHANGE_BADDUALVIEW)
0016e 83 bd 54 01 00
00 fa cmp DWORD PTR result$[rbp], -6
00175 75 13 jne SHORT $LN7@glfwSetVid
; 286 : description = "The system uses DualView";
00177 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:??_C@_0BJ@EJOHFDHH@The?5system?5uses?5DualView@
0017e 48 89 85 78 01
00 00 mov QWORD PTR description$5[rbp], rax
00185 e9 94 00 00 00 jmp $LN8@glfwSetVid
$LN7@glfwSetVid:
; 287 : else if (result == DISP_CHANGE_BADFLAGS)
0018a 83 bd 54 01 00
00 fc cmp DWORD PTR result$[rbp], -4
00191 75 10 jne SHORT $LN9@glfwSetVid
; 288 : description = "Invalid flags";
00193 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:??_C@_0O@IHOLGAKK@Invalid?5flags@
0019a 48 89 85 78 01
00 00 mov QWORD PTR description$5[rbp], rax
001a1 eb 7b jmp SHORT $LN10@glfwSetVid
$LN9@glfwSetVid:
; 289 : else if (result == DISP_CHANGE_BADMODE)
001a3 83 bd 54 01 00
00 fe cmp DWORD PTR result$[rbp], -2
001aa 75 10 jne SHORT $LN11@glfwSetVid
; 290 : description = "Graphics mode not supported";
001ac 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:??_C@_0BM@KPJJBADD@Graphics?5mode?5not?5supported@
001b3 48 89 85 78 01
00 00 mov QWORD PTR description$5[rbp], rax
001ba eb 62 jmp SHORT $LN12@glfwSetVid
$LN11@glfwSetVid:
; 291 : else if (result == DISP_CHANGE_BADPARAM)
001bc 83 bd 54 01 00
00 fb cmp DWORD PTR result$[rbp], -5
001c3 75 10 jne SHORT $LN13@glfwSetVid
; 292 : description = "Invalid parameter";
001c5 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:??_C@_0BC@DBAKKFEN@Invalid?5parameter@
001cc 48 89 85 78 01
00 00 mov QWORD PTR description$5[rbp], rax
001d3 eb 49 jmp SHORT $LN14@glfwSetVid
$LN13@glfwSetVid:
; 293 : else if (result == DISP_CHANGE_FAILED)
001d5 83 bd 54 01 00
00 ff cmp DWORD PTR result$[rbp], -1
001dc 75 10 jne SHORT $LN15@glfwSetVid
; 294 : description = "Graphics mode failed";
001de 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:??_C@_0BF@JHMFGJBN@Graphics?5mode?5failed@
001e5 48 89 85 78 01
00 00 mov QWORD PTR description$5[rbp], rax
001ec eb 30 jmp SHORT $LN16@glfwSetVid
$LN15@glfwSetVid:
; 295 : else if (result == DISP_CHANGE_NOTUPDATED)
001ee 83 bd 54 01 00
00 fd cmp DWORD PTR result$[rbp], -3
001f5 75 10 jne SHORT $LN17@glfwSetVid
; 296 : description = "Failed to write to registry";
001f7 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:??_C@_0BM@IGBABBBF@Failed?5to?5write?5to?5registry@
001fe 48 89 85 78 01
00 00 mov QWORD PTR description$5[rbp], rax
00205 eb 17 jmp SHORT $LN18@glfwSetVid
$LN17@glfwSetVid:
; 297 : else if (result == DISP_CHANGE_RESTART)
00207 83 bd 54 01 00
00 01 cmp DWORD PTR result$[rbp], 1
0020e 75 0e jne SHORT $LN19@glfwSetVid
; 298 : description = "Computer restart required";
00210 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:??_C@_0BK@OEGBAIFC@Computer?5restart?5required@
00217 48 89 85 78 01
00 00 mov QWORD PTR description$5[rbp], rax
$LN19@glfwSetVid:
$LN18@glfwSetVid:
$LN16@glfwSetVid:
$LN14@glfwSetVid:
$LN12@glfwSetVid:
$LN10@glfwSetVid:
$LN8@glfwSetVid:
; 299 :
; 300 : _glfwInputError(GLFW_PLATFORM_ERROR,
0021e 4c 8b 85 78 01
00 00 mov r8, QWORD PTR description$5[rbp]
00225 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:??_C@_0CE@IKOICJPN@Win32?3?5Failed?5to?5set?5video?5mode@
0022c b9 08 00 01 00 mov ecx, 65544 ; 00010008H
00231 e8 00 00 00 00 call _glfwInputError
$LN6@glfwSetVid:
$LN1@glfwSetVid:
; 301 : "Win32: Failed to set video mode: %s",
; 302 : description);
; 303 : }
; 304 : }
00236 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
0023a 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:_glfwSetVideoModeWin32$rtcFrameData
00241 e8 00 00 00 00 call _RTC_CheckStackVars
00246 48 8b 8d 48 02
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
0024d 48 33 cd xor rcx, rbp
00250 e8 00 00 00 00 call __security_check_cookie
00255 48 8d a5 58 02
00 00 lea rsp, QWORD PTR [rbp+600]
0025c 5f pop rdi
0025d 5d pop rbp
0025e c3 ret 0
_glfwSetVideoModeWin32 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_monitor.c
; COMDAT _glfwPollMonitorsWin32
_TEXT SEGMENT
i$ = 4
disconnectedCount$ = 36
disconnected$ = 72
adapterIndex$ = 100
displayIndex$ = 132
adapter$ = 176
display$ = 1056
monitor$ = 1928
type$5 = 1956
__$ArrayPad$ = 2744
_glfwPollMonitorsWin32 PROC ; COMDAT
; 139 : {
$LN32:
00000 40 55 push rbp
00002 57 push rdi
00003 48 81 ec e8 0a
00 00 sub rsp, 2792 ; 00000ae8H
0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0000f 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
00014 b9 f2 01 00 00 mov ecx, 498 ; 000001f2H
00019 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
0001e f3 ab rep stosd
00020 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00027 48 33 c5 xor rax, rbp
0002a 48 89 85 b8 0a
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00031 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E5428F11_win32_monitor@c
00038 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 140 : int i, disconnectedCount;
; 141 : _GLFWmonitor** disconnected = NULL;
0003d 48 c7 45 48 00
00 00 00 mov QWORD PTR disconnected$[rbp], 0
; 142 : DWORD adapterIndex, displayIndex;
; 143 : DISPLAY_DEVICEW adapter, display;
; 144 : _GLFWmonitor* monitor;
; 145 :
; 146 : disconnectedCount = _glfw.monitorCount;
00045 8b 05 88 07 00
00 mov eax, DWORD PTR _glfw+1928
0004b 89 45 24 mov DWORD PTR disconnectedCount$[rbp], eax
; 147 : if (disconnectedCount)
0004e 83 7d 24 00 cmp DWORD PTR disconnectedCount$[rbp], 0
00052 74 36 je SHORT $LN17@glfwPollMo
; 148 : {
; 149 : disconnected = _glfw_calloc(_glfw.monitorCount, sizeof(_GLFWmonitor*));
00054 48 63 05 88 07
00 00 movsxd rax, DWORD PTR _glfw+1928
0005b ba 08 00 00 00 mov edx, 8
00060 48 8b c8 mov rcx, rax
00063 e8 00 00 00 00 call _glfw_calloc
00068 48 89 45 48 mov QWORD PTR disconnected$[rbp], rax
; 150 : memcpy(disconnected,
0006c 48 63 05 88 07
00 00 movsxd rax, DWORD PTR _glfw+1928
00073 48 c1 e0 03 shl rax, 3
00077 4c 8b c0 mov r8, rax
0007a 48 8b 15 80 07
00 00 mov rdx, QWORD PTR _glfw+1920
00081 48 8b 4d 48 mov rcx, QWORD PTR disconnected$[rbp]
00085 e8 00 00 00 00 call memcpy
$LN17@glfwPollMo:
; 151 : _glfw.monitors,
; 152 : _glfw.monitorCount * sizeof(_GLFWmonitor*));
; 153 : }
; 154 :
; 155 : for (adapterIndex = 0; ; adapterIndex++)
0008a c7 45 64 00 00
00 00 mov DWORD PTR adapterIndex$[rbp], 0
00091 eb 08 jmp SHORT $LN4@glfwPollMo
$LN2@glfwPollMo:
00093 8b 45 64 mov eax, DWORD PTR adapterIndex$[rbp]
00096 ff c0 inc eax
00098 89 45 64 mov DWORD PTR adapterIndex$[rbp], eax
$LN4@glfwPollMo:
; 156 : {
; 157 : int type = _GLFW_INSERT_LAST;
0009b c7 85 a4 07 00
00 01 00 00 00 mov DWORD PTR type$5[rbp], 1
; 158 :
; 159 : ZeroMemory(&adapter, sizeof(adapter));
000a5 41 b8 48 03 00
00 mov r8d, 840 ; 00000348H
000ab 33 d2 xor edx, edx
000ad 48 8d 8d b0 00
00 00 lea rcx, QWORD PTR adapter$[rbp]
000b4 e8 00 00 00 00 call memset
; 160 : adapter.cb = sizeof(adapter);
000b9 c7 85 b0 00 00
00 48 03 00 00 mov DWORD PTR adapter$[rbp], 840 ; 00000348H
; 161 :
; 162 : if (!EnumDisplayDevicesW(NULL, adapterIndex, &adapter, 0))
000c3 45 33 c9 xor r9d, r9d
000c6 4c 8d 85 b0 00
00 00 lea r8, QWORD PTR adapter$[rbp]
000cd 8b 55 64 mov edx, DWORD PTR adapterIndex$[rbp]
000d0 33 c9 xor ecx, ecx
000d2 ff 15 00 00 00
00 call QWORD PTR __imp_EnumDisplayDevicesW
000d8 85 c0 test eax, eax
000da 75 05 jne SHORT $LN18@glfwPollMo
; 163 : break;
000dc e9 3e 02 00 00 jmp $LN3@glfwPollMo
$LN18@glfwPollMo:
; 164 :
; 165 : if (!(adapter.StateFlags & DISPLAY_DEVICE_ACTIVE))
000e1 8b 85 f4 01 00
00 mov eax, DWORD PTR adapter$[rbp+324]
000e7 83 e0 01 and eax, 1
000ea 85 c0 test eax, eax
000ec 75 02 jne SHORT $LN19@glfwPollMo
; 166 : continue;
000ee eb a3 jmp SHORT $LN2@glfwPollMo
$LN19@glfwPollMo:
; 167 :
; 168 : if (adapter.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE)
000f0 8b 85 f4 01 00
00 mov eax, DWORD PTR adapter$[rbp+324]
000f6 83 e0 04 and eax, 4
000f9 85 c0 test eax, eax
000fb 74 0a je SHORT $LN20@glfwPollMo
; 169 : type = _GLFW_INSERT_FIRST;
000fd c7 85 a4 07 00
00 00 00 00 00 mov DWORD PTR type$5[rbp], 0
$LN20@glfwPollMo:
; 170 :
; 171 : for (displayIndex = 0; ; displayIndex++)
00107 c7 85 84 00 00
00 00 00 00 00 mov DWORD PTR displayIndex$[rbp], 0
00111 eb 0e jmp SHORT $LN7@glfwPollMo
$LN5@glfwPollMo:
00113 8b 85 84 00 00
00 mov eax, DWORD PTR displayIndex$[rbp]
00119 ff c0 inc eax
0011b 89 85 84 00 00
00 mov DWORD PTR displayIndex$[rbp], eax
$LN7@glfwPollMo:
; 172 : {
; 173 : ZeroMemory(&display, sizeof(display));
00121 41 b8 48 03 00
00 mov r8d, 840 ; 00000348H
00127 33 d2 xor edx, edx
00129 48 8d 8d 20 04
00 00 lea rcx, QWORD PTR display$[rbp]
00130 e8 00 00 00 00 call memset
; 174 : display.cb = sizeof(display);
00135 c7 85 20 04 00
00 48 03 00 00 mov DWORD PTR display$[rbp], 840 ; 00000348H
; 175 :
; 176 : if (!EnumDisplayDevicesW(adapter.DeviceName, displayIndex, &display, 0))
0013f 45 33 c9 xor r9d, r9d
00142 4c 8d 85 20 04
00 00 lea r8, QWORD PTR display$[rbp]
00149 8b 95 84 00 00
00 mov edx, DWORD PTR displayIndex$[rbp]
0014f 48 8d 8d b4 00
00 00 lea rcx, QWORD PTR adapter$[rbp+4]
00156 ff 15 00 00 00
00 call QWORD PTR __imp_EnumDisplayDevicesW
0015c 85 c0 test eax, eax
0015e 75 05 jne SHORT $LN21@glfwPollMo
; 177 : break;
00160 e9 f7 00 00 00 jmp $LN6@glfwPollMo
$LN21@glfwPollMo:
; 178 :
; 179 : if (!(display.StateFlags & DISPLAY_DEVICE_ACTIVE))
00165 8b 85 64 05 00
00 mov eax, DWORD PTR display$[rbp+324]
0016b 83 e0 01 and eax, 1
0016e 85 c0 test eax, eax
00170 75 02 jne SHORT $LN22@glfwPollMo
; 180 : continue;
00172 eb 9f jmp SHORT $LN5@glfwPollMo
$LN22@glfwPollMo:
; 181 :
; 182 : for (i = 0; i < disconnectedCount; i++)
00174 c7 45 04 00 00
00 00 mov DWORD PTR i$[rbp], 0
0017b eb 08 jmp SHORT $LN10@glfwPollMo
$LN8@glfwPollMo:
0017d 8b 45 04 mov eax, DWORD PTR i$[rbp]
00180 ff c0 inc eax
00182 89 45 04 mov DWORD PTR i$[rbp], eax
$LN10@glfwPollMo:
00185 8b 45 24 mov eax, DWORD PTR disconnectedCount$[rbp]
00188 39 45 04 cmp DWORD PTR i$[rbp], eax
0018b 7d 69 jge SHORT $LN9@glfwPollMo
; 183 : {
; 184 : if (disconnected[i] &&
0018d 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
00191 48 8b 4d 48 mov rcx, QWORD PTR disconnected$[rbp]
00195 48 83 3c c1 00 cmp QWORD PTR [rcx+rax*8], 0
0019a 74 58 je SHORT $LN23@glfwPollMo
0019c 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
001a0 48 8b 4d 48 mov rcx, QWORD PTR disconnected$[rbp]
001a4 48 8b 04 c1 mov rax, QWORD PTR [rcx+rax*8]
001a8 48 05 48 01 00
00 add rax, 328 ; 00000148H
001ae 48 8d 95 24 04
00 00 lea rdx, QWORD PTR display$[rbp+4]
001b5 48 8b c8 mov rcx, rax
001b8 ff 15 00 00 00
00 call QWORD PTR __imp_wcscmp
001be 85 c0 test eax, eax
001c0 75 32 jne SHORT $LN23@glfwPollMo
; 185 : wcscmp(disconnected[i]->win32.displayName,
; 186 : display.DeviceName) == 0)
; 187 : {
; 188 : disconnected[i] = NULL;
001c2 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
001c6 48 8b 4d 48 mov rcx, QWORD PTR disconnected$[rbp]
001ca 48 c7 04 c1 00
00 00 00 mov QWORD PTR [rcx+rax*8], 0
; 189 : // handle may have changed, update
; 190 : EnumDisplayMonitors(NULL, NULL, monitorCallback, (LPARAM) _glfw.monitors[i]);
001d2 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
001d6 48 8b 0d 80 07
00 00 mov rcx, QWORD PTR _glfw+1920
001dd 4c 8b 0c c1 mov r9, QWORD PTR [rcx+rax*8]
001e1 4c 8d 05 00 00
00 00 lea r8, OFFSET FLAT:monitorCallback
001e8 33 d2 xor edx, edx
001ea 33 c9 xor ecx, ecx
001ec ff 15 00 00 00
00 call QWORD PTR __imp_EnumDisplayMonitors
; 191 : break;
001f2 eb 02 jmp SHORT $LN9@glfwPollMo
$LN23@glfwPollMo:
; 192 : }
; 193 : }
001f4 eb 87 jmp SHORT $LN8@glfwPollMo
$LN9@glfwPollMo:
; 194 :
; 195 : if (i < disconnectedCount)
001f6 8b 45 24 mov eax, DWORD PTR disconnectedCount$[rbp]
001f9 39 45 04 cmp DWORD PTR i$[rbp], eax
001fc 7d 05 jge SHORT $LN24@glfwPollMo
; 196 : continue;
001fe e9 10 ff ff ff jmp $LN5@glfwPollMo
$LN24@glfwPollMo:
; 197 :
; 198 : monitor = createMonitor(&adapter, &display);
00203 48 8d 95 20 04
00 00 lea rdx, QWORD PTR display$[rbp]
0020a 48 8d 8d b0 00
00 00 lea rcx, QWORD PTR adapter$[rbp]
00211 e8 00 00 00 00 call createMonitor
00216 48 89 85 88 07
00 00 mov QWORD PTR monitor$[rbp], rax
; 199 : if (!monitor)
0021d 48 83 bd 88 07
00 00 00 cmp QWORD PTR monitor$[rbp], 0
00225 75 0e jne SHORT $LN25@glfwPollMo
; 200 : {
; 201 : _glfw_free(disconnected);
00227 48 8b 4d 48 mov rcx, QWORD PTR disconnected$[rbp]
0022b e8 00 00 00 00 call _glfw_free
; 202 : return;
00230 e9 36 01 00 00 jmp $LN1@glfwPollMo
$LN25@glfwPollMo:
; 203 : }
; 204 :
; 205 : _glfwInputMonitor(monitor, GLFW_CONNECTED, type);
00235 44 8b 85 a4 07
00 00 mov r8d, DWORD PTR type$5[rbp]
0023c ba 01 00 04 00 mov edx, 262145 ; 00040001H
00241 48 8b 8d 88 07
00 00 mov rcx, QWORD PTR monitor$[rbp]
00248 e8 00 00 00 00 call _glfwInputMonitor
; 206 :
; 207 : type = _GLFW_INSERT_LAST;
0024d c7 85 a4 07 00
00 01 00 00 00 mov DWORD PTR type$5[rbp], 1
; 208 : }
00257 e9 b7 fe ff ff jmp $LN5@glfwPollMo
$LN6@glfwPollMo:
; 209 :
; 210 : // HACK: If an active adapter does not have any display devices
; 211 : // (as sometimes happens), add it directly as a monitor
; 212 : if (displayIndex == 0)
0025c 83 bd 84 00 00
00 00 cmp DWORD PTR displayIndex$[rbp], 0
00263 0f 85 b1 00 00
00 jne $LN26@glfwPollMo
; 213 : {
; 214 : for (i = 0; i < disconnectedCount; i++)
00269 c7 45 04 00 00
00 00 mov DWORD PTR i$[rbp], 0
00270 eb 08 jmp SHORT $LN13@glfwPollMo
$LN11@glfwPollMo:
00272 8b 45 04 mov eax, DWORD PTR i$[rbp]
00275 ff c0 inc eax
00277 89 45 04 mov DWORD PTR i$[rbp], eax
$LN13@glfwPollMo:
0027a 8b 45 24 mov eax, DWORD PTR disconnectedCount$[rbp]
0027d 39 45 04 cmp DWORD PTR i$[rbp], eax
00280 7d 49 jge SHORT $LN12@glfwPollMo
; 215 : {
; 216 : if (disconnected[i] &&
00282 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
00286 48 8b 4d 48 mov rcx, QWORD PTR disconnected$[rbp]
0028a 48 83 3c c1 00 cmp QWORD PTR [rcx+rax*8], 0
0028f 74 38 je SHORT $LN27@glfwPollMo
00291 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
00295 48 8b 4d 48 mov rcx, QWORD PTR disconnected$[rbp]
00299 48 8b 04 c1 mov rax, QWORD PTR [rcx+rax*8]
0029d 48 05 08 01 00
00 add rax, 264 ; 00000108H
002a3 48 8d 95 b4 00
00 00 lea rdx, QWORD PTR adapter$[rbp+4]
002aa 48 8b c8 mov rcx, rax
002ad ff 15 00 00 00
00 call QWORD PTR __imp_wcscmp
002b3 85 c0 test eax, eax
002b5 75 12 jne SHORT $LN27@glfwPollMo
; 217 : wcscmp(disconnected[i]->win32.adapterName,
; 218 : adapter.DeviceName) == 0)
; 219 : {
; 220 : disconnected[i] = NULL;
002b7 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
002bb 48 8b 4d 48 mov rcx, QWORD PTR disconnected$[rbp]
002bf 48 c7 04 c1 00
00 00 00 mov QWORD PTR [rcx+rax*8], 0
; 221 : break;
002c7 eb 02 jmp SHORT $LN12@glfwPollMo
$LN27@glfwPollMo:
; 222 : }
; 223 : }
002c9 eb a7 jmp SHORT $LN11@glfwPollMo
$LN12@glfwPollMo:
; 224 :
; 225 : if (i < disconnectedCount)
002cb 8b 45 24 mov eax, DWORD PTR disconnectedCount$[rbp]
002ce 39 45 04 cmp DWORD PTR i$[rbp], eax
002d1 7d 05 jge SHORT $LN28@glfwPollMo
; 226 : continue;
002d3 e9 bb fd ff ff jmp $LN2@glfwPollMo
$LN28@glfwPollMo:
; 227 :
; 228 : monitor = createMonitor(&adapter, NULL);
002d8 33 d2 xor edx, edx
002da 48 8d 8d b0 00
00 00 lea rcx, QWORD PTR adapter$[rbp]
002e1 e8 00 00 00 00 call createMonitor
002e6 48 89 85 88 07
00 00 mov QWORD PTR monitor$[rbp], rax
; 229 : if (!monitor)
002ed 48 83 bd 88 07
00 00 00 cmp QWORD PTR monitor$[rbp], 0
002f5 75 0b jne SHORT $LN29@glfwPollMo
; 230 : {
; 231 : _glfw_free(disconnected);
002f7 48 8b 4d 48 mov rcx, QWORD PTR disconnected$[rbp]
002fb e8 00 00 00 00 call _glfw_free
; 232 : return;
00300 eb 69 jmp SHORT $LN1@glfwPollMo
$LN29@glfwPollMo:
; 233 : }
; 234 :
; 235 : _glfwInputMonitor(monitor, GLFW_CONNECTED, type);
00302 44 8b 85 a4 07
00 00 mov r8d, DWORD PTR type$5[rbp]
00309 ba 01 00 04 00 mov edx, 262145 ; 00040001H
0030e 48 8b 8d 88 07
00 00 mov rcx, QWORD PTR monitor$[rbp]
00315 e8 00 00 00 00 call _glfwInputMonitor
$LN26@glfwPollMo:
; 236 : }
; 237 : }
0031a e9 74 fd ff ff jmp $LN2@glfwPollMo
$LN3@glfwPollMo:
; 238 :
; 239 : for (i = 0; i < disconnectedCount; i++)
0031f c7 45 04 00 00
00 00 mov DWORD PTR i$[rbp], 0
00326 eb 08 jmp SHORT $LN16@glfwPollMo
$LN14@glfwPollMo:
00328 8b 45 04 mov eax, DWORD PTR i$[rbp]
0032b ff c0 inc eax
0032d 89 45 04 mov DWORD PTR i$[rbp], eax
$LN16@glfwPollMo:
00330 8b 45 24 mov eax, DWORD PTR disconnectedCount$[rbp]
00333 39 45 04 cmp DWORD PTR i$[rbp], eax
00336 7d 2a jge SHORT $LN15@glfwPollMo
; 240 : {
; 241 : if (disconnected[i])
00338 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
0033c 48 8b 4d 48 mov rcx, QWORD PTR disconnected$[rbp]
00340 48 83 3c c1 00 cmp QWORD PTR [rcx+rax*8], 0
00345 74 19 je SHORT $LN30@glfwPollMo
; 242 : _glfwInputMonitor(disconnected[i], GLFW_DISCONNECTED, 0);
00347 48 63 45 04 movsxd rax, DWORD PTR i$[rbp]
0034b 45 33 c0 xor r8d, r8d
0034e ba 02 00 04 00 mov edx, 262146 ; 00040002H
00353 48 8b 4d 48 mov rcx, QWORD PTR disconnected$[rbp]
00357 48 8b 0c c1 mov rcx, QWORD PTR [rcx+rax*8]
0035b e8 00 00 00 00 call _glfwInputMonitor
$LN30@glfwPollMo:
; 243 : }
00360 eb c6 jmp SHORT $LN14@glfwPollMo
$LN15@glfwPollMo:
; 244 :
; 245 : _glfw_free(disconnected);
00362 48 8b 4d 48 mov rcx, QWORD PTR disconnected$[rbp]
00366 e8 00 00 00 00 call _glfw_free
$LN1@glfwPollMo:
; 246 : }
0036b 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
0036f 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:_glfwPollMonitorsWin32$rtcFrameData
00376 e8 00 00 00 00 call _RTC_CheckStackVars
0037b 48 8b 8d b8 0a
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00382 48 33 cd xor rcx, rbp
00385 e8 00 00 00 00 call __security_check_cookie
0038a 48 8d a5 c8 0a
00 00 lea rsp, QWORD PTR [rbp+2760]
00391 5f pop rdi
00392 5d pop rbp
00393 c3 ret 0
_glfwPollMonitorsWin32 ENDP
_TEXT ENDS
END