3719 lines
104 KiB
Plaintext
3719 lines
104 KiB
Plaintext
; 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, ¤t);
|
||
|
||
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(¤t, 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
|