4784 lines
131 KiB
Plaintext
4784 lines
131 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
|
||
__AB601D8D_corecrt_wstdio@h DB 01H
|
||
__C1EC35D3_stdio@h DB 01H
|
||
__BB16330F_corecrt_math@h DB 01H
|
||
__3BF2A406_math@h DB 01H
|
||
__BD81096D_win32_joystick@c DB 01H
|
||
msvcjmc ENDS
|
||
_DATA SEGMENT
|
||
_glfwObjectDataFormats DQ FLAT:_glfw_GUID_XAxis
|
||
DD 00H
|
||
DD 080ffff03H
|
||
DD 0100H
|
||
ORG $+4
|
||
DQ FLAT:_glfw_GUID_YAxis
|
||
DD 04H
|
||
DD 080ffff03H
|
||
DD 0100H
|
||
ORG $+4
|
||
DQ FLAT:_glfw_GUID_ZAxis
|
||
DD 08H
|
||
DD 080ffff03H
|
||
DD 0100H
|
||
ORG $+4
|
||
DQ FLAT:_glfw_GUID_RxAxis
|
||
DD 0cH
|
||
DD 080ffff03H
|
||
DD 0100H
|
||
ORG $+4
|
||
DQ FLAT:_glfw_GUID_RyAxis
|
||
DD 010H
|
||
DD 080ffff03H
|
||
DD 0100H
|
||
ORG $+4
|
||
DQ FLAT:_glfw_GUID_RzAxis
|
||
DD 014H
|
||
DD 080ffff03H
|
||
DD 0100H
|
||
ORG $+4
|
||
DQ FLAT:_glfw_GUID_Slider
|
||
DD 018H
|
||
DD 080ffff03H
|
||
DD 0100H
|
||
ORG $+4
|
||
DQ FLAT:_glfw_GUID_Slider
|
||
DD 01cH
|
||
DD 080ffff03H
|
||
DD 0100H
|
||
ORG $+4
|
||
DQ FLAT:_glfw_GUID_POV
|
||
DD 020H
|
||
DD 080ffff10H
|
||
DD 00H
|
||
ORG $+4
|
||
DQ FLAT:_glfw_GUID_POV
|
||
DD 024H
|
||
DD 080ffff10H
|
||
DD 00H
|
||
ORG $+4
|
||
DQ FLAT:_glfw_GUID_POV
|
||
DD 028H
|
||
DD 080ffff10H
|
||
DD 00H
|
||
ORG $+4
|
||
DQ FLAT:_glfw_GUID_POV
|
||
DD 02cH
|
||
DD 080ffff10H
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 030H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 031H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 032H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 033H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 034H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 035H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 036H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 037H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 038H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 039H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 03aH
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 03bH
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 03cH
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 03dH
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 03eH
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 03fH
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 040H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 041H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 042H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 043H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 044H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 045H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 046H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 047H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 048H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 049H
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 04aH
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 04bH
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 04cH
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 04dH
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 04eH
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
DQ 0000000000000000H
|
||
DD 04fH
|
||
DD 080ffff0cH
|
||
DD 00H
|
||
ORG $+4
|
||
_DATA ENDS
|
||
CONST SEGMENT
|
||
_glfw_IID_IDirectInput8W DD 0bf798031H
|
||
DW 0483aH
|
||
DW 04da2H
|
||
DB 0aaH
|
||
DB 099H
|
||
DB 05dH
|
||
DB 064H
|
||
DB 0edH
|
||
DB 036H
|
||
DB 097H
|
||
DB 00H
|
||
_glfw_GUID_XAxis DD 0a36d02e0H
|
||
DW 0c9f3H
|
||
DW 011cfH
|
||
DB 0bfH
|
||
DB 0c7H
|
||
DB 044H
|
||
DB 045H
|
||
DB 053H
|
||
DB 054H
|
||
DB 00H
|
||
DB 00H
|
||
_glfw_GUID_YAxis DD 0a36d02e1H
|
||
DW 0c9f3H
|
||
DW 011cfH
|
||
DB 0bfH
|
||
DB 0c7H
|
||
DB 044H
|
||
DB 045H
|
||
DB 053H
|
||
DB 054H
|
||
DB 00H
|
||
DB 00H
|
||
_glfw_GUID_ZAxis DD 0a36d02e2H
|
||
DW 0c9f3H
|
||
DW 011cfH
|
||
DB 0bfH
|
||
DB 0c7H
|
||
DB 044H
|
||
DB 045H
|
||
DB 053H
|
||
DB 054H
|
||
DB 00H
|
||
DB 00H
|
||
_glfw_GUID_RxAxis DD 0a36d02f4H
|
||
DW 0c9f3H
|
||
DW 011cfH
|
||
DB 0bfH
|
||
DB 0c7H
|
||
DB 044H
|
||
DB 045H
|
||
DB 053H
|
||
DB 054H
|
||
DB 00H
|
||
DB 00H
|
||
_glfw_GUID_RyAxis DD 0a36d02f5H
|
||
DW 0c9f3H
|
||
DW 011cfH
|
||
DB 0bfH
|
||
DB 0c7H
|
||
DB 044H
|
||
DB 045H
|
||
DB 053H
|
||
DB 054H
|
||
DB 00H
|
||
DB 00H
|
||
_glfw_GUID_RzAxis DD 0a36d02e3H
|
||
DW 0c9f3H
|
||
DW 011cfH
|
||
DB 0bfH
|
||
DB 0c7H
|
||
DB 044H
|
||
DB 045H
|
||
DB 053H
|
||
DB 054H
|
||
DB 00H
|
||
DB 00H
|
||
_glfw_GUID_Slider DD 0a36d02e4H
|
||
DW 0c9f3H
|
||
DW 011cfH
|
||
DB 0bfH
|
||
DB 0c7H
|
||
DB 044H
|
||
DB 045H
|
||
DB 053H
|
||
DB 054H
|
||
DB 00H
|
||
DB 00H
|
||
_glfw_GUID_POV DD 0a36d02f2H
|
||
DW 0c9f3H
|
||
DW 011cfH
|
||
DB 0bfH
|
||
DB 0c7H
|
||
DB 044H
|
||
DB 045H
|
||
DB 053H
|
||
DB 054H
|
||
DB 00H
|
||
DB 00H
|
||
_glfwDataFormat DD 020H
|
||
DD 018H
|
||
DD 02H
|
||
DD 050H
|
||
DD 02cH
|
||
ORG $+4
|
||
DQ FLAT:_glfwObjectDataFormats
|
||
CONST ENDS
|
||
PUBLIC _glfwInitJoysticksWin32
|
||
PUBLIC _glfwTerminateJoysticksWin32
|
||
PUBLIC _glfwPollJoystickWin32
|
||
PUBLIC _glfwGetMappingNameWin32
|
||
PUBLIC _glfwUpdateGamepadGUIDWin32
|
||
PUBLIC _glfwDetectJoystickConnectionWin32
|
||
PUBLIC _glfwDetectJoystickDisconnectionWin32
|
||
PUBLIC __local_stdio_printf_options
|
||
PUBLIC _vsnprintf_l
|
||
PUBLIC _vsprintf_l
|
||
PUBLIC sprintf
|
||
PUBLIC __JustMyCode_Default
|
||
PUBLIC ??_C@_0N@JENFOGFI@XInput?5Wheel@ ; `string'
|
||
PUBLIC ??_C@_0BE@FABDLJKH@XInput?5Arcade?5Stick@ ; `string'
|
||
PUBLIC ??_C@_0BE@HBNNGLHP@XInput?5Flight?5Stick@ ; `string'
|
||
PUBLIC ??_C@_0BB@JDDMDGFO@XInput?5Dance?5Pad@ ; `string'
|
||
PUBLIC ??_C@_0O@IFDGNEHH@XInput?5Guitar@ ; `string'
|
||
PUBLIC ??_C@_0BA@LCMKGGHA@XInput?5Drum?5Kit@ ; `string'
|
||
PUBLIC ??_C@_0BJ@IIGAEGGE@Wireless?5Xbox?5Controller@ ; `string'
|
||
PUBLIC ??_C@_0BA@EPLGABLH@Xbox?5Controller@ ; `string'
|
||
PUBLIC ??_C@_0BG@DGJLFNBN@Unknown?5XInput?5Device@ ; `string'
|
||
PUBLIC ??_C@_03HAFBONIK@IG_@ ; `string'
|
||
PUBLIC ??_C@_0BP@OHJGLFIP@Win32?3?5Failed?5to?5create?5device@ ; `string'
|
||
PUBLIC ??_C@_0CI@MMBFOOEA@Win32?3?5Failed?5to?5set?5device?5dat@ ; `string'
|
||
PUBLIC ??_C@_0CL@JHIPHFAC@Win32?3?5Failed?5to?5query?5device?5c@ ; `string'
|
||
PUBLIC ??_C@_0CG@JJEBGGIE@Win32?3?5Failed?5to?5set?5device?5axi@ ; `string'
|
||
PUBLIC ??_C@_0CK@FKJPIIOF@Win32?3?5Failed?5to?5enumerate?5devi@ ; `string'
|
||
PUBLIC ??_C@_0DA@IIGLKABA@Win32?3?5Failed?5to?5convert?5joysti@ ; `string'
|
||
PUBLIC ??_C@_06MBFKAACL@PIDVID@ ; `string'
|
||
PUBLIC ??_C@_0CJ@NMCAPCBP@03000000?$CF02x?$CF02x0000?$CF02x?$CF02x000@ ; `string'
|
||
PUBLIC ??_C@_0DH@LCNJGHOP@05000000?$CF02x?$CF02x?$CF02x?$CF02x?$CF02x?$CF02@ ; `string'
|
||
PUBLIC ??_C@_0CD@CBFNHKPK@78696e707574?$CF02x000000000000000@ ; `string'
|
||
PUBLIC ??_C@_0CJ@HDJDHLNO@Failed?5to?5enumerate?5DirectInput@ ; `string'
|
||
PUBLIC ??_C@_0CC@MGDCJJKB@Win32?3?5Failed?5to?5create?5interfa@ ; `string'
|
||
PUBLIC ??_C@_07LDLFNPGN@Windows@ ; `string'
|
||
PUBLIC ??_C@_0N@OJEJPFOD@504944564944@ ; `string'
|
||
PUBLIC ??_C@_0CB@BIHPPBFK@03000000?$CF?44s0000?$CF?44s00000000000@ ; `string'
|
||
PUBLIC __real@3f000000
|
||
PUBLIC __real@3f800000
|
||
PUBLIC __real@42ff0000
|
||
PUBLIC __real@46ffff00
|
||
PUBLIC __xmm@80000000800000008000000080000000
|
||
EXTRN __report_rangecheckfailure:PROC
|
||
EXTRN memcmp:PROC
|
||
EXTRN memset:PROC
|
||
EXTRN strstr:PROC
|
||
EXTRN strcmp:PROC
|
||
EXTRN __imp_strncpy:PROC
|
||
EXTRN __imp_GetRawInputDeviceInfoA:PROC
|
||
EXTRN __imp_GetRawInputDeviceList:PROC
|
||
EXTRN __imp_WideCharToMultiByte:PROC
|
||
EXTRN __imp_qsort:PROC
|
||
EXTRN _glfwInputJoystick:PROC
|
||
EXTRN _glfwInputJoystickAxis:PROC
|
||
EXTRN _glfwInputJoystickButton:PROC
|
||
EXTRN _glfwInputJoystickHat:PROC
|
||
EXTRN _glfwInputError:PROC
|
||
EXTRN _glfwAllocJoystick:PROC
|
||
EXTRN _glfwFreeJoystick:PROC
|
||
EXTRN _glfw_calloc:PROC
|
||
EXTRN _glfw_free:PROC
|
||
EXTRN __imp___stdio_common_vsprintf:PROC
|
||
EXTRN _RTC_CheckStackVars:PROC
|
||
EXTRN _RTC_InitBase:PROC
|
||
EXTRN _RTC_Shutdown:PROC
|
||
EXTRN __CheckForDebuggerJustMyCode:PROC
|
||
EXTRN __GSHandlerCheck:PROC
|
||
EXTRN __security_check_cookie:PROC
|
||
EXTRN _glfw:BYTE
|
||
EXTRN __ImageBase:BYTE
|
||
EXTRN __security_cookie:QWORD
|
||
EXTRN _fltused:DWORD
|
||
_DATA SEGMENT
|
||
COMM ?_OptionsStorage@?1??__local_stdio_printf_options@@9@9:QWORD ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
||
_DATA ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_glfwInitJoysticksWin32 DD imagerel $LN5
|
||
DD imagerel $LN5+123
|
||
DD imagerel $unwind$_glfwInitJoysticksWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_glfwTerminateJoysticksWin32 DD imagerel $LN7
|
||
DD imagerel $LN7+124
|
||
DD imagerel $unwind$_glfwTerminateJoysticksWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_glfwPollJoystickWin32 DD imagerel $LN34
|
||
DD imagerel $LN34+1760
|
||
DD imagerel $unwind$_glfwPollJoystickWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_glfwGetMappingNameWin32 DD imagerel $LN3
|
||
DD imagerel $LN3+44
|
||
DD imagerel $unwind$_glfwGetMappingNameWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_glfwUpdateGamepadGUIDWin32 DD imagerel $LN4
|
||
DD imagerel $LN4+197
|
||
DD imagerel $unwind$_glfwUpdateGamepadGUIDWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_glfwDetectJoystickConnectionWin32 DD imagerel $LN16
|
||
DD imagerel $LN16+501
|
||
DD imagerel $unwind$_glfwDetectJoystickConnectionWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_glfwDetectJoystickDisconnectionWin32 DD imagerel $LN7
|
||
DD imagerel $LN7+111
|
||
DD imagerel $unwind$_glfwDetectJoystickDisconnectionWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$__local_stdio_printf_options DD imagerel $LN3
|
||
DD imagerel $LN3+44
|
||
DD imagerel $unwind$__local_stdio_printf_options
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_vsnprintf_l DD imagerel $LN5
|
||
DD imagerel $LN5+158
|
||
DD imagerel $unwind$_vsnprintf_l
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_vsprintf_l DD imagerel $LN3
|
||
DD imagerel $LN3+101
|
||
DD imagerel $unwind$_vsprintf_l
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$sprintf DD imagerel $LN3
|
||
DD imagerel $LN3+184
|
||
DD imagerel $unwind$sprintf
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$getDeviceDescription DD imagerel getDeviceDescription
|
||
DD imagerel getDeviceDescription+240
|
||
DD imagerel $unwind$getDeviceDescription
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$compareJoystickObjects DD imagerel compareJoystickObjects
|
||
DD imagerel compareJoystickObjects+116
|
||
DD imagerel $unwind$compareJoystickObjects
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$supportsXInput DD imagerel supportsXInput
|
||
DD imagerel supportsXInput+592
|
||
DD imagerel $unwind$supportsXInput
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$closeJoystick DD imagerel closeJoystick
|
||
DD imagerel closeJoystick+174
|
||
DD imagerel $unwind$closeJoystick
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$deviceObjectCallback DD imagerel deviceObjectCallback
|
||
DD imagerel deviceObjectCallback+932
|
||
DD imagerel $unwind$deviceObjectCallback
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$deviceCallback DD imagerel deviceCallback
|
||
DD imagerel deviceCallback+1663
|
||
DD imagerel $unwind$deviceCallback
|
||
pdata ENDS
|
||
; COMDAT __xmm@80000000800000008000000080000000
|
||
CONST SEGMENT
|
||
__xmm@80000000800000008000000080000000 DB 00H, 00H, 00H, 080H, 00H, 00H, 00H
|
||
DB 080H, 00H, 00H, 00H, 080H, 00H, 00H, 00H, 080H
|
||
CONST ENDS
|
||
; COMDAT __real@46ffff00
|
||
CONST SEGMENT
|
||
__real@46ffff00 DD 046ffff00r ; 32767.5
|
||
CONST ENDS
|
||
; COMDAT __real@42ff0000
|
||
CONST SEGMENT
|
||
__real@42ff0000 DD 042ff0000r ; 127.5
|
||
CONST ENDS
|
||
; COMDAT __real@3f800000
|
||
CONST SEGMENT
|
||
__real@3f800000 DD 03f800000r ; 1
|
||
CONST ENDS
|
||
; COMDAT __real@3f000000
|
||
CONST SEGMENT
|
||
__real@3f000000 DD 03f000000r ; 0.5
|
||
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@_0CB@BIHPPBFK@03000000?$CF?44s0000?$CF?44s00000000000@
|
||
CONST SEGMENT
|
||
??_C@_0CB@BIHPPBFK@03000000?$CF?44s0000?$CF?44s00000000000@ DB '03000000%'
|
||
DB '.4s0000%.4s000000000000', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0N@OJEJPFOD@504944564944@
|
||
CONST SEGMENT
|
||
??_C@_0N@OJEJPFOD@504944564944@ DB '504944564944', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_07LDLFNPGN@Windows@
|
||
CONST SEGMENT
|
||
??_C@_07LDLFNPGN@Windows@ DB 'Windows', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0CC@MGDCJJKB@Win32?3?5Failed?5to?5create?5interfa@
|
||
CONST SEGMENT
|
||
??_C@_0CC@MGDCJJKB@Win32?3?5Failed?5to?5create?5interfa@ DB 'Win32: Faile'
|
||
DB 'd to create interface', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0CJ@HDJDHLNO@Failed?5to?5enumerate?5DirectInput@
|
||
CONST SEGMENT
|
||
??_C@_0CJ@HDJDHLNO@Failed?5to?5enumerate?5DirectInput@ DB 'Failed to enum'
|
||
DB 'erate DirectInput8 devices', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0CD@CBFNHKPK@78696e707574?$CF02x000000000000000@
|
||
CONST SEGMENT
|
||
??_C@_0CD@CBFNHKPK@78696e707574?$CF02x000000000000000@ DB '78696e707574%0'
|
||
DB '2x000000000000000000', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0DH@LCNJGHOP@05000000?$CF02x?$CF02x?$CF02x?$CF02x?$CF02x?$CF02@
|
||
CONST SEGMENT
|
||
??_C@_0DH@LCNJGHOP@05000000?$CF02x?$CF02x?$CF02x?$CF02x?$CF02x?$CF02@ DB '0'
|
||
DB '5000000%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x00', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0CJ@NMCAPCBP@03000000?$CF02x?$CF02x0000?$CF02x?$CF02x000@
|
||
CONST SEGMENT
|
||
??_C@_0CJ@NMCAPCBP@03000000?$CF02x?$CF02x0000?$CF02x?$CF02x000@ DB '03000'
|
||
DB '000%02x%02x0000%02x%02x000000000000', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_06MBFKAACL@PIDVID@
|
||
CONST SEGMENT
|
||
??_C@_06MBFKAACL@PIDVID@ DB 'PIDVID', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0DA@IIGLKABA@Win32?3?5Failed?5to?5convert?5joysti@
|
||
CONST SEGMENT
|
||
??_C@_0DA@IIGLKABA@Win32?3?5Failed?5to?5convert?5joysti@ DB 'Win32: Faile'
|
||
DB 'd to convert joystick name to UTF-8', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0CK@FKJPIIOF@Win32?3?5Failed?5to?5enumerate?5devi@
|
||
CONST SEGMENT
|
||
??_C@_0CK@FKJPIIOF@Win32?3?5Failed?5to?5enumerate?5devi@ DB 'Win32: Faile'
|
||
DB 'd to enumerate device objects', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0CG@JJEBGGIE@Win32?3?5Failed?5to?5set?5device?5axi@
|
||
CONST SEGMENT
|
||
??_C@_0CG@JJEBGGIE@Win32?3?5Failed?5to?5set?5device?5axi@ DB 'Win32: Fail'
|
||
DB 'ed to set device axis mode', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0CL@JHIPHFAC@Win32?3?5Failed?5to?5query?5device?5c@
|
||
CONST SEGMENT
|
||
??_C@_0CL@JHIPHFAC@Win32?3?5Failed?5to?5query?5device?5c@ DB 'Win32: Fail'
|
||
DB 'ed to query device capabilities', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0CI@MMBFOOEA@Win32?3?5Failed?5to?5set?5device?5dat@
|
||
CONST SEGMENT
|
||
??_C@_0CI@MMBFOOEA@Win32?3?5Failed?5to?5set?5device?5dat@ DB 'Win32: Fail'
|
||
DB 'ed to set device data format', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0BP@OHJGLFIP@Win32?3?5Failed?5to?5create?5device@
|
||
CONST SEGMENT
|
||
??_C@_0BP@OHJGLFIP@Win32?3?5Failed?5to?5create?5device@ DB 'Win32: Failed'
|
||
DB ' to create device', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_03HAFBONIK@IG_@
|
||
CONST SEGMENT
|
||
??_C@_03HAFBONIK@IG_@ DB 'IG_', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0BG@DGJLFNBN@Unknown?5XInput?5Device@
|
||
CONST SEGMENT
|
||
??_C@_0BG@DGJLFNBN@Unknown?5XInput?5Device@ DB 'Unknown XInput Device', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0BA@EPLGABLH@Xbox?5Controller@
|
||
CONST SEGMENT
|
||
??_C@_0BA@EPLGABLH@Xbox?5Controller@ DB 'Xbox Controller', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0BJ@IIGAEGGE@Wireless?5Xbox?5Controller@
|
||
CONST SEGMENT
|
||
??_C@_0BJ@IIGAEGGE@Wireless?5Xbox?5Controller@ DB 'Wireless Xbox Controll'
|
||
DB 'er', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0BA@LCMKGGHA@XInput?5Drum?5Kit@
|
||
CONST SEGMENT
|
||
??_C@_0BA@LCMKGGHA@XInput?5Drum?5Kit@ DB 'XInput Drum Kit', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0O@IFDGNEHH@XInput?5Guitar@
|
||
CONST SEGMENT
|
||
??_C@_0O@IFDGNEHH@XInput?5Guitar@ DB 'XInput Guitar', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0BB@JDDMDGFO@XInput?5Dance?5Pad@
|
||
CONST SEGMENT
|
||
??_C@_0BB@JDDMDGFO@XInput?5Dance?5Pad@ DB 'XInput Dance Pad', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0BE@HBNNGLHP@XInput?5Flight?5Stick@
|
||
CONST SEGMENT
|
||
??_C@_0BE@HBNNGLHP@XInput?5Flight?5Stick@ DB 'XInput Flight Stick', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0BE@FABDLJKH@XInput?5Arcade?5Stick@
|
||
CONST SEGMENT
|
||
??_C@_0BE@FABDLJKH@XInput?5Arcade?5Stick@ DB 'XInput Arcade Stick', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT ??_C@_0N@JENFOGFI@XInput?5Wheel@
|
||
CONST SEGMENT
|
||
??_C@_0N@JENFOGFI@XInput?5Wheel@ DB 'XInput Wheel', 00H ; `string'
|
||
CONST ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 03dH
|
||
DW 0664H
|
||
voltbl ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$deviceCallback DD 075074419H
|
||
DD 0115731aH
|
||
DD 0700e0091H
|
||
DD 0300c600dH
|
||
DD 0500bH
|
||
DD imagerel __GSHandlerCheck
|
||
DD 0470H
|
||
xdata ENDS
|
||
; COMDAT CONST
|
||
CONST SEGMENT
|
||
deviceCallback$rtcName$0 DB 064H
|
||
DB 063H
|
||
DB 00H
|
||
ORG $+1
|
||
deviceCallback$rtcName$1 DB 064H
|
||
DB 069H
|
||
DB 070H
|
||
DB 064H
|
||
DB 00H
|
||
ORG $+3
|
||
deviceCallback$rtcName$2 DB 064H
|
||
DB 065H
|
||
DB 076H
|
||
DB 069H
|
||
DB 063H
|
||
DB 065H
|
||
DB 00H
|
||
ORG $+1
|
||
deviceCallback$rtcName$3 DB 064H
|
||
DB 061H
|
||
DB 074H
|
||
DB 061H
|
||
DB 00H
|
||
ORG $+3
|
||
deviceCallback$rtcName$4 DB 067H
|
||
DB 075H
|
||
DB 069H
|
||
DB 064H
|
||
DB 00H
|
||
ORG $+3
|
||
deviceCallback$rtcName$5 DB 06eH
|
||
DB 061H
|
||
DB 06dH
|
||
DB 065H
|
||
DB 00H
|
||
ORG $+7
|
||
deviceCallback$rtcVarDesc DD 01e0H
|
||
DD 0100H
|
||
DQ FLAT:deviceCallback$rtcName$5
|
||
DD 0198H
|
||
DD 021H
|
||
DQ FLAT:deviceCallback$rtcName$4
|
||
DD 0138H
|
||
DD 028H
|
||
DQ FLAT:deviceCallback$rtcName$3
|
||
DD 0118H
|
||
DD 08H
|
||
DQ FLAT:deviceCallback$rtcName$2
|
||
DD 0e8H
|
||
DD 014H
|
||
DQ FLAT:deviceCallback$rtcName$1
|
||
DD 098H
|
||
DD 02cH
|
||
DQ FLAT:deviceCallback$rtcName$0
|
||
ORG $+288
|
||
deviceCallback$rtcFrameData DD 06H
|
||
DD 00H
|
||
DQ FLAT:deviceCallback$rtcVarDesc
|
||
CONST ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 03bH
|
||
DW 038bH
|
||
voltbl ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$deviceObjectCallback DD 025054219H
|
||
DD 01132318H
|
||
DD 0700c002bH
|
||
DD 0500bH
|
||
DD imagerel __GSHandlerCheck
|
||
DD 0148H
|
||
xdata ENDS
|
||
; COMDAT CONST
|
||
CONST SEGMENT
|
||
deviceObjectCallback$rtcName$0 DB 064H
|
||
DB 069H
|
||
DB 070H
|
||
DB 072H
|
||
DB 00H
|
||
ORG $+11
|
||
deviceObjectCallback$rtcVarDesc DD 068H
|
||
DD 018H
|
||
DQ FLAT:deviceObjectCallback$rtcName$0
|
||
ORG $+48
|
||
deviceObjectCallback$rtcFrameData DD 01H
|
||
DD 00H
|
||
DQ FLAT:deviceObjectCallback$rtcVarDesc
|
||
CONST ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$closeJoystick DD 025051301H
|
||
DD 010e2313H
|
||
DD 07007001dH
|
||
DD 05006H
|
||
xdata ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 036H
|
||
DW 0237H
|
||
voltbl ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$supportsXInput DD 025053d19H
|
||
DD 010e2313H
|
||
DD 070070079H
|
||
DD 05006H
|
||
DD imagerel __GSHandlerCheck
|
||
DD 03b8H
|
||
xdata ENDS
|
||
; COMDAT CONST
|
||
CONST SEGMENT
|
||
supportsXInput$rtcName$0 DB 063H
|
||
DB 06fH
|
||
DB 075H
|
||
DB 06eH
|
||
DB 074H
|
||
DB 00H
|
||
ORG $+2
|
||
supportsXInput$rtcName$1 DB 072H
|
||
DB 064H
|
||
DB 069H
|
||
DB 00H
|
||
supportsXInput$rtcName$2 DB 06eH
|
||
DB 061H
|
||
DB 06dH
|
||
DB 065H
|
||
DB 00H
|
||
ORG $+3
|
||
supportsXInput$rtcName$3 DB 073H
|
||
DB 069H
|
||
DB 07aH
|
||
DB 065H
|
||
DB 00H
|
||
ORG $+7
|
||
supportsXInput$rtcVarDesc DD 0204H
|
||
DD 04H
|
||
DQ FLAT:supportsXInput$rtcName$3
|
||
DD 0f0H
|
||
DD 0100H
|
||
DQ FLAT:supportsXInput$rtcName$2
|
||
DD 0a8H
|
||
DD 020H
|
||
DQ FLAT:supportsXInput$rtcName$1
|
||
DD 044H
|
||
DD 04H
|
||
DQ FLAT:supportsXInput$rtcName$0
|
||
ORG $+192
|
||
supportsXInput$rtcFrameData DD 04H
|
||
DD 00H
|
||
DQ FLAT:supportsXInput$rtcVarDesc
|
||
CONST ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$compareJoystickObjects DD 025051801H
|
||
DD 01132318H
|
||
DD 0700c0025H
|
||
DD 0500bH
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$getDeviceDescription DD 025051301H
|
||
DD 010e2313H
|
||
DD 07007001fH
|
||
DD 05006H
|
||
xdata ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 045H
|
||
DB 09fH
|
||
voltbl ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$sprintf DD 025054c19H
|
||
DD 011d2322H
|
||
DD 070160025H
|
||
DD 05015H
|
||
DD imagerel __GSHandlerCheck
|
||
DD 0118H
|
||
xdata ENDS
|
||
; COMDAT CONST
|
||
CONST SEGMENT
|
||
sprintf$rtcName$0 DB 05fH
|
||
DB 041H
|
||
DB 072H
|
||
DB 067H
|
||
DB 04cH
|
||
DB 069H
|
||
DB 073H
|
||
DB 074H
|
||
DB 00H
|
||
ORG $+7
|
||
sprintf$rtcVarDesc DD 048H
|
||
DD 08H
|
||
DQ FLAT:sprintf$rtcName$0
|
||
ORG $+48
|
||
sprintf$rtcFrameData DD 01H
|
||
DD 00H
|
||
DQ FLAT:sprintf$rtcVarDesc
|
||
CONST ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_vsprintf_l DD 035052201H
|
||
DD 011d3322H
|
||
DD 07016001fH
|
||
DD 05015H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_vsnprintf_l DD 035052201H
|
||
DD 011d3322H
|
||
DD 070160023H
|
||
DD 05015H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$__local_stdio_printf_options DD 025050f01H
|
||
DD 010a230fH
|
||
DD 07003001dH
|
||
DD 05002H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_glfwDetectJoystickDisconnectionWin32 DD 025050f01H
|
||
DD 010a230fH
|
||
DD 070030025H
|
||
DD 05002H
|
||
xdata ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 02aH
|
||
DW 01dcH
|
||
voltbl ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_glfwDetectJoystickConnectionWin32 DD 035053119H
|
||
DD 010a330fH
|
||
DD 070030039H
|
||
DD 05002H
|
||
DD imagerel __GSHandlerCheck
|
||
DD 01b8H
|
||
xdata ENDS
|
||
; COMDAT CONST
|
||
CONST SEGMENT
|
||
_glfwDetectJoystickConnectionWin32$rtcName$0 DB 067H
|
||
DB 075H
|
||
DB 069H
|
||
DB 064H
|
||
DB 00H
|
||
ORG $+3
|
||
_glfwDetectJoystickConnectionWin32$rtcName$1 DB 078H
|
||
DB 069H
|
||
DB 063H
|
||
DB 00H
|
||
ORG $+4
|
||
_glfwDetectJoystickConnectionWin32$rtcVarDesc DD 0b8H
|
||
DD 014H
|
||
DQ FLAT:_glfwDetectJoystickConnectionWin32$rtcName$1
|
||
DD 078H
|
||
DD 021H
|
||
DQ FLAT:_glfwDetectJoystickConnectionWin32$rtcName$0
|
||
ORG $+96
|
||
_glfwDetectJoystickConnectionWin32$rtcFrameData DD 02H
|
||
DD 00H
|
||
DQ FLAT:_glfwDetectJoystickConnectionWin32$rtcVarDesc
|
||
CONST ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DB 036H
|
||
DB 0acH
|
||
voltbl ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_glfwUpdateGamepadGUIDWin32 DD 025053d19H
|
||
DD 010e2313H
|
||
DD 070070025H
|
||
DD 05006H
|
||
DD imagerel __GSHandlerCheck
|
||
DD 0118H
|
||
xdata ENDS
|
||
; COMDAT CONST
|
||
CONST SEGMENT
|
||
_glfwUpdateGamepadGUIDWin32$rtcName$0 DB 06fH
|
||
DB 072H
|
||
DB 069H
|
||
DB 067H
|
||
DB 069H
|
||
DB 06eH
|
||
DB 061H
|
||
DB 06cH
|
||
DB 00H
|
||
ORG $+7
|
||
_glfwUpdateGamepadGUIDWin32$rtcVarDesc DD 028H
|
||
DD 021H
|
||
DQ FLAT:_glfwUpdateGamepadGUIDWin32$rtcName$0
|
||
ORG $+48
|
||
_glfwUpdateGamepadGUIDWin32$rtcFrameData DD 01H
|
||
DD 00H
|
||
DQ FLAT:_glfwUpdateGamepadGUIDWin32$rtcVarDesc
|
||
CONST ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_glfwGetMappingNameWin32 DD 025050f01H
|
||
DD 010a230fH
|
||
DD 07003001dH
|
||
DD 05002H
|
||
xdata ENDS
|
||
; COMDAT voltbl
|
||
voltbl SEGMENT
|
||
_volmd DW 03aH
|
||
DW 06c7H
|
||
voltbl ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_glfwPollJoystickWin32 DD 025054119H
|
||
DD 01122317H
|
||
DD 0700b008bH
|
||
DD 0500aH
|
||
DD imagerel __GSHandlerCheck
|
||
DD 0448H
|
||
xdata ENDS
|
||
; COMDAT CONST
|
||
CONST SEGMENT
|
||
_glfwPollJoystickWin32$rtcName$0 DB 073H
|
||
DB 074H
|
||
DB 061H
|
||
DB 074H
|
||
DB 065H
|
||
DB 00H
|
||
ORG $+2
|
||
_glfwPollJoystickWin32$rtcName$1 DB 073H
|
||
DB 074H
|
||
DB 061H
|
||
DB 074H
|
||
DB 065H
|
||
DB 073H
|
||
DB 00H
|
||
ORG $+1
|
||
_glfwPollJoystickWin32$rtcName$2 DB 078H
|
||
DB 069H
|
||
DB 073H
|
||
DB 00H
|
||
ORG $+4
|
||
_glfwPollJoystickWin32$rtcName$3 DB 062H
|
||
DB 075H
|
||
DB 074H
|
||
DB 074H
|
||
DB 06fH
|
||
DB 06eH
|
||
DB 073H
|
||
DB 00H
|
||
_glfwPollJoystickWin32$rtcVarDesc DD 0288H
|
||
DD 014H
|
||
DQ FLAT:_glfwPollJoystickWin32$rtcName$3
|
||
DD 0258H
|
||
DD 010H
|
||
DQ FLAT:_glfwPollJoystickWin32$rtcName$2
|
||
DD 0198H
|
||
DD 024H
|
||
DQ FLAT:_glfwPollJoystickWin32$rtcName$1
|
||
DD 0d0H
|
||
DD 050H
|
||
DQ FLAT:_glfwPollJoystickWin32$rtcName$0
|
||
ORG $+192
|
||
_glfwPollJoystickWin32$rtcFrameData DD 04H
|
||
DD 00H
|
||
DQ FLAT:_glfwPollJoystickWin32$rtcVarDesc
|
||
CONST ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_glfwTerminateJoysticksWin32 DD 025050f01H
|
||
DD 010a230fH
|
||
DD 070030021H
|
||
DD 05002H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_glfwInitJoysticksWin32 DD 035050f01H
|
||
DD 010a330fH
|
||
DD 07003001fH
|
||
DD 05002H
|
||
xdata ENDS
|
||
; Function compile flags: /Odt
|
||
; COMDAT __JustMyCode_Default
|
||
_TEXT SEGMENT
|
||
__JustMyCode_Default PROC ; COMDAT
|
||
00000 c2 00 00 ret 0
|
||
__JustMyCode_Default ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT deviceCallback
|
||
_TEXT SEGMENT
|
||
jid$ = 4
|
||
dc$ = 40
|
||
dipd$ = 120
|
||
device$ = 168
|
||
data$ = 200
|
||
js$ = 264
|
||
guid$ = 296
|
||
name$ = 368
|
||
tv279 = 1012
|
||
tv350 = 1016
|
||
__$ArrayPad$ = 1024
|
||
di$ = 1088
|
||
user$ = 1096
|
||
deviceCallback PROC ; COMDAT
|
||
|
||
; 349 : {
|
||
|
||
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 53 push rbx
|
||
0000c 56 push rsi
|
||
0000d 57 push rdi
|
||
0000e 48 81 ec 88 04
|
||
00 00 sub rsp, 1160 ; 00000488H
|
||
00015 48 8d 6c 24 70 lea rbp, QWORD PTR [rsp+112]
|
||
0001a 48 8d 7c 24 70 lea rdi, QWORD PTR [rsp+112]
|
||
0001f b9 a6 00 00 00 mov ecx, 166 ; 000000a6H
|
||
00024 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
||
00029 f3 ab rep stosd
|
||
0002b 48 8b 8c 24 b8
|
||
04 00 00 mov rcx, QWORD PTR [rsp+1208]
|
||
00033 48 8b 05 00 00
|
||
00 00 mov rax, QWORD PTR __security_cookie
|
||
0003a 48 33 c5 xor rax, rbp
|
||
0003d 48 89 85 00 04
|
||
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
||
00044 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__BD81096D_win32_joystick@c
|
||
0004b e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 350 : int jid = 0;
|
||
|
||
00050 c7 45 04 00 00
|
||
00 00 mov DWORD PTR jid$[rbp], 0
|
||
|
||
; 351 : DIDEVCAPS dc;
|
||
; 352 : DIPROPDWORD dipd;
|
||
; 353 : IDirectInputDevice8* device;
|
||
; 354 : _GLFWobjenumWin32 data;
|
||
; 355 : _GLFWjoystick* js;
|
||
; 356 : char guid[33];
|
||
; 357 : char name[256];
|
||
; 358 :
|
||
; 359 : for (jid = 0; jid <= GLFW_JOYSTICK_LAST; jid++)
|
||
|
||
00057 c7 45 04 00 00
|
||
00 00 mov DWORD PTR jid$[rbp], 0
|
||
0005e eb 08 jmp SHORT $LN4@deviceCall
|
||
$LN2@deviceCall:
|
||
00060 8b 45 04 mov eax, DWORD PTR jid$[rbp]
|
||
00063 ff c0 inc eax
|
||
00065 89 45 04 mov DWORD PTR jid$[rbp], eax
|
||
$LN4@deviceCall:
|
||
00068 83 7d 04 0f cmp DWORD PTR jid$[rbp], 15
|
||
0006c 7f 63 jg SHORT $LN3@deviceCall
|
||
|
||
; 360 : {
|
||
; 361 : js = _glfw.joysticks + jid;
|
||
|
||
0006e 48 63 45 04 movsxd rax, DWORD PTR jid$[rbp]
|
||
00072 48 69 c0 20 01
|
||
00 00 imul rax, rax, 288 ; 00000120H
|
||
00079 48 8d 0d 90 07
|
||
00 00 lea rcx, OFFSET FLAT:_glfw+1936
|
||
00080 48 03 c8 add rcx, rax
|
||
00083 48 8b c1 mov rax, rcx
|
||
00086 48 89 85 08 01
|
||
00 00 mov QWORD PTR js$[rbp], rax
|
||
|
||
; 362 : if (js->connected)
|
||
|
||
0008d 48 8b 85 08 01
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
00094 83 78 04 00 cmp DWORD PTR [rax+4], 0
|
||
00098 74 35 je SHORT $LN5@deviceCall
|
||
|
||
; 363 : {
|
||
; 364 : if (memcmp(&js->win32.guid, &di->guidInstance, sizeof(GUID)) == 0)
|
||
|
||
0009a 48 8b 85 40 04
|
||
00 00 mov rax, QWORD PTR di$[rbp]
|
||
000a1 48 83 c0 04 add rax, 4
|
||
000a5 48 8b 8d 08 01
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
000ac 48 81 c1 0c 01
|
||
00 00 add rcx, 268 ; 0000010cH
|
||
000b3 41 b8 10 00 00
|
||
00 mov r8d, 16
|
||
000b9 48 8b d0 mov rdx, rax
|
||
000bc e8 00 00 00 00 call memcmp
|
||
000c1 85 c0 test eax, eax
|
||
000c3 75 0a jne SHORT $LN6@deviceCall
|
||
|
||
; 365 : return DIENUM_CONTINUE;
|
||
|
||
000c5 b8 01 00 00 00 mov eax, 1
|
||
000ca e9 7f 05 00 00 jmp $LN1@deviceCall
|
||
$LN6@deviceCall:
|
||
$LN5@deviceCall:
|
||
|
||
; 366 : }
|
||
; 367 : }
|
||
|
||
000cf eb 8f jmp SHORT $LN2@deviceCall
|
||
$LN3@deviceCall:
|
||
|
||
; 368 :
|
||
; 369 : if (supportsXInput(&di->guidProduct))
|
||
|
||
000d1 48 8b 85 40 04
|
||
00 00 mov rax, QWORD PTR di$[rbp]
|
||
000d8 48 83 c0 14 add rax, 20
|
||
000dc 48 8b c8 mov rcx, rax
|
||
000df e8 00 00 00 00 call supportsXInput
|
||
000e4 85 c0 test eax, eax
|
||
000e6 74 0a je SHORT $LN7@deviceCall
|
||
|
||
; 370 : return DIENUM_CONTINUE;
|
||
|
||
000e8 b8 01 00 00 00 mov eax, 1
|
||
000ed e9 5c 05 00 00 jmp $LN1@deviceCall
|
||
$LN7@deviceCall:
|
||
|
||
; 371 :
|
||
; 372 : if (FAILED(IDirectInput8_CreateDevice(_glfw.win32.dinput8.api,
|
||
|
||
000f2 48 8b 85 40 04
|
||
00 00 mov rax, QWORD PTR di$[rbp]
|
||
000f9 48 83 c0 04 add rax, 4
|
||
000fd 48 8b 0d 78 29
|
||
00 00 mov rcx, QWORD PTR _glfw+10616
|
||
00104 48 8b 09 mov rcx, QWORD PTR [rcx]
|
||
00107 48 89 8d f8 03
|
||
00 00 mov QWORD PTR tv350[rbp], rcx
|
||
0010e 45 33 c9 xor r9d, r9d
|
||
00111 4c 8d 85 a8 00
|
||
00 00 lea r8, QWORD PTR device$[rbp]
|
||
00118 48 8b d0 mov rdx, rax
|
||
0011b 48 8b 0d 78 29
|
||
00 00 mov rcx, QWORD PTR _glfw+10616
|
||
00122 48 8b 85 f8 03
|
||
00 00 mov rax, QWORD PTR tv350[rbp]
|
||
00129 ff 50 18 call QWORD PTR [rax+24]
|
||
0012c 85 c0 test eax, eax
|
||
0012e 7d 1b jge SHORT $LN8@deviceCall
|
||
|
||
; 373 : &di->guidInstance,
|
||
; 374 : &device,
|
||
; 375 : NULL)))
|
||
; 376 : {
|
||
; 377 : _glfwInputError(GLFW_PLATFORM_ERROR, "Win32: Failed to create device");
|
||
|
||
00130 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0BP@OHJGLFIP@Win32?3?5Failed?5to?5create?5device@
|
||
00137 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
0013c e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 378 : return DIENUM_CONTINUE;
|
||
|
||
00141 b8 01 00 00 00 mov eax, 1
|
||
00146 e9 03 05 00 00 jmp $LN1@deviceCall
|
||
$LN8@deviceCall:
|
||
|
||
; 379 : }
|
||
; 380 :
|
||
; 381 : if (FAILED(IDirectInputDevice8_SetDataFormat(device, &_glfwDataFormat)))
|
||
|
||
0014b 48 8b 85 a8 00
|
||
00 00 mov rax, QWORD PTR device$[rbp]
|
||
00152 48 8b 00 mov rax, QWORD PTR [rax]
|
||
00155 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:_glfwDataFormat
|
||
0015c 48 8b 8d a8 00
|
||
00 00 mov rcx, QWORD PTR device$[rbp]
|
||
00163 ff 50 58 call QWORD PTR [rax+88]
|
||
00166 85 c0 test eax, eax
|
||
00168 7d 2f jge SHORT $LN9@deviceCall
|
||
|
||
; 382 : {
|
||
; 383 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
0016a 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CI@MMBFOOEA@Win32?3?5Failed?5to?5set?5device?5dat@
|
||
00171 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
00176 e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 384 : "Win32: Failed to set device data format");
|
||
; 385 :
|
||
; 386 : IDirectInputDevice8_Release(device);
|
||
|
||
0017b 48 8b 85 a8 00
|
||
00 00 mov rax, QWORD PTR device$[rbp]
|
||
00182 48 8b 00 mov rax, QWORD PTR [rax]
|
||
00185 48 8b 8d a8 00
|
||
00 00 mov rcx, QWORD PTR device$[rbp]
|
||
0018c ff 50 10 call QWORD PTR [rax+16]
|
||
|
||
; 387 : return DIENUM_CONTINUE;
|
||
|
||
0018f b8 01 00 00 00 mov eax, 1
|
||
00194 e9 b5 04 00 00 jmp $LN1@deviceCall
|
||
$LN9@deviceCall:
|
||
|
||
; 388 : }
|
||
; 389 :
|
||
; 390 : ZeroMemory(&dc, sizeof(dc));
|
||
|
||
00199 41 b8 2c 00 00
|
||
00 mov r8d, 44 ; 0000002cH
|
||
0019f 33 d2 xor edx, edx
|
||
001a1 48 8d 4d 28 lea rcx, QWORD PTR dc$[rbp]
|
||
001a5 e8 00 00 00 00 call memset
|
||
|
||
; 391 : dc.dwSize = sizeof(dc);
|
||
|
||
001aa c7 45 28 2c 00
|
||
00 00 mov DWORD PTR dc$[rbp], 44 ; 0000002cH
|
||
|
||
; 392 :
|
||
; 393 : if (FAILED(IDirectInputDevice8_GetCapabilities(device, &dc)))
|
||
|
||
001b1 48 8b 85 a8 00
|
||
00 00 mov rax, QWORD PTR device$[rbp]
|
||
001b8 48 8b 00 mov rax, QWORD PTR [rax]
|
||
001bb 48 8d 55 28 lea rdx, QWORD PTR dc$[rbp]
|
||
001bf 48 8b 8d a8 00
|
||
00 00 mov rcx, QWORD PTR device$[rbp]
|
||
001c6 ff 50 18 call QWORD PTR [rax+24]
|
||
001c9 85 c0 test eax, eax
|
||
001cb 7d 2f jge SHORT $LN10@deviceCall
|
||
|
||
; 394 : {
|
||
; 395 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
001cd 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CL@JHIPHFAC@Win32?3?5Failed?5to?5query?5device?5c@
|
||
001d4 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
001d9 e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 396 : "Win32: Failed to query device capabilities");
|
||
; 397 :
|
||
; 398 : IDirectInputDevice8_Release(device);
|
||
|
||
001de 48 8b 85 a8 00
|
||
00 00 mov rax, QWORD PTR device$[rbp]
|
||
001e5 48 8b 00 mov rax, QWORD PTR [rax]
|
||
001e8 48 8b 8d a8 00
|
||
00 00 mov rcx, QWORD PTR device$[rbp]
|
||
001ef ff 50 10 call QWORD PTR [rax+16]
|
||
|
||
; 399 : return DIENUM_CONTINUE;
|
||
|
||
001f2 b8 01 00 00 00 mov eax, 1
|
||
001f7 e9 52 04 00 00 jmp $LN1@deviceCall
|
||
$LN10@deviceCall:
|
||
|
||
; 400 : }
|
||
; 401 :
|
||
; 402 : ZeroMemory(&dipd, sizeof(dipd));
|
||
|
||
001fc 41 b8 14 00 00
|
||
00 mov r8d, 20
|
||
00202 33 d2 xor edx, edx
|
||
00204 48 8d 4d 78 lea rcx, QWORD PTR dipd$[rbp]
|
||
00208 e8 00 00 00 00 call memset
|
||
|
||
; 403 : dipd.diph.dwSize = sizeof(dipd);
|
||
|
||
0020d c7 45 78 14 00
|
||
00 00 mov DWORD PTR dipd$[rbp], 20
|
||
|
||
; 404 : dipd.diph.dwHeaderSize = sizeof(dipd.diph);
|
||
|
||
00214 c7 45 7c 10 00
|
||
00 00 mov DWORD PTR dipd$[rbp+4], 16
|
||
|
||
; 405 : dipd.diph.dwHow = DIPH_DEVICE;
|
||
|
||
0021b c7 85 84 00 00
|
||
00 00 00 00 00 mov DWORD PTR dipd$[rbp+12], 0
|
||
|
||
; 406 : dipd.dwData = DIPROPAXISMODE_ABS;
|
||
|
||
00225 c7 85 88 00 00
|
||
00 00 00 00 00 mov DWORD PTR dipd$[rbp+16], 0
|
||
|
||
; 407 :
|
||
; 408 : if (FAILED(IDirectInputDevice8_SetProperty(device,
|
||
|
||
0022f 48 8b 85 a8 00
|
||
00 00 mov rax, QWORD PTR device$[rbp]
|
||
00236 48 8b 00 mov rax, QWORD PTR [rax]
|
||
00239 4c 8d 45 78 lea r8, QWORD PTR dipd$[rbp]
|
||
0023d ba 02 00 00 00 mov edx, 2
|
||
00242 48 8b 8d a8 00
|
||
00 00 mov rcx, QWORD PTR device$[rbp]
|
||
00249 ff 50 30 call QWORD PTR [rax+48]
|
||
0024c 85 c0 test eax, eax
|
||
0024e 7d 2f jge SHORT $LN11@deviceCall
|
||
|
||
; 409 : DIPROP_AXISMODE,
|
||
; 410 : &dipd.diph)))
|
||
; 411 : {
|
||
; 412 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
00250 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CG@JJEBGGIE@Win32?3?5Failed?5to?5set?5device?5axi@
|
||
00257 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
0025c e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 413 : "Win32: Failed to set device axis mode");
|
||
; 414 :
|
||
; 415 : IDirectInputDevice8_Release(device);
|
||
|
||
00261 48 8b 85 a8 00
|
||
00 00 mov rax, QWORD PTR device$[rbp]
|
||
00268 48 8b 00 mov rax, QWORD PTR [rax]
|
||
0026b 48 8b 8d a8 00
|
||
00 00 mov rcx, QWORD PTR device$[rbp]
|
||
00272 ff 50 10 call QWORD PTR [rax+16]
|
||
|
||
; 416 : return DIENUM_CONTINUE;
|
||
|
||
00275 b8 01 00 00 00 mov eax, 1
|
||
0027a e9 cf 03 00 00 jmp $LN1@deviceCall
|
||
$LN11@deviceCall:
|
||
|
||
; 417 : }
|
||
; 418 :
|
||
; 419 : memset(&data, 0, sizeof(data));
|
||
|
||
0027f 41 b8 28 00 00
|
||
00 mov r8d, 40 ; 00000028H
|
||
00285 33 d2 xor edx, edx
|
||
00287 48 8d 8d c8 00
|
||
00 00 lea rcx, QWORD PTR data$[rbp]
|
||
0028e e8 00 00 00 00 call memset
|
||
|
||
; 420 : data.device = device;
|
||
|
||
00293 48 8b 85 a8 00
|
||
00 00 mov rax, QWORD PTR device$[rbp]
|
||
0029a 48 89 85 c8 00
|
||
00 00 mov QWORD PTR data$[rbp], rax
|
||
|
||
; 421 : data.objects = _glfw_calloc(dc.dwAxes + (size_t) dc.dwButtons + dc.dwPOVs,
|
||
|
||
002a1 8b 45 34 mov eax, DWORD PTR dc$[rbp+12]
|
||
002a4 8b 4d 38 mov ecx, DWORD PTR dc$[rbp+16]
|
||
002a7 48 03 c1 add rax, rcx
|
||
002aa 8b 4d 3c mov ecx, DWORD PTR dc$[rbp+20]
|
||
002ad 48 03 c1 add rax, rcx
|
||
002b0 ba 08 00 00 00 mov edx, 8
|
||
002b5 48 8b c8 mov rcx, rax
|
||
002b8 e8 00 00 00 00 call _glfw_calloc
|
||
002bd 48 89 85 d0 00
|
||
00 00 mov QWORD PTR data$[rbp+8], rax
|
||
|
||
; 422 : sizeof(_GLFWjoyobjectWin32));
|
||
; 423 :
|
||
; 424 : if (FAILED(IDirectInputDevice8_EnumObjects(device,
|
||
|
||
002c4 48 8b 85 a8 00
|
||
00 00 mov rax, QWORD PTR device$[rbp]
|
||
002cb 48 8b 00 mov rax, QWORD PTR [rax]
|
||
002ce 41 b9 1f 00 00
|
||
00 mov r9d, 31
|
||
002d4 4c 8d 85 c8 00
|
||
00 00 lea r8, QWORD PTR data$[rbp]
|
||
002db 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:deviceObjectCallback
|
||
002e2 48 8b 8d a8 00
|
||
00 00 mov rcx, QWORD PTR device$[rbp]
|
||
002e9 ff 50 20 call QWORD PTR [rax+32]
|
||
002ec 85 c0 test eax, eax
|
||
002ee 7d 3b jge SHORT $LN12@deviceCall
|
||
|
||
; 425 : deviceObjectCallback,
|
||
; 426 : &data,
|
||
; 427 : DIDFT_AXIS | DIDFT_BUTTON | DIDFT_POV)))
|
||
; 428 : {
|
||
; 429 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
002f0 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CK@FKJPIIOF@Win32?3?5Failed?5to?5enumerate?5devi@
|
||
002f7 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
002fc e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 430 : "Win32: Failed to enumerate device objects");
|
||
; 431 :
|
||
; 432 : IDirectInputDevice8_Release(device);
|
||
|
||
00301 48 8b 85 a8 00
|
||
00 00 mov rax, QWORD PTR device$[rbp]
|
||
00308 48 8b 00 mov rax, QWORD PTR [rax]
|
||
0030b 48 8b 8d a8 00
|
||
00 00 mov rcx, QWORD PTR device$[rbp]
|
||
00312 ff 50 10 call QWORD PTR [rax+16]
|
||
|
||
; 433 : _glfw_free(data.objects);
|
||
|
||
00315 48 8b 8d d0 00
|
||
00 00 mov rcx, QWORD PTR data$[rbp+8]
|
||
0031c e8 00 00 00 00 call _glfw_free
|
||
|
||
; 434 : return DIENUM_CONTINUE;
|
||
|
||
00321 b8 01 00 00 00 mov eax, 1
|
||
00326 e9 23 03 00 00 jmp $LN1@deviceCall
|
||
$LN12@deviceCall:
|
||
|
||
; 435 : }
|
||
; 436 :
|
||
; 437 : qsort(data.objects, data.objectCount,
|
||
|
||
0032b 48 63 85 d8 00
|
||
00 00 movsxd rax, DWORD PTR data$[rbp+16]
|
||
00332 4c 8d 0d 00 00
|
||
00 00 lea r9, OFFSET FLAT:compareJoystickObjects
|
||
00339 41 b8 08 00 00
|
||
00 mov r8d, 8
|
||
0033f 48 8b d0 mov rdx, rax
|
||
00342 48 8b 8d d0 00
|
||
00 00 mov rcx, QWORD PTR data$[rbp+8]
|
||
00349 ff 15 00 00 00
|
||
00 call QWORD PTR __imp_qsort
|
||
|
||
; 438 : sizeof(_GLFWjoyobjectWin32),
|
||
; 439 : compareJoystickObjects);
|
||
; 440 :
|
||
; 441 : if (!WideCharToMultiByte(CP_UTF8, 0,
|
||
|
||
0034f 48 8b 85 40 04
|
||
00 00 mov rax, QWORD PTR di$[rbp]
|
||
00356 48 83 c0 28 add rax, 40 ; 00000028H
|
||
0035a 48 c7 44 24 38
|
||
00 00 00 00 mov QWORD PTR [rsp+56], 0
|
||
00363 48 c7 44 24 30
|
||
00 00 00 00 mov QWORD PTR [rsp+48], 0
|
||
0036c c7 44 24 28 00
|
||
01 00 00 mov DWORD PTR [rsp+40], 256 ; 00000100H
|
||
00374 48 8d 8d 70 01
|
||
00 00 lea rcx, QWORD PTR name$[rbp]
|
||
0037b 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx
|
||
00380 41 b9 ff ff ff
|
||
ff mov r9d, -1
|
||
00386 4c 8b c0 mov r8, rax
|
||
00389 33 d2 xor edx, edx
|
||
0038b b9 e9 fd 00 00 mov ecx, 65001 ; 0000fde9H
|
||
00390 ff 15 00 00 00
|
||
00 call QWORD PTR __imp_WideCharToMultiByte
|
||
00396 85 c0 test eax, eax
|
||
00398 75 38 jne SHORT $LN13@deviceCall
|
||
|
||
; 442 : di->tszInstanceName, -1,
|
||
; 443 : name, sizeof(name),
|
||
; 444 : NULL, NULL))
|
||
; 445 : {
|
||
; 446 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
0039a 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0DA@IIGLKABA@Win32?3?5Failed?5to?5convert?5joysti@
|
||
003a1 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
003a6 e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 447 : "Win32: Failed to convert joystick name to UTF-8");
|
||
; 448 :
|
||
; 449 : IDirectInputDevice8_Release(device);
|
||
|
||
003ab 48 8b 85 a8 00
|
||
00 00 mov rax, QWORD PTR device$[rbp]
|
||
003b2 48 8b 00 mov rax, QWORD PTR [rax]
|
||
003b5 48 8b 8d a8 00
|
||
00 00 mov rcx, QWORD PTR device$[rbp]
|
||
003bc ff 50 10 call QWORD PTR [rax+16]
|
||
|
||
; 450 : _glfw_free(data.objects);
|
||
|
||
003bf 48 8b 8d d0 00
|
||
00 00 mov rcx, QWORD PTR data$[rbp+8]
|
||
003c6 e8 00 00 00 00 call _glfw_free
|
||
|
||
; 451 : return DIENUM_STOP;
|
||
|
||
003cb 33 c0 xor eax, eax
|
||
003cd e9 7c 02 00 00 jmp $LN1@deviceCall
|
||
$LN13@deviceCall:
|
||
|
||
; 452 : }
|
||
; 453 :
|
||
; 454 : // Generate a joystick GUID that matches the SDL 2.0.5+ one
|
||
; 455 : if (memcmp(&di->guidProduct.Data4[2], "PIDVID", 6) == 0)
|
||
|
||
003d2 b8 01 00 00 00 mov eax, 1
|
||
003d7 48 6b c0 02 imul rax, rax, 2
|
||
003db 48 8b 8d 40 04
|
||
00 00 mov rcx, QWORD PTR di$[rbp]
|
||
003e2 48 8d 44 01 1c lea rax, QWORD PTR [rcx+rax+28]
|
||
003e7 41 b8 06 00 00
|
||
00 mov r8d, 6
|
||
003ed 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_06MBFKAACL@PIDVID@
|
||
003f4 48 8b c8 mov rcx, rax
|
||
003f7 e8 00 00 00 00 call memcmp
|
||
003fc 85 c0 test eax, eax
|
||
003fe 75 5f jne SHORT $LN14@deviceCall
|
||
|
||
; 456 : {
|
||
; 457 : sprintf(guid, "03000000%02x%02x0000%02x%02x000000000000",
|
||
|
||
00400 48 8b 85 40 04
|
||
00 00 mov rax, QWORD PTR di$[rbp]
|
||
00407 8b 40 14 mov eax, DWORD PTR [rax+20]
|
||
0040a c1 e8 18 shr eax, 24
|
||
0040d 0f b6 c0 movzx eax, al
|
||
00410 48 8b 8d 40 04
|
||
00 00 mov rcx, QWORD PTR di$[rbp]
|
||
00417 8b 49 14 mov ecx, DWORD PTR [rcx+20]
|
||
0041a c1 e9 10 shr ecx, 16
|
||
0041d 0f b6 c9 movzx ecx, cl
|
||
00420 48 8b 95 40 04
|
||
00 00 mov rdx, QWORD PTR di$[rbp]
|
||
00427 8b 52 14 mov edx, DWORD PTR [rdx+20]
|
||
0042a c1 ea 08 shr edx, 8
|
||
0042d 0f b6 d2 movzx edx, dl
|
||
00430 4c 8b 85 40 04
|
||
00 00 mov r8, QWORD PTR di$[rbp]
|
||
00437 45 0f b6 40 14 movzx r8d, BYTE PTR [r8+20]
|
||
0043c 89 44 24 28 mov DWORD PTR [rsp+40], eax
|
||
00440 89 4c 24 20 mov DWORD PTR [rsp+32], ecx
|
||
00444 44 8b ca mov r9d, edx
|
||
00447 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CJ@NMCAPCBP@03000000?$CF02x?$CF02x0000?$CF02x?$CF02x000@
|
||
0044e 48 8d 8d 28 01
|
||
00 00 lea rcx, QWORD PTR guid$[rbp]
|
||
00455 e8 00 00 00 00 call sprintf
|
||
|
||
; 458 : (uint8_t) di->guidProduct.Data1,
|
||
; 459 : (uint8_t) (di->guidProduct.Data1 >> 8),
|
||
; 460 : (uint8_t) (di->guidProduct.Data1 >> 16),
|
||
; 461 : (uint8_t) (di->guidProduct.Data1 >> 24));
|
||
; 462 : }
|
||
|
||
0045a e9 10 01 00 00 jmp $LN15@deviceCall
|
||
$LN14@deviceCall:
|
||
|
||
; 463 : else
|
||
; 464 : {
|
||
; 465 : sprintf(guid, "05000000%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x00",
|
||
|
||
0045f b8 01 00 00 00 mov eax, 1
|
||
00464 48 6b c0 0a imul rax, rax, 10
|
||
00468 0f be 84 05 70
|
||
01 00 00 movsx eax, BYTE PTR name$[rbp+rax]
|
||
00470 b9 01 00 00 00 mov ecx, 1
|
||
00475 48 6b c9 09 imul rcx, rcx, 9
|
||
00479 0f be 8c 0d 70
|
||
01 00 00 movsx ecx, BYTE PTR name$[rbp+rcx]
|
||
00481 ba 01 00 00 00 mov edx, 1
|
||
00486 48 6b d2 08 imul rdx, rdx, 8
|
||
0048a 0f be 94 15 70
|
||
01 00 00 movsx edx, BYTE PTR name$[rbp+rdx]
|
||
00492 41 b8 01 00 00
|
||
00 mov r8d, 1
|
||
00498 4d 6b c0 07 imul r8, r8, 7
|
||
0049c 46 0f be 84 05
|
||
70 01 00 00 movsx r8d, BYTE PTR name$[rbp+r8]
|
||
004a5 41 b9 01 00 00
|
||
00 mov r9d, 1
|
||
004ab 4d 6b c9 06 imul r9, r9, 6
|
||
004af 46 0f be 8c 0d
|
||
70 01 00 00 movsx r9d, BYTE PTR name$[rbp+r9]
|
||
004b8 41 ba 01 00 00
|
||
00 mov r10d, 1
|
||
004be 4d 6b d2 05 imul r10, r10, 5
|
||
004c2 46 0f be 94 15
|
||
70 01 00 00 movsx r10d, BYTE PTR name$[rbp+r10]
|
||
004cb 41 bb 01 00 00
|
||
00 mov r11d, 1
|
||
004d1 4d 6b db 04 imul r11, r11, 4
|
||
004d5 46 0f be 9c 1d
|
||
70 01 00 00 movsx r11d, BYTE PTR name$[rbp+r11]
|
||
004de bb 01 00 00 00 mov ebx, 1
|
||
004e3 48 6b db 03 imul rbx, rbx, 3
|
||
004e7 0f be 9c 1d 70
|
||
01 00 00 movsx ebx, BYTE PTR name$[rbp+rbx]
|
||
004ef bf 01 00 00 00 mov edi, 1
|
||
004f4 48 6b ff 02 imul rdi, rdi, 2
|
||
004f8 0f be bc 3d 70
|
||
01 00 00 movsx edi, BYTE PTR name$[rbp+rdi]
|
||
00500 be 01 00 00 00 mov esi, 1
|
||
00505 48 6b f6 01 imul rsi, rsi, 1
|
||
00509 0f be b4 35 70
|
||
01 00 00 movsx esi, BYTE PTR name$[rbp+rsi]
|
||
00511 89 b5 f4 03 00
|
||
00 mov DWORD PTR tv279[rbp], esi
|
||
00517 be 01 00 00 00 mov esi, 1
|
||
0051c 48 6b f6 00 imul rsi, rsi, 0
|
||
00520 0f be b4 35 70
|
||
01 00 00 movsx esi, BYTE PTR name$[rbp+rsi]
|
||
00528 89 44 24 60 mov DWORD PTR [rsp+96], eax
|
||
0052c 89 4c 24 58 mov DWORD PTR [rsp+88], ecx
|
||
00530 89 54 24 50 mov DWORD PTR [rsp+80], edx
|
||
00534 44 89 44 24 48 mov DWORD PTR [rsp+72], r8d
|
||
00539 44 89 4c 24 40 mov DWORD PTR [rsp+64], r9d
|
||
0053e 44 89 54 24 38 mov DWORD PTR [rsp+56], r10d
|
||
00543 44 89 5c 24 30 mov DWORD PTR [rsp+48], r11d
|
||
00548 89 5c 24 28 mov DWORD PTR [rsp+40], ebx
|
||
0054c 89 7c 24 20 mov DWORD PTR [rsp+32], edi
|
||
00550 8b 85 f4 03 00
|
||
00 mov eax, DWORD PTR tv279[rbp]
|
||
00556 44 8b c8 mov r9d, eax
|
||
00559 44 8b c6 mov r8d, esi
|
||
0055c 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0DH@LCNJGHOP@05000000?$CF02x?$CF02x?$CF02x?$CF02x?$CF02x?$CF02@
|
||
00563 48 8d 8d 28 01
|
||
00 00 lea rcx, QWORD PTR guid$[rbp]
|
||
0056a e8 00 00 00 00 call sprintf
|
||
$LN15@deviceCall:
|
||
|
||
; 466 : name[0], name[1], name[2], name[3],
|
||
; 467 : name[4], name[5], name[6], name[7],
|
||
; 468 : name[8], name[9], name[10]);
|
||
; 469 : }
|
||
; 470 :
|
||
; 471 : js = _glfwAllocJoystick(name, guid,
|
||
|
||
0056f 8b 85 e0 00 00
|
||
00 mov eax, DWORD PTR data$[rbp+24]
|
||
00575 8b 8d dc 00 00
|
||
00 mov ecx, DWORD PTR data$[rbp+20]
|
||
0057b 03 c8 add ecx, eax
|
||
0057d 8b c1 mov eax, ecx
|
||
0057f 8b 8d e8 00 00
|
||
00 mov ecx, DWORD PTR data$[rbp+32]
|
||
00585 89 4c 24 20 mov DWORD PTR [rsp+32], ecx
|
||
00589 44 8b 8d e4 00
|
||
00 00 mov r9d, DWORD PTR data$[rbp+28]
|
||
00590 44 8b c0 mov r8d, eax
|
||
00593 48 8d 95 28 01
|
||
00 00 lea rdx, QWORD PTR guid$[rbp]
|
||
0059a 48 8d 8d 70 01
|
||
00 00 lea rcx, QWORD PTR name$[rbp]
|
||
005a1 e8 00 00 00 00 call _glfwAllocJoystick
|
||
005a6 48 89 85 08 01
|
||
00 00 mov QWORD PTR js$[rbp], rax
|
||
|
||
; 472 : data.axisCount + data.sliderCount,
|
||
; 473 : data.buttonCount,
|
||
; 474 : data.povCount);
|
||
; 475 : if (!js)
|
||
|
||
005ad 48 83 bd 08 01
|
||
00 00 00 cmp QWORD PTR js$[rbp], 0
|
||
005b5 75 24 jne SHORT $LN16@deviceCall
|
||
|
||
; 476 : {
|
||
; 477 : IDirectInputDevice8_Release(device);
|
||
|
||
005b7 48 8b 85 a8 00
|
||
00 00 mov rax, QWORD PTR device$[rbp]
|
||
005be 48 8b 00 mov rax, QWORD PTR [rax]
|
||
005c1 48 8b 8d a8 00
|
||
00 00 mov rcx, QWORD PTR device$[rbp]
|
||
005c8 ff 50 10 call QWORD PTR [rax+16]
|
||
|
||
; 478 : _glfw_free(data.objects);
|
||
|
||
005cb 48 8b 8d d0 00
|
||
00 00 mov rcx, QWORD PTR data$[rbp+8]
|
||
005d2 e8 00 00 00 00 call _glfw_free
|
||
|
||
; 479 : return DIENUM_STOP;
|
||
|
||
005d7 33 c0 xor eax, eax
|
||
005d9 eb 73 jmp SHORT $LN1@deviceCall
|
||
$LN16@deviceCall:
|
||
|
||
; 480 : }
|
||
; 481 :
|
||
; 482 : js->win32.device = device;
|
||
|
||
005db 48 8b 85 08 01
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
005e2 48 8b 8d a8 00
|
||
00 00 mov rcx, QWORD PTR device$[rbp]
|
||
005e9 48 89 88 00 01
|
||
00 00 mov QWORD PTR [rax+256], rcx
|
||
|
||
; 483 : js->win32.guid = di->guidInstance;
|
||
|
||
005f0 48 8b 85 08 01
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
005f7 48 8b 8d 40 04
|
||
00 00 mov rcx, QWORD PTR di$[rbp]
|
||
005fe 48 8d b8 0c 01
|
||
00 00 lea rdi, QWORD PTR [rax+268]
|
||
00605 48 8d 71 04 lea rsi, QWORD PTR [rcx+4]
|
||
00609 b9 10 00 00 00 mov ecx, 16
|
||
0060e f3 a4 rep movsb
|
||
|
||
; 484 : js->win32.objects = data.objects;
|
||
|
||
00610 48 8b 85 08 01
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
00617 48 8b 8d d0 00
|
||
00 00 mov rcx, QWORD PTR data$[rbp+8]
|
||
0061e 48 89 88 f0 00
|
||
00 00 mov QWORD PTR [rax+240], rcx
|
||
|
||
; 485 : js->win32.objectCount = data.objectCount;
|
||
|
||
00625 48 8b 85 08 01
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
0062c 8b 8d d8 00 00
|
||
00 mov ecx, DWORD PTR data$[rbp+16]
|
||
00632 89 88 f8 00 00
|
||
00 mov DWORD PTR [rax+248], ecx
|
||
|
||
; 486 :
|
||
; 487 : _glfwInputJoystick(js, GLFW_CONNECTED);
|
||
|
||
00638 ba 01 00 04 00 mov edx, 262145 ; 00040001H
|
||
0063d 48 8b 8d 08 01
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
00644 e8 00 00 00 00 call _glfwInputJoystick
|
||
|
||
; 488 : return DIENUM_CONTINUE;
|
||
|
||
00649 b8 01 00 00 00 mov eax, 1
|
||
$LN1@deviceCall:
|
||
|
||
; 489 : }
|
||
|
||
0064e 48 8b f8 mov rdi, rax
|
||
00651 48 8d 4d 90 lea rcx, QWORD PTR [rbp-112]
|
||
00655 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:deviceCallback$rtcFrameData
|
||
0065c e8 00 00 00 00 call _RTC_CheckStackVars
|
||
00661 48 8b c7 mov rax, rdi
|
||
00664 48 8b 8d 00 04
|
||
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
||
0066b 48 33 cd xor rcx, rbp
|
||
0066e e8 00 00 00 00 call __security_check_cookie
|
||
00673 48 8d a5 18 04
|
||
00 00 lea rsp, QWORD PTR [rbp+1048]
|
||
0067a 5f pop rdi
|
||
0067b 5e pop rsi
|
||
0067c 5b pop rbx
|
||
0067d 5d pop rbp
|
||
0067e c3 ret 0
|
||
deviceCallback ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT deviceObjectCallback
|
||
_TEXT SEGMENT
|
||
data$ = 8
|
||
object$ = 40
|
||
dipr$4 = 72
|
||
__$ArrayPad$ = 296
|
||
doi$ = 336
|
||
user$ = 344
|
||
deviceObjectCallback PROC ; COMDAT
|
||
|
||
; 278 : {
|
||
|
||
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 58 01
|
||
00 00 sub rsp, 344 ; 00000158H
|
||
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 1e 00 00 00 mov ecx, 30
|
||
00022 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
||
00027 f3 ab rep stosd
|
||
00029 48 8b 8c 24 78
|
||
01 00 00 mov rcx, QWORD PTR [rsp+376]
|
||
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 28 01
|
||
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
||
00042 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__BD81096D_win32_joystick@c
|
||
00049 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 279 : _GLFWobjenumWin32* data = user;
|
||
|
||
0004e 48 8b 85 58 01
|
||
00 00 mov rax, QWORD PTR user$[rbp]
|
||
00055 48 89 45 08 mov QWORD PTR data$[rbp], rax
|
||
|
||
; 280 : _GLFWjoyobjectWin32* object = data->objects + data->objectCount;
|
||
|
||
00059 48 8b 45 08 mov rax, QWORD PTR data$[rbp]
|
||
0005d 48 63 40 10 movsxd rax, DWORD PTR [rax+16]
|
||
00061 48 8b 4d 08 mov rcx, QWORD PTR data$[rbp]
|
||
00065 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
||
00069 48 8d 04 c1 lea rax, QWORD PTR [rcx+rax*8]
|
||
0006d 48 89 45 28 mov QWORD PTR object$[rbp], rax
|
||
|
||
; 281 :
|
||
; 282 : if (DIDFT_GETTYPE(doi->dwType) & DIDFT_AXIS)
|
||
|
||
00071 48 8b 85 50 01
|
||
00 00 mov rax, QWORD PTR doi$[rbp]
|
||
00078 8b 40 18 mov eax, DWORD PTR [rax+24]
|
||
0007b 48 25 ff 00 00
|
||
00 and rax, 255 ; 000000ffH
|
||
00081 0f b6 c0 movzx eax, al
|
||
00084 83 e0 03 and eax, 3
|
||
00087 85 c0 test eax, eax
|
||
00089 0f 84 3f 02 00
|
||
00 je $LN2@deviceObje
|
||
|
||
; 283 : {
|
||
; 284 : DIPROPRANGE dipr;
|
||
; 285 :
|
||
; 286 : if (memcmp(&doi->guidType, &GUID_Slider, sizeof(GUID)) == 0)
|
||
|
||
0008f 48 8b 85 50 01
|
||
00 00 mov rax, QWORD PTR doi$[rbp]
|
||
00096 48 83 c0 04 add rax, 4
|
||
0009a 41 b8 10 00 00
|
||
00 mov r8d, 16
|
||
000a0 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:_glfw_GUID_Slider
|
||
000a7 48 8b c8 mov rcx, rax
|
||
000aa e8 00 00 00 00 call memcmp
|
||
000af 85 c0 test eax, eax
|
||
000b1 75 1b jne SHORT $LN4@deviceObje
|
||
|
||
; 287 : object->offset = DIJOFS_SLIDER(data->sliderCount);
|
||
|
||
000b3 48 8b 45 08 mov rax, QWORD PTR data$[rbp]
|
||
000b7 48 63 40 18 movsxd rax, DWORD PTR [rax+24]
|
||
000bb 48 8d 04 85 18
|
||
00 00 00 lea rax, QWORD PTR [rax*4+24]
|
||
000c3 48 8b 4d 28 mov rcx, QWORD PTR object$[rbp]
|
||
000c7 89 01 mov DWORD PTR [rcx], eax
|
||
000c9 e9 33 01 00 00 jmp $LN5@deviceObje
|
||
$LN4@deviceObje:
|
||
|
||
; 288 : else if (memcmp(&doi->guidType, &GUID_XAxis, sizeof(GUID)) == 0)
|
||
|
||
000ce 48 8b 85 50 01
|
||
00 00 mov rax, QWORD PTR doi$[rbp]
|
||
000d5 48 83 c0 04 add rax, 4
|
||
000d9 41 b8 10 00 00
|
||
00 mov r8d, 16
|
||
000df 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:_glfw_GUID_XAxis
|
||
000e6 48 8b c8 mov rcx, rax
|
||
000e9 e8 00 00 00 00 call memcmp
|
||
000ee 85 c0 test eax, eax
|
||
000f0 75 0f jne SHORT $LN6@deviceObje
|
||
|
||
; 289 : object->offset = DIJOFS_X;
|
||
|
||
000f2 48 8b 45 28 mov rax, QWORD PTR object$[rbp]
|
||
000f6 c7 00 00 00 00
|
||
00 mov DWORD PTR [rax], 0
|
||
000fc e9 00 01 00 00 jmp $LN7@deviceObje
|
||
$LN6@deviceObje:
|
||
|
||
; 290 : else if (memcmp(&doi->guidType, &GUID_YAxis, sizeof(GUID)) == 0)
|
||
|
||
00101 48 8b 85 50 01
|
||
00 00 mov rax, QWORD PTR doi$[rbp]
|
||
00108 48 83 c0 04 add rax, 4
|
||
0010c 41 b8 10 00 00
|
||
00 mov r8d, 16
|
||
00112 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:_glfw_GUID_YAxis
|
||
00119 48 8b c8 mov rcx, rax
|
||
0011c e8 00 00 00 00 call memcmp
|
||
00121 85 c0 test eax, eax
|
||
00123 75 0f jne SHORT $LN8@deviceObje
|
||
|
||
; 291 : object->offset = DIJOFS_Y;
|
||
|
||
00125 48 8b 45 28 mov rax, QWORD PTR object$[rbp]
|
||
00129 c7 00 04 00 00
|
||
00 mov DWORD PTR [rax], 4
|
||
0012f e9 cd 00 00 00 jmp $LN9@deviceObje
|
||
$LN8@deviceObje:
|
||
|
||
; 292 : else if (memcmp(&doi->guidType, &GUID_ZAxis, sizeof(GUID)) == 0)
|
||
|
||
00134 48 8b 85 50 01
|
||
00 00 mov rax, QWORD PTR doi$[rbp]
|
||
0013b 48 83 c0 04 add rax, 4
|
||
0013f 41 b8 10 00 00
|
||
00 mov r8d, 16
|
||
00145 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:_glfw_GUID_ZAxis
|
||
0014c 48 8b c8 mov rcx, rax
|
||
0014f e8 00 00 00 00 call memcmp
|
||
00154 85 c0 test eax, eax
|
||
00156 75 0f jne SHORT $LN10@deviceObje
|
||
|
||
; 293 : object->offset = DIJOFS_Z;
|
||
|
||
00158 48 8b 45 28 mov rax, QWORD PTR object$[rbp]
|
||
0015c c7 00 08 00 00
|
||
00 mov DWORD PTR [rax], 8
|
||
00162 e9 9a 00 00 00 jmp $LN11@deviceObje
|
||
$LN10@deviceObje:
|
||
|
||
; 294 : else if (memcmp(&doi->guidType, &GUID_RxAxis, sizeof(GUID)) == 0)
|
||
|
||
00167 48 8b 85 50 01
|
||
00 00 mov rax, QWORD PTR doi$[rbp]
|
||
0016e 48 83 c0 04 add rax, 4
|
||
00172 41 b8 10 00 00
|
||
00 mov r8d, 16
|
||
00178 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:_glfw_GUID_RxAxis
|
||
0017f 48 8b c8 mov rcx, rax
|
||
00182 e8 00 00 00 00 call memcmp
|
||
00187 85 c0 test eax, eax
|
||
00189 75 0c jne SHORT $LN12@deviceObje
|
||
|
||
; 295 : object->offset = DIJOFS_RX;
|
||
|
||
0018b 48 8b 45 28 mov rax, QWORD PTR object$[rbp]
|
||
0018f c7 00 0c 00 00
|
||
00 mov DWORD PTR [rax], 12
|
||
00195 eb 6a jmp SHORT $LN13@deviceObje
|
||
$LN12@deviceObje:
|
||
|
||
; 296 : else if (memcmp(&doi->guidType, &GUID_RyAxis, sizeof(GUID)) == 0)
|
||
|
||
00197 48 8b 85 50 01
|
||
00 00 mov rax, QWORD PTR doi$[rbp]
|
||
0019e 48 83 c0 04 add rax, 4
|
||
001a2 41 b8 10 00 00
|
||
00 mov r8d, 16
|
||
001a8 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:_glfw_GUID_RyAxis
|
||
001af 48 8b c8 mov rcx, rax
|
||
001b2 e8 00 00 00 00 call memcmp
|
||
001b7 85 c0 test eax, eax
|
||
001b9 75 0c jne SHORT $LN14@deviceObje
|
||
|
||
; 297 : object->offset = DIJOFS_RY;
|
||
|
||
001bb 48 8b 45 28 mov rax, QWORD PTR object$[rbp]
|
||
001bf c7 00 10 00 00
|
||
00 mov DWORD PTR [rax], 16
|
||
001c5 eb 3a jmp SHORT $LN15@deviceObje
|
||
$LN14@deviceObje:
|
||
|
||
; 298 : else if (memcmp(&doi->guidType, &GUID_RzAxis, sizeof(GUID)) == 0)
|
||
|
||
001c7 48 8b 85 50 01
|
||
00 00 mov rax, QWORD PTR doi$[rbp]
|
||
001ce 48 83 c0 04 add rax, 4
|
||
001d2 41 b8 10 00 00
|
||
00 mov r8d, 16
|
||
001d8 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:_glfw_GUID_RzAxis
|
||
001df 48 8b c8 mov rcx, rax
|
||
001e2 e8 00 00 00 00 call memcmp
|
||
001e7 85 c0 test eax, eax
|
||
001e9 75 0c jne SHORT $LN16@deviceObje
|
||
|
||
; 299 : object->offset = DIJOFS_RZ;
|
||
|
||
001eb 48 8b 45 28 mov rax, QWORD PTR object$[rbp]
|
||
001ef c7 00 14 00 00
|
||
00 mov DWORD PTR [rax], 20
|
||
001f5 eb 0a jmp SHORT $LN17@deviceObje
|
||
$LN16@deviceObje:
|
||
|
||
; 300 : else
|
||
; 301 : return DIENUM_CONTINUE;
|
||
|
||
001f7 b8 01 00 00 00 mov eax, 1
|
||
001fc e9 74 01 00 00 jmp $LN1@deviceObje
|
||
$LN17@deviceObje:
|
||
$LN15@deviceObje:
|
||
$LN13@deviceObje:
|
||
$LN11@deviceObje:
|
||
$LN9@deviceObje:
|
||
$LN7@deviceObje:
|
||
$LN5@deviceObje:
|
||
|
||
; 302 :
|
||
; 303 : ZeroMemory(&dipr, sizeof(dipr));
|
||
|
||
00201 41 b8 18 00 00
|
||
00 mov r8d, 24
|
||
00207 33 d2 xor edx, edx
|
||
00209 48 8d 4d 48 lea rcx, QWORD PTR dipr$4[rbp]
|
||
0020d e8 00 00 00 00 call memset
|
||
|
||
; 304 : dipr.diph.dwSize = sizeof(dipr);
|
||
|
||
00212 c7 45 48 18 00
|
||
00 00 mov DWORD PTR dipr$4[rbp], 24
|
||
|
||
; 305 : dipr.diph.dwHeaderSize = sizeof(dipr.diph);
|
||
|
||
00219 c7 45 4c 10 00
|
||
00 00 mov DWORD PTR dipr$4[rbp+4], 16
|
||
|
||
; 306 : dipr.diph.dwObj = doi->dwType;
|
||
|
||
00220 48 8b 85 50 01
|
||
00 00 mov rax, QWORD PTR doi$[rbp]
|
||
00227 8b 40 18 mov eax, DWORD PTR [rax+24]
|
||
0022a 89 45 50 mov DWORD PTR dipr$4[rbp+8], eax
|
||
|
||
; 307 : dipr.diph.dwHow = DIPH_BYID;
|
||
|
||
0022d c7 45 54 02 00
|
||
00 00 mov DWORD PTR dipr$4[rbp+12], 2
|
||
|
||
; 308 : dipr.lMin = -32768;
|
||
|
||
00234 c7 45 58 00 80
|
||
ff ff mov DWORD PTR dipr$4[rbp+16], -32768 ; ffffffffffff8000H
|
||
|
||
; 309 : dipr.lMax = 32767;
|
||
|
||
0023b c7 45 5c ff 7f
|
||
00 00 mov DWORD PTR dipr$4[rbp+20], 32767 ; 00007fffH
|
||
|
||
; 310 :
|
||
; 311 : if (FAILED(IDirectInputDevice8_SetProperty(data->device,
|
||
|
||
00242 48 8b 45 08 mov rax, QWORD PTR data$[rbp]
|
||
00246 48 8b 00 mov rax, QWORD PTR [rax]
|
||
00249 48 8b 00 mov rax, QWORD PTR [rax]
|
||
0024c 4c 8d 45 48 lea r8, QWORD PTR dipr$4[rbp]
|
||
00250 ba 04 00 00 00 mov edx, 4
|
||
00255 48 8b 4d 08 mov rcx, QWORD PTR data$[rbp]
|
||
00259 48 8b 09 mov rcx, QWORD PTR [rcx]
|
||
0025c ff 50 30 call QWORD PTR [rax+48]
|
||
0025f 85 c0 test eax, eax
|
||
00261 7d 0a jge SHORT $LN18@deviceObje
|
||
|
||
; 312 : DIPROP_RANGE,
|
||
; 313 : &dipr.diph)))
|
||
; 314 : {
|
||
; 315 : return DIENUM_CONTINUE;
|
||
|
||
00263 b8 01 00 00 00 mov eax, 1
|
||
00268 e9 08 01 00 00 jmp $LN1@deviceObje
|
||
$LN18@deviceObje:
|
||
|
||
; 316 : }
|
||
; 317 :
|
||
; 318 : if (memcmp(&doi->guidType, &GUID_Slider, sizeof(GUID)) == 0)
|
||
|
||
0026d 48 8b 85 50 01
|
||
00 00 mov rax, QWORD PTR doi$[rbp]
|
||
00274 48 83 c0 04 add rax, 4
|
||
00278 41 b8 10 00 00
|
||
00 mov r8d, 16
|
||
0027e 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:_glfw_GUID_Slider
|
||
00285 48 8b c8 mov rcx, rax
|
||
00288 e8 00 00 00 00 call memcmp
|
||
0028d 85 c0 test eax, eax
|
||
0028f 75 1d jne SHORT $LN19@deviceObje
|
||
|
||
; 319 : {
|
||
; 320 : object->type = _GLFW_TYPE_SLIDER;
|
||
|
||
00291 48 8b 45 28 mov rax, QWORD PTR object$[rbp]
|
||
00295 c7 40 04 01 00
|
||
00 00 mov DWORD PTR [rax+4], 1
|
||
|
||
; 321 : data->sliderCount++;
|
||
|
||
0029c 48 8b 45 08 mov rax, QWORD PTR data$[rbp]
|
||
002a0 8b 40 18 mov eax, DWORD PTR [rax+24]
|
||
002a3 ff c0 inc eax
|
||
002a5 48 8b 4d 08 mov rcx, QWORD PTR data$[rbp]
|
||
002a9 89 41 18 mov DWORD PTR [rcx+24], eax
|
||
|
||
; 322 : }
|
||
|
||
002ac eb 1b jmp SHORT $LN20@deviceObje
|
||
$LN19@deviceObje:
|
||
|
||
; 323 : else
|
||
; 324 : {
|
||
; 325 : object->type = _GLFW_TYPE_AXIS;
|
||
|
||
002ae 48 8b 45 28 mov rax, QWORD PTR object$[rbp]
|
||
002b2 c7 40 04 00 00
|
||
00 00 mov DWORD PTR [rax+4], 0
|
||
|
||
; 326 : data->axisCount++;
|
||
|
||
002b9 48 8b 45 08 mov rax, QWORD PTR data$[rbp]
|
||
002bd 8b 40 14 mov eax, DWORD PTR [rax+20]
|
||
002c0 ff c0 inc eax
|
||
002c2 48 8b 4d 08 mov rcx, QWORD PTR data$[rbp]
|
||
002c6 89 41 14 mov DWORD PTR [rcx+20], eax
|
||
$LN20@deviceObje:
|
||
|
||
; 327 : }
|
||
; 328 : }
|
||
|
||
002c9 e9 92 00 00 00 jmp $LN3@deviceObje
|
||
$LN2@deviceObje:
|
||
|
||
; 329 : else if (DIDFT_GETTYPE(doi->dwType) & DIDFT_BUTTON)
|
||
|
||
002ce 48 8b 85 50 01
|
||
00 00 mov rax, QWORD PTR doi$[rbp]
|
||
002d5 8b 40 18 mov eax, DWORD PTR [rax+24]
|
||
002d8 48 25 ff 00 00
|
||
00 and rax, 255 ; 000000ffH
|
||
002de 0f b6 c0 movzx eax, al
|
||
002e1 83 e0 0c and eax, 12
|
||
002e4 85 c0 test eax, eax
|
||
002e6 74 2d je SHORT $LN21@deviceObje
|
||
|
||
; 330 : {
|
||
; 331 : object->offset = DIJOFS_BUTTON(data->buttonCount);
|
||
|
||
002e8 48 8b 45 08 mov rax, QWORD PTR data$[rbp]
|
||
002ec 8b 40 1c mov eax, DWORD PTR [rax+28]
|
||
002ef 83 c0 30 add eax, 48 ; 00000030H
|
||
002f2 48 8b 4d 28 mov rcx, QWORD PTR object$[rbp]
|
||
002f6 89 01 mov DWORD PTR [rcx], eax
|
||
|
||
; 332 : object->type = _GLFW_TYPE_BUTTON;
|
||
|
||
002f8 48 8b 45 28 mov rax, QWORD PTR object$[rbp]
|
||
002fc c7 40 04 02 00
|
||
00 00 mov DWORD PTR [rax+4], 2
|
||
|
||
; 333 : data->buttonCount++;
|
||
|
||
00303 48 8b 45 08 mov rax, QWORD PTR data$[rbp]
|
||
00307 8b 40 1c mov eax, DWORD PTR [rax+28]
|
||
0030a ff c0 inc eax
|
||
0030c 48 8b 4d 08 mov rcx, QWORD PTR data$[rbp]
|
||
00310 89 41 1c mov DWORD PTR [rcx+28], eax
|
||
|
||
; 334 : }
|
||
|
||
00313 eb 4b jmp SHORT $LN22@deviceObje
|
||
$LN21@deviceObje:
|
||
|
||
; 335 : else if (DIDFT_GETTYPE(doi->dwType) & DIDFT_POV)
|
||
|
||
00315 48 8b 85 50 01
|
||
00 00 mov rax, QWORD PTR doi$[rbp]
|
||
0031c 8b 40 18 mov eax, DWORD PTR [rax+24]
|
||
0031f 48 25 ff 00 00
|
||
00 and rax, 255 ; 000000ffH
|
||
00325 0f b6 c0 movzx eax, al
|
||
00328 83 e0 10 and eax, 16
|
||
0032b 85 c0 test eax, eax
|
||
0032d 74 31 je SHORT $LN23@deviceObje
|
||
|
||
; 336 : {
|
||
; 337 : object->offset = DIJOFS_POV(data->povCount);
|
||
|
||
0032f 48 8b 45 08 mov rax, QWORD PTR data$[rbp]
|
||
00333 48 63 40 20 movsxd rax, DWORD PTR [rax+32]
|
||
00337 48 8d 04 85 20
|
||
00 00 00 lea rax, QWORD PTR [rax*4+32]
|
||
0033f 48 8b 4d 28 mov rcx, QWORD PTR object$[rbp]
|
||
00343 89 01 mov DWORD PTR [rcx], eax
|
||
|
||
; 338 : object->type = _GLFW_TYPE_POV;
|
||
|
||
00345 48 8b 45 28 mov rax, QWORD PTR object$[rbp]
|
||
00349 c7 40 04 03 00
|
||
00 00 mov DWORD PTR [rax+4], 3
|
||
|
||
; 339 : data->povCount++;
|
||
|
||
00350 48 8b 45 08 mov rax, QWORD PTR data$[rbp]
|
||
00354 8b 40 20 mov eax, DWORD PTR [rax+32]
|
||
00357 ff c0 inc eax
|
||
00359 48 8b 4d 08 mov rcx, QWORD PTR data$[rbp]
|
||
0035d 89 41 20 mov DWORD PTR [rcx+32], eax
|
||
$LN23@deviceObje:
|
||
$LN22@deviceObje:
|
||
$LN3@deviceObje:
|
||
|
||
; 340 : }
|
||
; 341 :
|
||
; 342 : data->objectCount++;
|
||
|
||
00360 48 8b 45 08 mov rax, QWORD PTR data$[rbp]
|
||
00364 8b 40 10 mov eax, DWORD PTR [rax+16]
|
||
00367 ff c0 inc eax
|
||
00369 48 8b 4d 08 mov rcx, QWORD PTR data$[rbp]
|
||
0036d 89 41 10 mov DWORD PTR [rcx+16], eax
|
||
|
||
; 343 : return DIENUM_CONTINUE;
|
||
|
||
00370 b8 01 00 00 00 mov eax, 1
|
||
$LN1@deviceObje:
|
||
|
||
; 344 : }
|
||
|
||
00375 48 8b f8 mov rdi, rax
|
||
00378 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
||
0037c 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:deviceObjectCallback$rtcFrameData
|
||
00383 e8 00 00 00 00 call _RTC_CheckStackVars
|
||
00388 48 8b c7 mov rax, rdi
|
||
0038b 48 8b 8d 28 01
|
||
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
||
00392 48 33 cd xor rcx, rbp
|
||
00395 e8 00 00 00 00 call __security_check_cookie
|
||
0039a 48 8d a5 38 01
|
||
00 00 lea rsp, QWORD PTR [rbp+312]
|
||
003a1 5f pop rdi
|
||
003a2 5d pop rbp
|
||
003a3 c3 ret 0
|
||
deviceObjectCallback ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT closeJoystick
|
||
_TEXT SEGMENT
|
||
js$ = 224
|
||
closeJoystick PROC ; COMDAT
|
||
|
||
; 260 : {
|
||
|
||
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:__BD81096D_win32_joystick@c
|
||
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 261 : _glfwInputJoystick(js, GLFW_DISCONNECTED);
|
||
|
||
0001f ba 02 00 04 00 mov edx, 262146 ; 00040002H
|
||
00024 48 8b 8d e0 00
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
0002b e8 00 00 00 00 call _glfwInputJoystick
|
||
|
||
; 262 :
|
||
; 263 : if (js->win32.device)
|
||
|
||
00030 48 8b 85 e0 00
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
00037 48 83 b8 00 01
|
||
00 00 00 cmp QWORD PTR [rax+256], 0
|
||
0003f 74 44 je SHORT $LN2@closeJoyst
|
||
|
||
; 264 : {
|
||
; 265 : IDirectInputDevice8_Unacquire(js->win32.device);
|
||
|
||
00041 48 8b 85 e0 00
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
00048 48 8b 80 00 01
|
||
00 00 mov rax, QWORD PTR [rax+256]
|
||
0004f 48 8b 00 mov rax, QWORD PTR [rax]
|
||
00052 48 8b 8d e0 00
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
00059 48 8b 89 00 01
|
||
00 00 mov rcx, QWORD PTR [rcx+256]
|
||
00060 ff 50 40 call QWORD PTR [rax+64]
|
||
|
||
; 266 : IDirectInputDevice8_Release(js->win32.device);
|
||
|
||
00063 48 8b 85 e0 00
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
0006a 48 8b 80 00 01
|
||
00 00 mov rax, QWORD PTR [rax+256]
|
||
00071 48 8b 00 mov rax, QWORD PTR [rax]
|
||
00074 48 8b 8d e0 00
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
0007b 48 8b 89 00 01
|
||
00 00 mov rcx, QWORD PTR [rcx+256]
|
||
00082 ff 50 10 call QWORD PTR [rax+16]
|
||
$LN2@closeJoyst:
|
||
|
||
; 267 : }
|
||
; 268 :
|
||
; 269 : _glfw_free(js->win32.objects);
|
||
|
||
00085 48 8b 85 e0 00
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
0008c 48 8b 88 f0 00
|
||
00 00 mov rcx, QWORD PTR [rax+240]
|
||
00093 e8 00 00 00 00 call _glfw_free
|
||
|
||
; 270 : _glfwFreeJoystick(js);
|
||
|
||
00098 48 8b 8d e0 00
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
0009f e8 00 00 00 00 call _glfwFreeJoystick
|
||
|
||
; 271 : }
|
||
|
||
000a4 48 8d a5 c8 00
|
||
00 00 lea rsp, QWORD PTR [rbp+200]
|
||
000ab 5f pop rdi
|
||
000ac 5d pop rbp
|
||
000ad c3 ret 0
|
||
closeJoystick ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT supportsXInput
|
||
_TEXT SEGMENT
|
||
i$ = 4
|
||
count$ = 36
|
||
ridl$ = 72
|
||
result$ = 100
|
||
rdi$7 = 136
|
||
name$8 = 208
|
||
size$9 = 484
|
||
$T10 = 904
|
||
__$ArrayPad$ = 920
|
||
guid$ = 960
|
||
supportsXInput PROC ; COMDAT
|
||
|
||
; 196 : {
|
||
|
||
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||
00005 55 push rbp
|
||
00006 57 push rdi
|
||
00007 48 81 ec c8 03
|
||
00 00 sub rsp, 968 ; 000003c8H
|
||
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||
00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
|
||
00018 b9 8a 00 00 00 mov ecx, 138 ; 0000008aH
|
||
0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
||
00022 f3 ab rep stosd
|
||
00024 48 8b 8c 24 e8
|
||
03 00 00 mov rcx, QWORD PTR [rsp+1000]
|
||
0002c 48 8b 05 00 00
|
||
00 00 mov rax, QWORD PTR __security_cookie
|
||
00033 48 33 c5 xor rax, rbp
|
||
00036 48 89 85 98 03
|
||
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
||
0003d 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__BD81096D_win32_joystick@c
|
||
00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 197 : UINT i, count = 0;
|
||
|
||
00049 c7 45 24 00 00
|
||
00 00 mov DWORD PTR count$[rbp], 0
|
||
|
||
; 198 : RAWINPUTDEVICELIST* ridl;
|
||
; 199 : GLFWbool result = GLFW_FALSE;
|
||
|
||
00050 c7 45 64 00 00
|
||
00 00 mov DWORD PTR result$[rbp], 0
|
||
|
||
; 200 :
|
||
; 201 : if (GetRawInputDeviceList(NULL, &count, sizeof(RAWINPUTDEVICELIST)) != 0)
|
||
|
||
00057 41 b8 10 00 00
|
||
00 mov r8d, 16
|
||
0005d 48 8d 55 24 lea rdx, QWORD PTR count$[rbp]
|
||
00061 33 c9 xor ecx, ecx
|
||
00063 ff 15 00 00 00
|
||
00 call QWORD PTR __imp_GetRawInputDeviceList
|
||
00069 85 c0 test eax, eax
|
||
0006b 74 07 je SHORT $LN5@supportsXI
|
||
|
||
; 202 : return GLFW_FALSE;
|
||
|
||
0006d 33 c0 xor eax, eax
|
||
0006f e9 ad 01 00 00 jmp $LN1@supportsXI
|
||
$LN5@supportsXI:
|
||
|
||
; 203 :
|
||
; 204 : ridl = _glfw_calloc(count, sizeof(RAWINPUTDEVICELIST));
|
||
|
||
00074 8b 45 24 mov eax, DWORD PTR count$[rbp]
|
||
00077 ba 10 00 00 00 mov edx, 16
|
||
0007c 8b c8 mov ecx, eax
|
||
0007e e8 00 00 00 00 call _glfw_calloc
|
||
00083 48 89 45 48 mov QWORD PTR ridl$[rbp], rax
|
||
|
||
; 205 :
|
||
; 206 : if (GetRawInputDeviceList(ridl, &count, sizeof(RAWINPUTDEVICELIST)) == (UINT) -1)
|
||
|
||
00087 41 b8 10 00 00
|
||
00 mov r8d, 16
|
||
0008d 48 8d 55 24 lea rdx, QWORD PTR count$[rbp]
|
||
00091 48 8b 4d 48 mov rcx, QWORD PTR ridl$[rbp]
|
||
00095 ff 15 00 00 00
|
||
00 call QWORD PTR __imp_GetRawInputDeviceList
|
||
0009b 83 f8 ff cmp eax, -1 ; ffffffffH
|
||
0009e 75 10 jne SHORT $LN6@supportsXI
|
||
|
||
; 207 : {
|
||
; 208 : _glfw_free(ridl);
|
||
|
||
000a0 48 8b 4d 48 mov rcx, QWORD PTR ridl$[rbp]
|
||
000a4 e8 00 00 00 00 call _glfw_free
|
||
|
||
; 209 : return GLFW_FALSE;
|
||
|
||
000a9 33 c0 xor eax, eax
|
||
000ab e9 71 01 00 00 jmp $LN1@supportsXI
|
||
$LN6@supportsXI:
|
||
|
||
; 210 : }
|
||
; 211 :
|
||
; 212 : for (i = 0; i < count; i++)
|
||
|
||
000b0 c7 45 04 00 00
|
||
00 00 mov DWORD PTR i$[rbp], 0
|
||
000b7 eb 08 jmp SHORT $LN4@supportsXI
|
||
$LN2@supportsXI:
|
||
000b9 8b 45 04 mov eax, DWORD PTR i$[rbp]
|
||
000bc ff c0 inc eax
|
||
000be 89 45 04 mov DWORD PTR i$[rbp], eax
|
||
$LN4@supportsXI:
|
||
000c1 8b 45 24 mov eax, DWORD PTR count$[rbp]
|
||
000c4 39 45 04 cmp DWORD PTR i$[rbp], eax
|
||
000c7 0f 83 48 01 00
|
||
00 jae $LN3@supportsXI
|
||
|
||
; 213 : {
|
||
; 214 : RID_DEVICE_INFO rdi;
|
||
; 215 : char name[256];
|
||
; 216 : UINT size;
|
||
; 217 :
|
||
; 218 : if (ridl[i].dwType != RIM_TYPEHID)
|
||
|
||
000cd 8b 45 04 mov eax, DWORD PTR i$[rbp]
|
||
000d0 48 6b c0 10 imul rax, rax, 16
|
||
000d4 48 8b 4d 48 mov rcx, QWORD PTR ridl$[rbp]
|
||
000d8 83 7c 01 08 02 cmp DWORD PTR [rcx+rax+8], 2
|
||
000dd 74 02 je SHORT $LN7@supportsXI
|
||
|
||
; 219 : continue;
|
||
|
||
000df eb d8 jmp SHORT $LN2@supportsXI
|
||
$LN7@supportsXI:
|
||
|
||
; 220 :
|
||
; 221 : ZeroMemory(&rdi, sizeof(rdi));
|
||
|
||
000e1 41 b8 20 00 00
|
||
00 mov r8d, 32 ; 00000020H
|
||
000e7 33 d2 xor edx, edx
|
||
000e9 48 8d 8d 88 00
|
||
00 00 lea rcx, QWORD PTR rdi$7[rbp]
|
||
000f0 e8 00 00 00 00 call memset
|
||
|
||
; 222 : rdi.cbSize = sizeof(rdi);
|
||
|
||
000f5 c7 85 88 00 00
|
||
00 20 00 00 00 mov DWORD PTR rdi$7[rbp], 32 ; 00000020H
|
||
|
||
; 223 : size = sizeof(rdi);
|
||
|
||
000ff c7 85 e4 01 00
|
||
00 20 00 00 00 mov DWORD PTR size$9[rbp], 32 ; 00000020H
|
||
|
||
; 224 :
|
||
; 225 : if ((INT) GetRawInputDeviceInfoA(ridl[i].hDevice,
|
||
; 226 : RIDI_DEVICEINFO,
|
||
; 227 : &rdi, &size) == -1)
|
||
|
||
00109 8b 45 04 mov eax, DWORD PTR i$[rbp]
|
||
0010c 48 6b c0 10 imul rax, rax, 16
|
||
00110 4c 8d 8d e4 01
|
||
00 00 lea r9, QWORD PTR size$9[rbp]
|
||
00117 4c 8d 85 88 00
|
||
00 00 lea r8, QWORD PTR rdi$7[rbp]
|
||
0011e ba 0b 00 00 20 mov edx, 536870923 ; 2000000bH
|
||
00123 48 8b 4d 48 mov rcx, QWORD PTR ridl$[rbp]
|
||
00127 48 8b 0c 01 mov rcx, QWORD PTR [rcx+rax]
|
||
0012b ff 15 00 00 00
|
||
00 call QWORD PTR __imp_GetRawInputDeviceInfoA
|
||
00131 83 f8 ff cmp eax, -1
|
||
00134 75 02 jne SHORT $LN8@supportsXI
|
||
|
||
; 228 : {
|
||
; 229 : continue;
|
||
|
||
00136 eb 81 jmp SHORT $LN2@supportsXI
|
||
$LN8@supportsXI:
|
||
|
||
; 230 : }
|
||
; 231 :
|
||
; 232 : if (MAKELONG(rdi.hid.dwVendorId, rdi.hid.dwProductId) != (LONG) guid->Data1)
|
||
|
||
00138 8b 85 90 00 00
|
||
00 mov eax, DWORD PTR rdi$7[rbp+8]
|
||
0013e 48 25 ff ff 00
|
||
00 and rax, 65535 ; 0000ffffH
|
||
00144 0f b7 c0 movzx eax, ax
|
||
00147 8b 8d 94 00 00
|
||
00 mov ecx, DWORD PTR rdi$7[rbp+12]
|
||
0014d 48 81 e1 ff ff
|
||
00 00 and rcx, 65535 ; 0000ffffH
|
||
00154 0f b7 c9 movzx ecx, cx
|
||
00157 c1 e1 10 shl ecx, 16
|
||
0015a 0b c1 or eax, ecx
|
||
0015c 48 8b 8d c0 03
|
||
00 00 mov rcx, QWORD PTR guid$[rbp]
|
||
00163 3b 01 cmp eax, DWORD PTR [rcx]
|
||
00165 74 05 je SHORT $LN9@supportsXI
|
||
|
||
; 233 : continue;
|
||
|
||
00167 e9 4d ff ff ff jmp $LN2@supportsXI
|
||
$LN9@supportsXI:
|
||
|
||
; 234 :
|
||
; 235 : memset(name, 0, sizeof(name));
|
||
|
||
0016c 41 b8 00 01 00
|
||
00 mov r8d, 256 ; 00000100H
|
||
00172 33 d2 xor edx, edx
|
||
00174 48 8d 8d d0 00
|
||
00 00 lea rcx, QWORD PTR name$8[rbp]
|
||
0017b e8 00 00 00 00 call memset
|
||
|
||
; 236 : size = sizeof(name);
|
||
|
||
00180 c7 85 e4 01 00
|
||
00 00 01 00 00 mov DWORD PTR size$9[rbp], 256 ; 00000100H
|
||
|
||
; 237 :
|
||
; 238 : if ((INT) GetRawInputDeviceInfoA(ridl[i].hDevice,
|
||
; 239 : RIDI_DEVICENAME,
|
||
; 240 : name, &size) == -1)
|
||
|
||
0018a 8b 45 04 mov eax, DWORD PTR i$[rbp]
|
||
0018d 48 6b c0 10 imul rax, rax, 16
|
||
00191 4c 8d 8d e4 01
|
||
00 00 lea r9, QWORD PTR size$9[rbp]
|
||
00198 4c 8d 85 d0 00
|
||
00 00 lea r8, QWORD PTR name$8[rbp]
|
||
0019f ba 07 00 00 20 mov edx, 536870919 ; 20000007H
|
||
001a4 48 8b 4d 48 mov rcx, QWORD PTR ridl$[rbp]
|
||
001a8 48 8b 0c 01 mov rcx, QWORD PTR [rcx+rax]
|
||
001ac ff 15 00 00 00
|
||
00 call QWORD PTR __imp_GetRawInputDeviceInfoA
|
||
001b2 83 f8 ff cmp eax, -1
|
||
001b5 75 02 jne SHORT $LN10@supportsXI
|
||
|
||
; 241 : {
|
||
; 242 : break;
|
||
|
||
001b7 eb 5c jmp SHORT $LN3@supportsXI
|
||
$LN10@supportsXI:
|
||
|
||
; 243 : }
|
||
; 244 :
|
||
; 245 : name[sizeof(name) - 1] = '\0';
|
||
|
||
001b9 b8 01 00 00 00 mov eax, 1
|
||
001be 48 69 c0 ff 00
|
||
00 00 imul rax, rax, 255 ; 000000ffH
|
||
001c5 48 89 85 88 03
|
||
00 00 mov QWORD PTR $T10[rbp], rax
|
||
001cc 48 81 bd 88 03
|
||
00 00 00 01 00
|
||
00 cmp QWORD PTR $T10[rbp], 256 ; 00000100H
|
||
001d7 73 02 jae SHORT $LN13@supportsXI
|
||
001d9 eb 05 jmp SHORT $LN14@supportsXI
|
||
$LN13@supportsXI:
|
||
001db e8 00 00 00 00 call __report_rangecheckfailure
|
||
$LN14@supportsXI:
|
||
001e0 48 8b 85 88 03
|
||
00 00 mov rax, QWORD PTR $T10[rbp]
|
||
001e7 c6 84 05 d0 00
|
||
00 00 00 mov BYTE PTR name$8[rbp+rax], 0
|
||
|
||
; 246 : if (strstr(name, "IG_"))
|
||
|
||
001ef 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_03HAFBONIK@IG_@
|
||
001f6 48 8d 8d d0 00
|
||
00 00 lea rcx, QWORD PTR name$8[rbp]
|
||
001fd e8 00 00 00 00 call strstr
|
||
00202 48 85 c0 test rax, rax
|
||
00205 74 09 je SHORT $LN11@supportsXI
|
||
|
||
; 247 : {
|
||
; 248 : result = GLFW_TRUE;
|
||
|
||
00207 c7 45 64 01 00
|
||
00 00 mov DWORD PTR result$[rbp], 1
|
||
|
||
; 249 : break;
|
||
|
||
0020e eb 05 jmp SHORT $LN3@supportsXI
|
||
$LN11@supportsXI:
|
||
|
||
; 250 : }
|
||
; 251 : }
|
||
|
||
00210 e9 a4 fe ff ff jmp $LN2@supportsXI
|
||
$LN3@supportsXI:
|
||
|
||
; 252 :
|
||
; 253 : _glfw_free(ridl);
|
||
|
||
00215 48 8b 4d 48 mov rcx, QWORD PTR ridl$[rbp]
|
||
00219 e8 00 00 00 00 call _glfw_free
|
||
|
||
; 254 : return result;
|
||
|
||
0021e 8b 45 64 mov eax, DWORD PTR result$[rbp]
|
||
$LN1@supportsXI:
|
||
$LN12@supportsXI:
|
||
|
||
; 255 : }
|
||
|
||
00221 48 8b f8 mov rdi, rax
|
||
00224 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
||
00228 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:supportsXInput$rtcFrameData
|
||
0022f e8 00 00 00 00 call _RTC_CheckStackVars
|
||
00234 48 8b c7 mov rax, rdi
|
||
00237 48 8b 8d 98 03
|
||
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
||
0023e 48 33 cd xor rcx, rbp
|
||
00241 e8 00 00 00 00 call __security_check_cookie
|
||
00246 48 8d a5 a8 03
|
||
00 00 lea rsp, QWORD PTR [rbp+936]
|
||
0024d 5f pop rdi
|
||
0024e 5d pop rbp
|
||
0024f c3 ret 0
|
||
supportsXInput ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT compareJoystickObjects
|
||
_TEXT SEGMENT
|
||
fo$ = 8
|
||
so$ = 40
|
||
first$ = 288
|
||
second$ = 296
|
||
compareJoystickObjects PROC ; COMDAT
|
||
|
||
; 182 : {
|
||
|
||
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 28 01
|
||
00 00 sub rsp, 296 ; 00000128H
|
||
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||
00018 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__BD81096D_win32_joystick@c
|
||
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 183 : const _GLFWjoyobjectWin32* fo = first;
|
||
|
||
00024 48 8b 85 20 01
|
||
00 00 mov rax, QWORD PTR first$[rbp]
|
||
0002b 48 89 45 08 mov QWORD PTR fo$[rbp], rax
|
||
|
||
; 184 : const _GLFWjoyobjectWin32* so = second;
|
||
|
||
0002f 48 8b 85 28 01
|
||
00 00 mov rax, QWORD PTR second$[rbp]
|
||
00036 48 89 45 28 mov QWORD PTR so$[rbp], rax
|
||
|
||
; 185 :
|
||
; 186 : if (fo->type != so->type)
|
||
|
||
0003a 48 8b 45 08 mov rax, QWORD PTR fo$[rbp]
|
||
0003e 48 8b 4d 28 mov rcx, QWORD PTR so$[rbp]
|
||
00042 8b 49 04 mov ecx, DWORD PTR [rcx+4]
|
||
00045 39 48 04 cmp DWORD PTR [rax+4], ecx
|
||
00048 74 12 je SHORT $LN2@compareJoy
|
||
|
||
; 187 : return fo->type - so->type;
|
||
|
||
0004a 48 8b 45 08 mov rax, QWORD PTR fo$[rbp]
|
||
0004e 48 8b 4d 28 mov rcx, QWORD PTR so$[rbp]
|
||
00052 8b 49 04 mov ecx, DWORD PTR [rcx+4]
|
||
00055 8b 40 04 mov eax, DWORD PTR [rax+4]
|
||
00058 2b c1 sub eax, ecx
|
||
0005a eb 0e jmp SHORT $LN1@compareJoy
|
||
$LN2@compareJoy:
|
||
|
||
; 188 :
|
||
; 189 : return fo->offset - so->offset;
|
||
|
||
0005c 48 8b 45 08 mov rax, QWORD PTR fo$[rbp]
|
||
00060 48 8b 4d 28 mov rcx, QWORD PTR so$[rbp]
|
||
00064 8b 09 mov ecx, DWORD PTR [rcx]
|
||
00066 8b 00 mov eax, DWORD PTR [rax]
|
||
00068 2b c1 sub eax, ecx
|
||
$LN1@compareJoy:
|
||
|
||
; 190 : }
|
||
|
||
0006a 48 8d a5 08 01
|
||
00 00 lea rsp, QWORD PTR [rbp+264]
|
||
00071 5f pop rdi
|
||
00072 5d pop rbp
|
||
00073 c3 ret 0
|
||
compareJoystickObjects ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT getDeviceDescription
|
||
_TEXT SEGMENT
|
||
tv66 = 192
|
||
xic$ = 240
|
||
getDeviceDescription PROC ; COMDAT
|
||
|
||
; 152 : {
|
||
|
||
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||
00005 55 push rbp
|
||
00006 57 push rdi
|
||
00007 48 81 ec f8 00
|
||
00 00 sub rsp, 248 ; 000000f8H
|
||
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||
00013 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__BD81096D_win32_joystick@c
|
||
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 153 : switch (xic->SubType)
|
||
|
||
0001f 48 8b 85 f0 00
|
||
00 00 mov rax, QWORD PTR xic$[rbp]
|
||
00026 0f b6 40 01 movzx eax, BYTE PTR [rax+1]
|
||
0002a 89 85 c0 00 00
|
||
00 mov DWORD PTR tv66[rbp], eax
|
||
00030 8b 85 c0 00 00
|
||
00 mov eax, DWORD PTR tv66[rbp]
|
||
00036 ff c8 dec eax
|
||
00038 89 85 c0 00 00
|
||
00 mov DWORD PTR tv66[rbp], eax
|
||
0003e 83 bd c0 00 00
|
||
00 07 cmp DWORD PTR tv66[rbp], 7
|
||
00045 77 76 ja SHORT $LN2@getDeviceD
|
||
00047 48 63 85 c0 00
|
||
00 00 movsxd rax, DWORD PTR tv66[rbp]
|
||
0004e 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__ImageBase
|
||
00055 8b 84 81 00 00
|
||
00 00 mov eax, DWORD PTR $LN14@getDeviceD[rcx+rax*4]
|
||
0005c 48 03 c1 add rax, rcx
|
||
0005f ff e0 jmp rax
|
||
$LN4@getDeviceD:
|
||
|
||
; 154 : {
|
||
; 155 : case XINPUT_DEVSUBTYPE_WHEEL:
|
||
; 156 : return "XInput Wheel";
|
||
|
||
00061 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0N@JENFOGFI@XInput?5Wheel@
|
||
00068 eb 5a jmp SHORT $LN1@getDeviceD
|
||
$LN5@getDeviceD:
|
||
|
||
; 157 : case XINPUT_DEVSUBTYPE_ARCADE_STICK:
|
||
; 158 : return "XInput Arcade Stick";
|
||
|
||
0006a 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0BE@FABDLJKH@XInput?5Arcade?5Stick@
|
||
00071 eb 51 jmp SHORT $LN1@getDeviceD
|
||
$LN6@getDeviceD:
|
||
|
||
; 159 : case XINPUT_DEVSUBTYPE_FLIGHT_STICK:
|
||
; 160 : return "XInput Flight Stick";
|
||
|
||
00073 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0BE@HBNNGLHP@XInput?5Flight?5Stick@
|
||
0007a eb 48 jmp SHORT $LN1@getDeviceD
|
||
$LN7@getDeviceD:
|
||
|
||
; 161 : case XINPUT_DEVSUBTYPE_DANCE_PAD:
|
||
; 162 : return "XInput Dance Pad";
|
||
|
||
0007c 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0BB@JDDMDGFO@XInput?5Dance?5Pad@
|
||
00083 eb 3f jmp SHORT $LN1@getDeviceD
|
||
$LN8@getDeviceD:
|
||
|
||
; 163 : case XINPUT_DEVSUBTYPE_GUITAR:
|
||
; 164 : return "XInput Guitar";
|
||
|
||
00085 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0O@IFDGNEHH@XInput?5Guitar@
|
||
0008c eb 36 jmp SHORT $LN1@getDeviceD
|
||
$LN9@getDeviceD:
|
||
|
||
; 165 : case XINPUT_DEVSUBTYPE_DRUM_KIT:
|
||
; 166 : return "XInput Drum Kit";
|
||
|
||
0008e 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0BA@LCMKGGHA@XInput?5Drum?5Kit@
|
||
00095 eb 2d jmp SHORT $LN1@getDeviceD
|
||
$LN10@getDeviceD:
|
||
|
||
; 167 : case XINPUT_DEVSUBTYPE_GAMEPAD:
|
||
; 168 : {
|
||
; 169 : if (xic->Flags & XINPUT_CAPS_WIRELESS)
|
||
|
||
00097 48 8b 85 f0 00
|
||
00 00 mov rax, QWORD PTR xic$[rbp]
|
||
0009e 0f b7 40 02 movzx eax, WORD PTR [rax+2]
|
||
000a2 83 e0 02 and eax, 2
|
||
000a5 85 c0 test eax, eax
|
||
000a7 74 0b je SHORT $LN11@getDeviceD
|
||
|
||
; 170 : return "Wireless Xbox Controller";
|
||
|
||
000a9 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0BJ@IIGAEGGE@Wireless?5Xbox?5Controller@
|
||
000b0 eb 12 jmp SHORT $LN1@getDeviceD
|
||
000b2 eb 09 jmp SHORT $LN12@getDeviceD
|
||
$LN11@getDeviceD:
|
||
|
||
; 171 : else
|
||
; 172 : return "Xbox Controller";
|
||
|
||
000b4 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0BA@EPLGABLH@Xbox?5Controller@
|
||
000bb eb 07 jmp SHORT $LN1@getDeviceD
|
||
$LN12@getDeviceD:
|
||
$LN2@getDeviceD:
|
||
|
||
; 173 : }
|
||
; 174 : }
|
||
; 175 :
|
||
; 176 : return "Unknown XInput Device";
|
||
|
||
000bd 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0BG@DGJLFNBN@Unknown?5XInput?5Device@
|
||
$LN1@getDeviceD:
|
||
|
||
; 177 : }
|
||
|
||
000c4 48 8d a5 d8 00
|
||
00 00 lea rsp, QWORD PTR [rbp+216]
|
||
000cb 5f pop rdi
|
||
000cc 5d pop rbp
|
||
000cd c3 ret 0
|
||
000ce 66 90 npad 2
|
||
$LN14@getDeviceD:
|
||
000d0 00 00 00 00 DD $LN10@getDeviceD
|
||
000d4 00 00 00 00 DD $LN4@getDeviceD
|
||
000d8 00 00 00 00 DD $LN5@getDeviceD
|
||
000dc 00 00 00 00 DD $LN6@getDeviceD
|
||
000e0 00 00 00 00 DD $LN7@getDeviceD
|
||
000e4 00 00 00 00 DD $LN8@getDeviceD
|
||
000e8 00 00 00 00 DD $LN2@getDeviceD
|
||
000ec 00 00 00 00 DD $LN9@getDeviceD
|
||
getDeviceDescription ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdio.h
|
||
; COMDAT sprintf
|
||
_TEXT SEGMENT
|
||
_Result$ = 4
|
||
_ArgList$ = 40
|
||
__$ArrayPad$ = 248
|
||
_Buffer$ = 288
|
||
_Format$ = 296
|
||
sprintf PROC ; COMDAT
|
||
|
||
; 1771 : {
|
||
|
||
$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 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
||
0000f 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
|
||
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:__C1EC35D3_stdio@h
|
||
00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 1772 : int _Result;
|
||
; 1773 : va_list _ArgList;
|
||
; 1774 : __crt_va_start(_ArgList, _Format);
|
||
|
||
00058 48 8d 85 30 01
|
||
00 00 lea rax, QWORD PTR _Format$[rbp+8]
|
||
0005f 48 89 45 28 mov QWORD PTR _ArgList$[rbp], rax
|
||
|
||
; 1775 :
|
||
; 1776 : _Result = _vsprintf_l(_Buffer, _Format, NULL, _ArgList);
|
||
|
||
00063 4c 8b 4d 28 mov r9, QWORD PTR _ArgList$[rbp]
|
||
00067 45 33 c0 xor r8d, r8d
|
||
0006a 48 8b 95 28 01
|
||
00 00 mov rdx, QWORD PTR _Format$[rbp]
|
||
00071 48 8b 8d 20 01
|
||
00 00 mov rcx, QWORD PTR _Buffer$[rbp]
|
||
00078 e8 00 00 00 00 call _vsprintf_l
|
||
0007d 89 45 04 mov DWORD PTR _Result$[rbp], eax
|
||
|
||
; 1777 :
|
||
; 1778 : __crt_va_end(_ArgList);
|
||
|
||
00080 48 c7 45 28 00
|
||
00 00 00 mov QWORD PTR _ArgList$[rbp], 0
|
||
|
||
; 1779 : return _Result;
|
||
|
||
00088 8b 45 04 mov eax, DWORD PTR _Result$[rbp]
|
||
|
||
; 1780 : }
|
||
|
||
0008b 8b f8 mov edi, eax
|
||
0008d 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
||
00091 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:sprintf$rtcFrameData
|
||
00098 e8 00 00 00 00 call _RTC_CheckStackVars
|
||
0009d 8b c7 mov eax, edi
|
||
0009f 48 8b 8d f8 00
|
||
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
||
000a6 48 33 cd xor rcx, rbp
|
||
000a9 e8 00 00 00 00 call __security_check_cookie
|
||
000ae 48 8d a5 08 01
|
||
00 00 lea rsp, QWORD PTR [rbp+264]
|
||
000b5 5f pop rdi
|
||
000b6 5d pop rbp
|
||
000b7 c3 ret 0
|
||
sprintf ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdio.h
|
||
; COMDAT _vsprintf_l
|
||
_TEXT SEGMENT
|
||
_Buffer$ = 224
|
||
_Format$ = 232
|
||
_Locale$ = 240
|
||
_ArgList$ = 248
|
||
_vsprintf_l PROC ; COMDAT
|
||
|
||
; 1458 : {
|
||
|
||
$LN3:
|
||
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 f8 00
|
||
00 00 sub rsp, 248 ; 000000f8H
|
||
0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
||
00022 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__C1EC35D3_stdio@h
|
||
00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 1459 : return _vsnprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList);
|
||
|
||
0002e 48 8b 85 f8 00
|
||
00 00 mov rax, QWORD PTR _ArgList$[rbp]
|
||
00035 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
|
||
0003a 4c 8b 8d f0 00
|
||
00 00 mov r9, QWORD PTR _Locale$[rbp]
|
||
00041 4c 8b 85 e8 00
|
||
00 00 mov r8, QWORD PTR _Format$[rbp]
|
||
00048 48 c7 c2 ff ff
|
||
ff ff mov rdx, -1
|
||
0004f 48 8b 8d e0 00
|
||
00 00 mov rcx, QWORD PTR _Buffer$[rbp]
|
||
00056 e8 00 00 00 00 call _vsnprintf_l
|
||
|
||
; 1460 : }
|
||
|
||
0005b 48 8d a5 c8 00
|
||
00 00 lea rsp, QWORD PTR [rbp+200]
|
||
00062 5f pop rdi
|
||
00063 5d pop rbp
|
||
00064 c3 ret 0
|
||
_vsprintf_l ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdio.h
|
||
; COMDAT _vsnprintf_l
|
||
_TEXT SEGMENT
|
||
_Result$ = 4
|
||
tv74 = 212
|
||
_Buffer$ = 256
|
||
_BufferCount$ = 264
|
||
_Format$ = 272
|
||
_Locale$ = 280
|
||
_ArgList$ = 288
|
||
_vsnprintf_l PROC ; COMDAT
|
||
|
||
; 1391 : {
|
||
|
||
$LN5:
|
||
00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
|
||
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
||
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
||
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||
00014 55 push rbp
|
||
00015 57 push rdi
|
||
00016 48 81 ec 18 01
|
||
00 00 sub rsp, 280 ; 00000118H
|
||
0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
||
00022 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__C1EC35D3_stdio@h
|
||
00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 1392 : int const _Result = __stdio_common_vsprintf(
|
||
|
||
0002e e8 00 00 00 00 call __local_stdio_printf_options
|
||
00033 48 8b 00 mov rax, QWORD PTR [rax]
|
||
00036 48 83 c8 01 or rax, 1
|
||
0003a 48 8b 8d 20 01
|
||
00 00 mov rcx, QWORD PTR _ArgList$[rbp]
|
||
00041 48 89 4c 24 28 mov QWORD PTR [rsp+40], rcx
|
||
00046 48 8b 8d 18 01
|
||
00 00 mov rcx, QWORD PTR _Locale$[rbp]
|
||
0004d 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx
|
||
00052 4c 8b 8d 10 01
|
||
00 00 mov r9, QWORD PTR _Format$[rbp]
|
||
00059 4c 8b 85 08 01
|
||
00 00 mov r8, QWORD PTR _BufferCount$[rbp]
|
||
00060 48 8b 95 00 01
|
||
00 00 mov rdx, QWORD PTR _Buffer$[rbp]
|
||
00067 48 8b c8 mov rcx, rax
|
||
0006a ff 15 00 00 00
|
||
00 call QWORD PTR __imp___stdio_common_vsprintf
|
||
00070 89 45 04 mov DWORD PTR _Result$[rbp], eax
|
||
|
||
; 1393 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION,
|
||
; 1394 : _Buffer, _BufferCount, _Format, _Locale, _ArgList);
|
||
; 1395 :
|
||
; 1396 : return _Result < 0 ? -1 : _Result;
|
||
|
||
00073 83 7d 04 00 cmp DWORD PTR _Result$[rbp], 0
|
||
00077 7d 0c jge SHORT $LN3@vsnprintf_
|
||
00079 c7 85 d4 00 00
|
||
00 ff ff ff ff mov DWORD PTR tv74[rbp], -1
|
||
00083 eb 09 jmp SHORT $LN4@vsnprintf_
|
||
$LN3@vsnprintf_:
|
||
00085 8b 45 04 mov eax, DWORD PTR _Result$[rbp]
|
||
00088 89 85 d4 00 00
|
||
00 mov DWORD PTR tv74[rbp], eax
|
||
$LN4@vsnprintf_:
|
||
0008e 8b 85 d4 00 00
|
||
00 mov eax, DWORD PTR tv74[rbp]
|
||
|
||
; 1397 : }
|
||
|
||
00094 48 8d a5 e8 00
|
||
00 00 lea rsp, QWORD PTR [rbp+232]
|
||
0009b 5f pop rdi
|
||
0009c 5d pop rbp
|
||
0009d c3 ret 0
|
||
_vsnprintf_l ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt_stdio_config.h
|
||
; COMDAT __local_stdio_printf_options
|
||
_TEXT SEGMENT
|
||
__local_stdio_printf_options PROC ; COMDAT
|
||
|
||
; 90 : {
|
||
|
||
$LN3:
|
||
00000 40 55 push rbp
|
||
00002 57 push rdi
|
||
00003 48 81 ec e8 00
|
||
00 00 sub rsp, 232 ; 000000e8H
|
||
0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||
0000f 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__44420885_corecrt_stdio_config@h
|
||
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 91 : static unsigned __int64 _OptionsStorage;
|
||
; 92 : return &_OptionsStorage;
|
||
|
||
0001b 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:?_OptionsStorage@?1??__local_stdio_printf_options@@9@9 ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
||
|
||
; 93 : }
|
||
|
||
00022 48 8d a5 c8 00
|
||
00 00 lea rsp, QWORD PTR [rbp+200]
|
||
00029 5f pop rdi
|
||
0002a 5d pop rbp
|
||
0002b c3 ret 0
|
||
__local_stdio_printf_options ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwDetectJoystickDisconnectionWin32
|
||
_TEXT SEGMENT
|
||
jid$ = 4
|
||
js$1 = 40
|
||
_glfwDetectJoystickDisconnectionWin32 PROC ; COMDAT
|
||
|
||
; 559 : {
|
||
|
||
$LN7:
|
||
00000 40 55 push rbp
|
||
00002 57 push rdi
|
||
00003 48 81 ec 28 01
|
||
00 00 sub rsp, 296 ; 00000128H
|
||
0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||
0000f 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__BD81096D_win32_joystick@c
|
||
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 560 : int jid;
|
||
; 561 :
|
||
; 562 : for (jid = 0; jid <= GLFW_JOYSTICK_LAST; jid++)
|
||
|
||
0001b c7 45 04 00 00
|
||
00 00 mov DWORD PTR jid$[rbp], 0
|
||
00022 eb 08 jmp SHORT $LN4@glfwDetect
|
||
$LN2@glfwDetect:
|
||
00024 8b 45 04 mov eax, DWORD PTR jid$[rbp]
|
||
00027 ff c0 inc eax
|
||
00029 89 45 04 mov DWORD PTR jid$[rbp], eax
|
||
$LN4@glfwDetect:
|
||
0002c 83 7d 04 0f cmp DWORD PTR jid$[rbp], 15
|
||
00030 7f 33 jg SHORT $LN3@glfwDetect
|
||
|
||
; 563 : {
|
||
; 564 : _GLFWjoystick* js = _glfw.joysticks + jid;
|
||
|
||
00032 48 63 45 04 movsxd rax, DWORD PTR jid$[rbp]
|
||
00036 48 69 c0 20 01
|
||
00 00 imul rax, rax, 288 ; 00000120H
|
||
0003d 48 8d 0d 90 07
|
||
00 00 lea rcx, OFFSET FLAT:_glfw+1936
|
||
00044 48 03 c8 add rcx, rax
|
||
00047 48 8b c1 mov rax, rcx
|
||
0004a 48 89 45 28 mov QWORD PTR js$1[rbp], rax
|
||
|
||
; 565 : if (js->connected)
|
||
|
||
0004e 48 8b 45 28 mov rax, QWORD PTR js$1[rbp]
|
||
00052 83 78 04 00 cmp DWORD PTR [rax+4], 0
|
||
00056 74 0b je SHORT $LN5@glfwDetect
|
||
|
||
; 566 : _glfwPollJoystickWin32(js, _GLFW_POLL_PRESENCE);
|
||
|
||
00058 33 d2 xor edx, edx
|
||
0005a 48 8b 4d 28 mov rcx, QWORD PTR js$1[rbp]
|
||
0005e e8 00 00 00 00 call _glfwPollJoystickWin32
|
||
$LN5@glfwDetect:
|
||
|
||
; 567 : }
|
||
|
||
00063 eb bf jmp SHORT $LN2@glfwDetect
|
||
$LN3@glfwDetect:
|
||
|
||
; 568 : }
|
||
|
||
00065 48 8d a5 08 01
|
||
00 00 lea rsp, QWORD PTR [rbp+264]
|
||
0006c 5f pop rdi
|
||
0006d 5d pop rbp
|
||
0006e c3 ret 0
|
||
_glfwDetectJoystickDisconnectionWin32 ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwDetectJoystickConnectionWin32
|
||
_TEXT SEGMENT
|
||
index$5 = 4
|
||
jid$6 = 36
|
||
guid$7 = 72
|
||
xic$8 = 136
|
||
js$9 = 184
|
||
__$ArrayPad$ = 392
|
||
_glfwDetectJoystickConnectionWin32 PROC ; COMDAT
|
||
|
||
; 499 : {
|
||
|
||
$LN16:
|
||
00000 40 55 push rbp
|
||
00002 57 push rdi
|
||
00003 48 81 ec c8 01
|
||
00 00 sub rsp, 456 ; 000001c8H
|
||
0000a 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
||
0000f 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48]
|
||
00014 b9 36 00 00 00 mov ecx, 54 ; 00000036H
|
||
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 88 01
|
||
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
||
00031 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__BD81096D_win32_joystick@c
|
||
00038 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 500 : if (_glfw.win32.xinput.instance)
|
||
|
||
0003d 48 83 3d 80 29
|
||
00 00 00 cmp QWORD PTR _glfw+10624, 0
|
||
00045 0f 84 37 01 00
|
||
00 je $LN8@glfwDetect
|
||
|
||
; 501 : {
|
||
; 502 : DWORD index;
|
||
; 503 :
|
||
; 504 : for (index = 0; index < XUSER_MAX_COUNT; index++)
|
||
|
||
0004b c7 45 04 00 00
|
||
00 00 mov DWORD PTR index$5[rbp], 0
|
||
00052 eb 08 jmp SHORT $LN4@glfwDetect
|
||
$LN2@glfwDetect:
|
||
00054 8b 45 04 mov eax, DWORD PTR index$5[rbp]
|
||
00057 ff c0 inc eax
|
||
00059 89 45 04 mov DWORD PTR index$5[rbp], eax
|
||
$LN4@glfwDetect:
|
||
0005c 83 7d 04 04 cmp DWORD PTR index$5[rbp], 4
|
||
00060 0f 83 1c 01 00
|
||
00 jae $LN3@glfwDetect
|
||
|
||
; 505 : {
|
||
; 506 : int jid;
|
||
; 507 : char guid[33];
|
||
; 508 : XINPUT_CAPABILITIES xic;
|
||
; 509 : _GLFWjoystick* js;
|
||
; 510 :
|
||
; 511 : for (jid = 0; jid <= GLFW_JOYSTICK_LAST; jid++)
|
||
|
||
00066 c7 45 24 00 00
|
||
00 00 mov DWORD PTR jid$6[rbp], 0
|
||
0006d eb 08 jmp SHORT $LN7@glfwDetect
|
||
$LN5@glfwDetect:
|
||
0006f 8b 45 24 mov eax, DWORD PTR jid$6[rbp]
|
||
00072 ff c0 inc eax
|
||
00074 89 45 24 mov DWORD PTR jid$6[rbp], eax
|
||
$LN7@glfwDetect:
|
||
00077 83 7d 24 0f cmp DWORD PTR jid$6[rbp], 15
|
||
0007b 7f 58 jg SHORT $LN6@glfwDetect
|
||
|
||
; 512 : {
|
||
; 513 : if (_glfw.joysticks[jid].connected &&
|
||
; 514 : _glfw.joysticks[jid].win32.device == NULL &&
|
||
|
||
0007d 48 63 45 24 movsxd rax, DWORD PTR jid$6[rbp]
|
||
00081 48 69 c0 20 01
|
||
00 00 imul rax, rax, 288 ; 00000120H
|
||
00088 48 8d 0d 90 07
|
||
00 00 lea rcx, OFFSET FLAT:_glfw+1936
|
||
0008f 83 7c 01 04 00 cmp DWORD PTR [rcx+rax+4], 0
|
||
00094 74 3d je SHORT $LN9@glfwDetect
|
||
00096 48 63 45 24 movsxd rax, DWORD PTR jid$6[rbp]
|
||
0009a 48 69 c0 20 01
|
||
00 00 imul rax, rax, 288 ; 00000120H
|
||
000a1 48 8d 0d 90 07
|
||
00 00 lea rcx, OFFSET FLAT:_glfw+1936
|
||
000a8 48 83 bc 01 00
|
||
01 00 00 00 cmp QWORD PTR [rcx+rax+256], 0
|
||
000b1 75 20 jne SHORT $LN9@glfwDetect
|
||
000b3 48 63 45 24 movsxd rax, DWORD PTR jid$6[rbp]
|
||
000b7 48 69 c0 20 01
|
||
00 00 imul rax, rax, 288 ; 00000120H
|
||
000be 48 8d 0d 90 07
|
||
00 00 lea rcx, OFFSET FLAT:_glfw+1936
|
||
000c5 8b 55 04 mov edx, DWORD PTR index$5[rbp]
|
||
000c8 39 94 01 08 01
|
||
00 00 cmp DWORD PTR [rcx+rax+264], edx
|
||
000cf 75 02 jne SHORT $LN9@glfwDetect
|
||
|
||
; 515 : _glfw.joysticks[jid].win32.index == index)
|
||
; 516 : {
|
||
; 517 : break;
|
||
|
||
000d1 eb 02 jmp SHORT $LN6@glfwDetect
|
||
$LN9@glfwDetect:
|
||
|
||
; 518 : }
|
||
; 519 : }
|
||
|
||
000d3 eb 9a jmp SHORT $LN5@glfwDetect
|
||
$LN6@glfwDetect:
|
||
|
||
; 520 :
|
||
; 521 : if (jid <= GLFW_JOYSTICK_LAST)
|
||
|
||
000d5 83 7d 24 0f cmp DWORD PTR jid$6[rbp], 15
|
||
000d9 7f 05 jg SHORT $LN10@glfwDetect
|
||
|
||
; 522 : continue;
|
||
|
||
000db e9 74 ff ff ff jmp $LN2@glfwDetect
|
||
$LN10@glfwDetect:
|
||
|
||
; 523 :
|
||
; 524 : if (XInputGetCapabilities(index, 0, &xic) != ERROR_SUCCESS)
|
||
|
||
000e0 4c 8d 85 88 00
|
||
00 00 lea r8, QWORD PTR xic$8[rbp]
|
||
000e7 33 d2 xor edx, edx
|
||
000e9 8b 4d 04 mov ecx, DWORD PTR index$5[rbp]
|
||
000ec ff 15 88 29 00
|
||
00 call QWORD PTR _glfw+10632
|
||
000f2 85 c0 test eax, eax
|
||
000f4 74 05 je SHORT $LN11@glfwDetect
|
||
|
||
; 525 : continue;
|
||
|
||
000f6 e9 59 ff ff ff jmp $LN2@glfwDetect
|
||
$LN11@glfwDetect:
|
||
|
||
; 526 :
|
||
; 527 : // Generate a joystick GUID that matches the SDL 2.0.5+ one
|
||
; 528 : sprintf(guid, "78696e707574%02x000000000000000000",
|
||
|
||
000fb 0f b6 85 89 00
|
||
00 00 movzx eax, BYTE PTR xic$8[rbp+1]
|
||
00102 25 ff 00 00 00 and eax, 255 ; 000000ffH
|
||
00107 44 8b c0 mov r8d, eax
|
||
0010a 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CD@CBFNHKPK@78696e707574?$CF02x000000000000000@
|
||
00111 48 8d 4d 48 lea rcx, QWORD PTR guid$7[rbp]
|
||
00115 e8 00 00 00 00 call sprintf
|
||
|
||
; 529 : xic.SubType & 0xff);
|
||
; 530 :
|
||
; 531 : js = _glfwAllocJoystick(getDeviceDescription(&xic), guid, 6, 10, 1);
|
||
|
||
0011a 48 8d 8d 88 00
|
||
00 00 lea rcx, QWORD PTR xic$8[rbp]
|
||
00121 e8 00 00 00 00 call getDeviceDescription
|
||
00126 c7 44 24 20 01
|
||
00 00 00 mov DWORD PTR [rsp+32], 1
|
||
0012e 41 b9 0a 00 00
|
||
00 mov r9d, 10
|
||
00134 41 b8 06 00 00
|
||
00 mov r8d, 6
|
||
0013a 48 8d 55 48 lea rdx, QWORD PTR guid$7[rbp]
|
||
0013e 48 8b c8 mov rcx, rax
|
||
00141 e8 00 00 00 00 call _glfwAllocJoystick
|
||
00146 48 89 85 b8 00
|
||
00 00 mov QWORD PTR js$9[rbp], rax
|
||
|
||
; 532 : if (!js)
|
||
|
||
0014d 48 83 bd b8 00
|
||
00 00 00 cmp QWORD PTR js$9[rbp], 0
|
||
00155 75 05 jne SHORT $LN12@glfwDetect
|
||
|
||
; 533 : continue;
|
||
|
||
00157 e9 f8 fe ff ff jmp $LN2@glfwDetect
|
||
$LN12@glfwDetect:
|
||
|
||
; 534 :
|
||
; 535 : js->win32.index = index;
|
||
|
||
0015c 48 8b 85 b8 00
|
||
00 00 mov rax, QWORD PTR js$9[rbp]
|
||
00163 8b 4d 04 mov ecx, DWORD PTR index$5[rbp]
|
||
00166 89 88 08 01 00
|
||
00 mov DWORD PTR [rax+264], ecx
|
||
|
||
; 536 :
|
||
; 537 : _glfwInputJoystick(js, GLFW_CONNECTED);
|
||
|
||
0016c ba 01 00 04 00 mov edx, 262145 ; 00040001H
|
||
00171 48 8b 8d b8 00
|
||
00 00 mov rcx, QWORD PTR js$9[rbp]
|
||
00178 e8 00 00 00 00 call _glfwInputJoystick
|
||
|
||
; 538 : }
|
||
|
||
0017d e9 d2 fe ff ff jmp $LN2@glfwDetect
|
||
$LN3@glfwDetect:
|
||
$LN8@glfwDetect:
|
||
|
||
; 539 : }
|
||
; 540 :
|
||
; 541 : if (_glfw.win32.dinput8.api)
|
||
|
||
00182 48 83 3d 78 29
|
||
00 00 00 cmp QWORD PTR _glfw+10616, 0
|
||
0018a 74 40 je SHORT $LN13@glfwDetect
|
||
|
||
; 542 : {
|
||
; 543 : if (FAILED(IDirectInput8_EnumDevices(_glfw.win32.dinput8.api,
|
||
|
||
0018c 48 8b 05 78 29
|
||
00 00 mov rax, QWORD PTR _glfw+10616
|
||
00193 48 8b 00 mov rax, QWORD PTR [rax]
|
||
00196 c7 44 24 20 00
|
||
00 00 00 mov DWORD PTR [rsp+32], 0
|
||
0019e 45 33 c9 xor r9d, r9d
|
||
001a1 4c 8d 05 00 00
|
||
00 00 lea r8, OFFSET FLAT:deviceCallback
|
||
001a8 ba 04 00 00 00 mov edx, 4
|
||
001ad 48 8b 0d 78 29
|
||
00 00 mov rcx, QWORD PTR _glfw+10616
|
||
001b4 ff 50 20 call QWORD PTR [rax+32]
|
||
001b7 85 c0 test eax, eax
|
||
001b9 7d 11 jge SHORT $LN14@glfwDetect
|
||
|
||
; 544 : DI8DEVCLASS_GAMECTRL,
|
||
; 545 : deviceCallback,
|
||
; 546 : NULL,
|
||
; 547 : DIEDFL_ALLDEVICES)))
|
||
; 548 : {
|
||
; 549 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
001bb 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CJ@HDJDHLNO@Failed?5to?5enumerate?5DirectInput@
|
||
001c2 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
001c7 e8 00 00 00 00 call _glfwInputError
|
||
$LN14@glfwDetect:
|
||
$LN13@glfwDetect:
|
||
|
||
; 550 : "Failed to enumerate DirectInput8 devices");
|
||
; 551 : return;
|
||
; 552 : }
|
||
; 553 : }
|
||
; 554 : }
|
||
|
||
001cc 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
|
||
001d0 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:_glfwDetectJoystickConnectionWin32$rtcFrameData
|
||
001d7 e8 00 00 00 00 call _RTC_CheckStackVars
|
||
001dc 48 8b 8d 88 01
|
||
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
||
001e3 48 33 cd xor rcx, rbp
|
||
001e6 e8 00 00 00 00 call __security_check_cookie
|
||
001eb 48 8d a5 98 01
|
||
00 00 lea rsp, QWORD PTR [rbp+408]
|
||
001f2 5f pop rdi
|
||
001f3 5d pop rbp
|
||
001f4 c3 ret 0
|
||
_glfwDetectJoystickConnectionWin32 ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwUpdateGamepadGUIDWin32
|
||
_TEXT SEGMENT
|
||
original$4 = 8
|
||
__$ArrayPad$ = 248
|
||
guid$ = 288
|
||
_glfwUpdateGamepadGUIDWin32 PROC ; COMDAT
|
||
|
||
; 751 : {
|
||
|
||
$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 28 01
|
||
00 00 sub rsp, 296 ; 00000128H
|
||
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||
00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
|
||
00018 b9 12 00 00 00 mov ecx, 18
|
||
0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
||
00022 f3 ab rep stosd
|
||
00024 48 8b 8c 24 48
|
||
01 00 00 mov rcx, QWORD PTR [rsp+328]
|
||
0002c 48 8b 05 00 00
|
||
00 00 mov rax, QWORD PTR __security_cookie
|
||
00033 48 33 c5 xor rax, rbp
|
||
00036 48 89 85 f8 00
|
||
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
||
0003d 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__BD81096D_win32_joystick@c
|
||
00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 752 : if (strcmp(guid + 20, "504944564944") == 0)
|
||
|
||
00049 48 8b 85 20 01
|
||
00 00 mov rax, QWORD PTR guid$[rbp]
|
||
00050 48 83 c0 14 add rax, 20
|
||
00054 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0N@OJEJPFOD@504944564944@
|
||
0005b 48 8b c8 mov rcx, rax
|
||
0005e e8 00 00 00 00 call strcmp
|
||
00063 85 c0 test eax, eax
|
||
00065 75 35 jne SHORT $LN2@glfwUpdate
|
||
|
||
; 753 : {
|
||
; 754 : char original[33];
|
||
; 755 : strncpy(original, guid, sizeof(original) - 1);
|
||
|
||
00067 41 b8 20 00 00
|
||
00 mov r8d, 32 ; 00000020H
|
||
0006d 48 8b 95 20 01
|
||
00 00 mov rdx, QWORD PTR guid$[rbp]
|
||
00074 48 8d 4d 08 lea rcx, QWORD PTR original$4[rbp]
|
||
00078 ff 15 00 00 00
|
||
00 call QWORD PTR __imp_strncpy
|
||
|
||
; 756 : sprintf(guid, "03000000%.4s0000%.4s000000000000",
|
||
|
||
0007e 48 8d 45 0c lea rax, QWORD PTR original$4[rbp+4]
|
||
00082 4c 8b c8 mov r9, rax
|
||
00085 4c 8d 45 08 lea r8, QWORD PTR original$4[rbp]
|
||
00089 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CB@BIHPPBFK@03000000?$CF?44s0000?$CF?44s00000000000@
|
||
00090 48 8b 8d 20 01
|
||
00 00 mov rcx, QWORD PTR guid$[rbp]
|
||
00097 e8 00 00 00 00 call sprintf
|
||
$LN2@glfwUpdate:
|
||
|
||
; 757 : original, original + 4);
|
||
; 758 : }
|
||
; 759 : }
|
||
|
||
0009c 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
||
000a0 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:_glfwUpdateGamepadGUIDWin32$rtcFrameData
|
||
000a7 e8 00 00 00 00 call _RTC_CheckStackVars
|
||
000ac 48 8b 8d f8 00
|
||
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
||
000b3 48 33 cd xor rcx, rbp
|
||
000b6 e8 00 00 00 00 call __security_check_cookie
|
||
000bb 48 8d a5 08 01
|
||
00 00 lea rsp, QWORD PTR [rbp+264]
|
||
000c2 5f pop rdi
|
||
000c3 5d pop rbp
|
||
000c4 c3 ret 0
|
||
_glfwUpdateGamepadGUIDWin32 ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwGetMappingNameWin32
|
||
_TEXT SEGMENT
|
||
_glfwGetMappingNameWin32 PROC ; COMDAT
|
||
|
||
; 746 : {
|
||
|
||
$LN3:
|
||
00000 40 55 push rbp
|
||
00002 57 push rdi
|
||
00003 48 81 ec e8 00
|
||
00 00 sub rsp, 232 ; 000000e8H
|
||
0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||
0000f 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__BD81096D_win32_joystick@c
|
||
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 747 : return "Windows";
|
||
|
||
0001b 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_07LDLFNPGN@Windows@
|
||
|
||
; 748 : }
|
||
|
||
00022 48 8d a5 c8 00
|
||
00 00 lea rsp, QWORD PTR [rbp+200]
|
||
00029 5f pop rdi
|
||
0002a 5d pop rbp
|
||
0002b c3 ret 0
|
||
_glfwGetMappingNameWin32 ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwPollJoystickWin32
|
||
_TEXT SEGMENT
|
||
i$7 = 4
|
||
ai$8 = 36
|
||
bi$9 = 68
|
||
pi$10 = 100
|
||
result$11 = 132
|
||
state$12 = 176
|
||
data$13 = 280
|
||
value$14 = 308
|
||
value$15 = 340
|
||
states$16 = 376
|
||
stateIndex$17 = 436
|
||
i$18 = 468
|
||
dpad$19 = 500
|
||
result$20 = 532
|
||
xis$21 = 568
|
||
buttons$22 = 616
|
||
value$23 = 660
|
||
tv286 = 1060
|
||
tv165 = 1060
|
||
tv153 = 1060
|
||
__$ArrayPad$ = 1064
|
||
js$ = 1104
|
||
mode$ = 1112
|
||
_glfwPollJoystickWin32 PROC ; COMDAT
|
||
|
||
; 607 : {
|
||
|
||
$LN34:
|
||
00000 89 54 24 10 mov DWORD PTR [rsp+16], edx
|
||
00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||
00009 55 push rbp
|
||
0000a 57 push rdi
|
||
0000b 48 81 ec 58 04
|
||
00 00 sub rsp, 1112 ; 00000458H
|
||
00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||
00017 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
|
||
0001c b9 ae 00 00 00 mov ecx, 174 ; 000000aeH
|
||
00021 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
||
00026 f3 ab rep stosd
|
||
00028 48 8b 8c 24 78
|
||
04 00 00 mov rcx, QWORD PTR [rsp+1144]
|
||
00030 48 8b 05 00 00
|
||
00 00 mov rax, QWORD PTR __security_cookie
|
||
00037 48 33 c5 xor rax, rbp
|
||
0003a 48 89 85 28 04
|
||
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
||
00041 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__BD81096D_win32_joystick@c
|
||
00048 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 608 : if (js->win32.device)
|
||
|
||
0004d 48 8b 85 50 04
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
00054 48 83 b8 00 01
|
||
00 00 00 cmp QWORD PTR [rax+256], 0
|
||
0005c 0f 84 40 03 00
|
||
00 je $LN10@glfwPollJo
|
||
|
||
; 609 : {
|
||
; 610 : int i, ai = 0, bi = 0, pi = 0;
|
||
|
||
00062 c7 45 24 00 00
|
||
00 00 mov DWORD PTR ai$8[rbp], 0
|
||
00069 c7 45 44 00 00
|
||
00 00 mov DWORD PTR bi$9[rbp], 0
|
||
00070 c7 45 64 00 00
|
||
00 00 mov DWORD PTR pi$10[rbp], 0
|
||
|
||
; 611 : HRESULT result;
|
||
; 612 : DIJOYSTATE state = {0};
|
||
|
||
00077 48 8d 85 b0 00
|
||
00 00 lea rax, QWORD PTR state$12[rbp]
|
||
0007e 48 8b f8 mov rdi, rax
|
||
00081 33 c0 xor eax, eax
|
||
00083 b9 50 00 00 00 mov ecx, 80 ; 00000050H
|
||
00088 f3 aa rep stosb
|
||
|
||
; 613 :
|
||
; 614 : IDirectInputDevice8_Poll(js->win32.device);
|
||
|
||
0008a 48 8b 85 50 04
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
00091 48 8b 80 00 01
|
||
00 00 mov rax, QWORD PTR [rax+256]
|
||
00098 48 8b 00 mov rax, QWORD PTR [rax]
|
||
0009b 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
000a2 48 8b 89 00 01
|
||
00 00 mov rcx, QWORD PTR [rcx+256]
|
||
000a9 ff 90 c8 00 00
|
||
00 call QWORD PTR [rax+200]
|
||
|
||
; 615 : result = IDirectInputDevice8_GetDeviceState(js->win32.device,
|
||
|
||
000af 48 8b 85 50 04
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
000b6 48 8b 80 00 01
|
||
00 00 mov rax, QWORD PTR [rax+256]
|
||
000bd 48 8b 00 mov rax, QWORD PTR [rax]
|
||
000c0 4c 8d 85 b0 00
|
||
00 00 lea r8, QWORD PTR state$12[rbp]
|
||
000c7 ba 50 00 00 00 mov edx, 80 ; 00000050H
|
||
000cc 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
000d3 48 8b 89 00 01
|
||
00 00 mov rcx, QWORD PTR [rcx+256]
|
||
000da ff 50 48 call QWORD PTR [rax+72]
|
||
000dd 89 85 84 00 00
|
||
00 mov DWORD PTR result$11[rbp], eax
|
||
|
||
; 616 : sizeof(state),
|
||
; 617 : &state);
|
||
; 618 : if (result == DIERR_NOTACQUIRED || result == DIERR_INPUTLOST)
|
||
|
||
000e3 81 bd 84 00 00
|
||
00 0c 00 07 80 cmp DWORD PTR result$11[rbp], -2147024884 ; ffffffff8007000cH
|
||
000ed 74 0c je SHORT $LN13@glfwPollJo
|
||
000ef 81 bd 84 00 00
|
||
00 1e 00 07 80 cmp DWORD PTR result$11[rbp], -2147024866 ; ffffffff8007001eH
|
||
000f9 75 7b jne SHORT $LN12@glfwPollJo
|
||
$LN13@glfwPollJo:
|
||
|
||
; 619 : {
|
||
; 620 : IDirectInputDevice8_Acquire(js->win32.device);
|
||
|
||
000fb 48 8b 85 50 04
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
00102 48 8b 80 00 01
|
||
00 00 mov rax, QWORD PTR [rax+256]
|
||
00109 48 8b 00 mov rax, QWORD PTR [rax]
|
||
0010c 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
00113 48 8b 89 00 01
|
||
00 00 mov rcx, QWORD PTR [rcx+256]
|
||
0011a ff 50 38 call QWORD PTR [rax+56]
|
||
|
||
; 621 : IDirectInputDevice8_Poll(js->win32.device);
|
||
|
||
0011d 48 8b 85 50 04
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
00124 48 8b 80 00 01
|
||
00 00 mov rax, QWORD PTR [rax+256]
|
||
0012b 48 8b 00 mov rax, QWORD PTR [rax]
|
||
0012e 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
00135 48 8b 89 00 01
|
||
00 00 mov rcx, QWORD PTR [rcx+256]
|
||
0013c ff 90 c8 00 00
|
||
00 call QWORD PTR [rax+200]
|
||
|
||
; 622 : result = IDirectInputDevice8_GetDeviceState(js->win32.device,
|
||
|
||
00142 48 8b 85 50 04
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
00149 48 8b 80 00 01
|
||
00 00 mov rax, QWORD PTR [rax+256]
|
||
00150 48 8b 00 mov rax, QWORD PTR [rax]
|
||
00153 4c 8d 85 b0 00
|
||
00 00 lea r8, QWORD PTR state$12[rbp]
|
||
0015a ba 50 00 00 00 mov edx, 80 ; 00000050H
|
||
0015f 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
00166 48 8b 89 00 01
|
||
00 00 mov rcx, QWORD PTR [rcx+256]
|
||
0016d ff 50 48 call QWORD PTR [rax+72]
|
||
00170 89 85 84 00 00
|
||
00 mov DWORD PTR result$11[rbp], eax
|
||
$LN12@glfwPollJo:
|
||
|
||
; 623 : sizeof(state),
|
||
; 624 : &state);
|
||
; 625 : }
|
||
; 626 :
|
||
; 627 : if (FAILED(result))
|
||
|
||
00176 83 bd 84 00 00
|
||
00 00 cmp DWORD PTR result$11[rbp], 0
|
||
0017d 7d 13 jge SHORT $LN14@glfwPollJo
|
||
|
||
; 628 : {
|
||
; 629 : closeJoystick(js);
|
||
|
||
0017f 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
00186 e8 00 00 00 00 call closeJoystick
|
||
|
||
; 630 : return GLFW_FALSE;
|
||
|
||
0018b 33 c0 xor eax, eax
|
||
0018d e9 1f 05 00 00 jmp $LN1@glfwPollJo
|
||
$LN14@glfwPollJo:
|
||
|
||
; 631 : }
|
||
; 632 :
|
||
; 633 : if (mode == _GLFW_POLL_PRESENCE)
|
||
|
||
00192 83 bd 58 04 00
|
||
00 00 cmp DWORD PTR mode$[rbp], 0
|
||
00199 75 0a jne SHORT $LN15@glfwPollJo
|
||
|
||
; 634 : return GLFW_TRUE;
|
||
|
||
0019b b8 01 00 00 00 mov eax, 1
|
||
001a0 e9 0c 05 00 00 jmp $LN1@glfwPollJo
|
||
$LN15@glfwPollJo:
|
||
|
||
; 635 :
|
||
; 636 : for (i = 0; i < js->win32.objectCount; i++)
|
||
|
||
001a5 c7 45 04 00 00
|
||
00 00 mov DWORD PTR i$7[rbp], 0
|
||
001ac eb 08 jmp SHORT $LN4@glfwPollJo
|
||
$LN2@glfwPollJo:
|
||
001ae 8b 45 04 mov eax, DWORD PTR i$7[rbp]
|
||
001b1 ff c0 inc eax
|
||
001b3 89 45 04 mov DWORD PTR i$7[rbp], eax
|
||
$LN4@glfwPollJo:
|
||
001b6 48 8b 85 50 04
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
001bd 8b 80 f8 00 00
|
||
00 mov eax, DWORD PTR [rax+248]
|
||
001c3 39 45 04 cmp DWORD PTR i$7[rbp], eax
|
||
001c6 0f 8d d1 01 00
|
||
00 jge $LN3@glfwPollJo
|
||
|
||
; 637 : {
|
||
; 638 : const void* data = (char*) &state + js->win32.objects[i].offset;
|
||
|
||
001cc 48 63 45 04 movsxd rax, DWORD PTR i$7[rbp]
|
||
001d0 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
001d7 48 8b 89 f0 00
|
||
00 00 mov rcx, QWORD PTR [rcx+240]
|
||
001de 48 63 04 c1 movsxd rax, DWORD PTR [rcx+rax*8]
|
||
001e2 48 8d 84 05 b0
|
||
00 00 00 lea rax, QWORD PTR state$12[rbp+rax]
|
||
001ea 48 89 85 18 01
|
||
00 00 mov QWORD PTR data$13[rbp], rax
|
||
|
||
; 639 :
|
||
; 640 : switch (js->win32.objects[i].type)
|
||
|
||
001f1 48 63 45 04 movsxd rax, DWORD PTR i$7[rbp]
|
||
001f5 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
001fc 48 8b 89 f0 00
|
||
00 00 mov rcx, QWORD PTR [rcx+240]
|
||
00203 8b 44 c1 04 mov eax, DWORD PTR [rcx+rax*8+4]
|
||
00207 89 85 24 04 00
|
||
00 mov DWORD PTR tv153[rbp], eax
|
||
0020d 83 bd 24 04 00
|
||
00 00 cmp DWORD PTR tv153[rbp], 0
|
||
00214 74 24 je SHORT $LN16@glfwPollJo
|
||
00216 83 bd 24 04 00
|
||
00 01 cmp DWORD PTR tv153[rbp], 1
|
||
0021d 74 1b je SHORT $LN17@glfwPollJo
|
||
0021f 83 bd 24 04 00
|
||
00 02 cmp DWORD PTR tv153[rbp], 2
|
||
00226 74 59 je SHORT $LN18@glfwPollJo
|
||
00228 83 bd 24 04 00
|
||
00 03 cmp DWORD PTR tv153[rbp], 3
|
||
0022f 0f 84 a6 00 00
|
||
00 je $LN19@glfwPollJo
|
||
00235 e9 5e 01 00 00 jmp $LN5@glfwPollJo
|
||
$LN16@glfwPollJo:
|
||
$LN17@glfwPollJo:
|
||
|
||
; 641 : {
|
||
; 642 : case _GLFW_TYPE_AXIS:
|
||
; 643 : case _GLFW_TYPE_SLIDER:
|
||
; 644 : {
|
||
; 645 : const float value = (*((LONG*) data) + 0.5f) / 32767.5f;
|
||
|
||
0023a 48 8b 85 18 01
|
||
00 00 mov rax, QWORD PTR data$13[rbp]
|
||
00241 f3 0f 2a 00 cvtsi2ss xmm0, DWORD PTR [rax]
|
||
00245 f3 0f 58 05 00
|
||
00 00 00 addss xmm0, DWORD PTR __real@3f000000
|
||
0024d f3 0f 5e 05 00
|
||
00 00 00 divss xmm0, DWORD PTR __real@46ffff00
|
||
00255 f3 0f 11 85 34
|
||
01 00 00 movss DWORD PTR value$14[rbp], xmm0
|
||
|
||
; 646 : _glfwInputJoystickAxis(js, ai, value);
|
||
|
||
0025d f3 0f 10 95 34
|
||
01 00 00 movss xmm2, DWORD PTR value$14[rbp]
|
||
00265 8b 55 24 mov edx, DWORD PTR ai$8[rbp]
|
||
00268 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
0026f e8 00 00 00 00 call _glfwInputJoystickAxis
|
||
|
||
; 647 : ai++;
|
||
|
||
00274 8b 45 24 mov eax, DWORD PTR ai$8[rbp]
|
||
00277 ff c0 inc eax
|
||
00279 89 45 24 mov DWORD PTR ai$8[rbp], eax
|
||
|
||
; 648 : break;
|
||
|
||
0027c e9 17 01 00 00 jmp $LN5@glfwPollJo
|
||
$LN18@glfwPollJo:
|
||
|
||
; 649 : }
|
||
; 650 :
|
||
; 651 : case _GLFW_TYPE_BUTTON:
|
||
; 652 : {
|
||
; 653 : const char value = (*((BYTE*) data) & 0x80) != 0;
|
||
|
||
00281 48 8b 85 18 01
|
||
00 00 mov rax, QWORD PTR data$13[rbp]
|
||
00288 0f b6 00 movzx eax, BYTE PTR [rax]
|
||
0028b 25 80 00 00 00 and eax, 128 ; 00000080H
|
||
00290 85 c0 test eax, eax
|
||
00292 74 0c je SHORT $LN30@glfwPollJo
|
||
00294 c7 85 24 04 00
|
||
00 01 00 00 00 mov DWORD PTR tv165[rbp], 1
|
||
0029e eb 0a jmp SHORT $LN31@glfwPollJo
|
||
$LN30@glfwPollJo:
|
||
002a0 c7 85 24 04 00
|
||
00 00 00 00 00 mov DWORD PTR tv165[rbp], 0
|
||
$LN31@glfwPollJo:
|
||
002aa 0f b6 85 24 04
|
||
00 00 movzx eax, BYTE PTR tv165[rbp]
|
||
002b1 88 85 54 01 00
|
||
00 mov BYTE PTR value$15[rbp], al
|
||
|
||
; 654 : _glfwInputJoystickButton(js, bi, value);
|
||
|
||
002b7 44 0f b6 85 54
|
||
01 00 00 movzx r8d, BYTE PTR value$15[rbp]
|
||
002bf 8b 55 44 mov edx, DWORD PTR bi$9[rbp]
|
||
002c2 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
002c9 e8 00 00 00 00 call _glfwInputJoystickButton
|
||
|
||
; 655 : bi++;
|
||
|
||
002ce 8b 45 44 mov eax, DWORD PTR bi$9[rbp]
|
||
002d1 ff c0 inc eax
|
||
002d3 89 45 44 mov DWORD PTR bi$9[rbp], eax
|
||
|
||
; 656 : break;
|
||
|
||
002d6 e9 bd 00 00 00 jmp $LN5@glfwPollJo
|
||
$LN19@glfwPollJo:
|
||
|
||
; 657 : }
|
||
; 658 :
|
||
; 659 : case _GLFW_TYPE_POV:
|
||
; 660 : {
|
||
; 661 : const int states[9] =
|
||
|
||
002db c7 85 78 01 00
|
||
00 01 00 00 00 mov DWORD PTR states$16[rbp], 1
|
||
002e5 c7 85 7c 01 00
|
||
00 03 00 00 00 mov DWORD PTR states$16[rbp+4], 3
|
||
002ef c7 85 80 01 00
|
||
00 02 00 00 00 mov DWORD PTR states$16[rbp+8], 2
|
||
002f9 c7 85 84 01 00
|
||
00 06 00 00 00 mov DWORD PTR states$16[rbp+12], 6
|
||
00303 c7 85 88 01 00
|
||
00 04 00 00 00 mov DWORD PTR states$16[rbp+16], 4
|
||
0030d c7 85 8c 01 00
|
||
00 0c 00 00 00 mov DWORD PTR states$16[rbp+20], 12
|
||
00317 c7 85 90 01 00
|
||
00 08 00 00 00 mov DWORD PTR states$16[rbp+24], 8
|
||
00321 c7 85 94 01 00
|
||
00 09 00 00 00 mov DWORD PTR states$16[rbp+28], 9
|
||
0032b c7 85 98 01 00
|
||
00 00 00 00 00 mov DWORD PTR states$16[rbp+32], 0
|
||
|
||
; 662 : {
|
||
; 663 : GLFW_HAT_UP,
|
||
; 664 : GLFW_HAT_RIGHT_UP,
|
||
; 665 : GLFW_HAT_RIGHT,
|
||
; 666 : GLFW_HAT_RIGHT_DOWN,
|
||
; 667 : GLFW_HAT_DOWN,
|
||
; 668 : GLFW_HAT_LEFT_DOWN,
|
||
; 669 : GLFW_HAT_LEFT,
|
||
; 670 : GLFW_HAT_LEFT_UP,
|
||
; 671 : GLFW_HAT_CENTERED
|
||
; 672 : };
|
||
; 673 :
|
||
; 674 : // Screams of horror are appropriate at this point
|
||
; 675 : int stateIndex = LOWORD(*(DWORD*) data) / (45 * DI_DEGREES);
|
||
|
||
00335 48 8b 85 18 01
|
||
00 00 mov rax, QWORD PTR data$13[rbp]
|
||
0033c 8b 00 mov eax, DWORD PTR [rax]
|
||
0033e 48 25 ff ff 00
|
||
00 and rax, 65535 ; 0000ffffH
|
||
00344 0f b7 c0 movzx eax, ax
|
||
00347 99 cdq
|
||
00348 b9 94 11 00 00 mov ecx, 4500 ; 00001194H
|
||
0034d f7 f9 idiv ecx
|
||
0034f 89 85 b4 01 00
|
||
00 mov DWORD PTR stateIndex$17[rbp], eax
|
||
|
||
; 676 : if (stateIndex < 0 || stateIndex > 8)
|
||
|
||
00355 83 bd b4 01 00
|
||
00 00 cmp DWORD PTR stateIndex$17[rbp], 0
|
||
0035c 7c 09 jl SHORT $LN21@glfwPollJo
|
||
0035e 83 bd b4 01 00
|
||
00 08 cmp DWORD PTR stateIndex$17[rbp], 8
|
||
00365 7e 0a jle SHORT $LN20@glfwPollJo
|
||
$LN21@glfwPollJo:
|
||
|
||
; 677 : stateIndex = 8;
|
||
|
||
00367 c7 85 b4 01 00
|
||
00 08 00 00 00 mov DWORD PTR stateIndex$17[rbp], 8
|
||
$LN20@glfwPollJo:
|
||
|
||
; 678 :
|
||
; 679 : _glfwInputJoystickHat(js, pi, states[stateIndex]);
|
||
|
||
00371 48 63 85 b4 01
|
||
00 00 movsxd rax, DWORD PTR stateIndex$17[rbp]
|
||
00378 44 0f b6 84 85
|
||
78 01 00 00 movzx r8d, BYTE PTR states$16[rbp+rax*4]
|
||
00381 8b 55 64 mov edx, DWORD PTR pi$10[rbp]
|
||
00384 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
0038b e8 00 00 00 00 call _glfwInputJoystickHat
|
||
|
||
; 680 : pi++;
|
||
|
||
00390 8b 45 64 mov eax, DWORD PTR pi$10[rbp]
|
||
00393 ff c0 inc eax
|
||
00395 89 45 64 mov DWORD PTR pi$10[rbp], eax
|
||
$LN5@glfwPollJo:
|
||
|
||
; 681 : break;
|
||
; 682 : }
|
||
; 683 : }
|
||
; 684 : }
|
||
|
||
00398 e9 11 fe ff ff jmp $LN2@glfwPollJo
|
||
$LN3@glfwPollJo:
|
||
|
||
; 685 : }
|
||
|
||
0039d e9 0a 03 00 00 jmp $LN11@glfwPollJo
|
||
$LN10@glfwPollJo:
|
||
|
||
; 686 : else
|
||
; 687 : {
|
||
; 688 : int i, dpad = 0;
|
||
|
||
003a2 c7 85 f4 01 00
|
||
00 00 00 00 00 mov DWORD PTR dpad$19[rbp], 0
|
||
|
||
; 689 : DWORD result;
|
||
; 690 : XINPUT_STATE xis;
|
||
; 691 : const WORD buttons[10] =
|
||
|
||
003ac b8 00 10 00 00 mov eax, 4096 ; 00001000H
|
||
003b1 66 89 85 68 02
|
||
00 00 mov WORD PTR buttons$22[rbp], ax
|
||
003b8 b8 00 20 00 00 mov eax, 8192 ; 00002000H
|
||
003bd 66 89 85 6a 02
|
||
00 00 mov WORD PTR buttons$22[rbp+2], ax
|
||
003c4 b8 00 40 00 00 mov eax, 16384 ; 00004000H
|
||
003c9 66 89 85 6c 02
|
||
00 00 mov WORD PTR buttons$22[rbp+4], ax
|
||
003d0 b8 00 80 00 00 mov eax, 32768 ; 00008000H
|
||
003d5 66 89 85 6e 02
|
||
00 00 mov WORD PTR buttons$22[rbp+6], ax
|
||
003dc b8 00 01 00 00 mov eax, 256 ; 00000100H
|
||
003e1 66 89 85 70 02
|
||
00 00 mov WORD PTR buttons$22[rbp+8], ax
|
||
003e8 b8 00 02 00 00 mov eax, 512 ; 00000200H
|
||
003ed 66 89 85 72 02
|
||
00 00 mov WORD PTR buttons$22[rbp+10], ax
|
||
003f4 b8 20 00 00 00 mov eax, 32 ; 00000020H
|
||
003f9 66 89 85 74 02
|
||
00 00 mov WORD PTR buttons$22[rbp+12], ax
|
||
00400 b8 10 00 00 00 mov eax, 16
|
||
00405 66 89 85 76 02
|
||
00 00 mov WORD PTR buttons$22[rbp+14], ax
|
||
0040c b8 40 00 00 00 mov eax, 64 ; 00000040H
|
||
00411 66 89 85 78 02
|
||
00 00 mov WORD PTR buttons$22[rbp+16], ax
|
||
00418 b8 80 00 00 00 mov eax, 128 ; 00000080H
|
||
0041d 66 89 85 7a 02
|
||
00 00 mov WORD PTR buttons$22[rbp+18], ax
|
||
|
||
; 692 : {
|
||
; 693 : XINPUT_GAMEPAD_A,
|
||
; 694 : XINPUT_GAMEPAD_B,
|
||
; 695 : XINPUT_GAMEPAD_X,
|
||
; 696 : XINPUT_GAMEPAD_Y,
|
||
; 697 : XINPUT_GAMEPAD_LEFT_SHOULDER,
|
||
; 698 : XINPUT_GAMEPAD_RIGHT_SHOULDER,
|
||
; 699 : XINPUT_GAMEPAD_BACK,
|
||
; 700 : XINPUT_GAMEPAD_START,
|
||
; 701 : XINPUT_GAMEPAD_LEFT_THUMB,
|
||
; 702 : XINPUT_GAMEPAD_RIGHT_THUMB
|
||
; 703 : };
|
||
; 704 :
|
||
; 705 : result = XInputGetState(js->win32.index, &xis);
|
||
|
||
00424 48 8d 95 38 02
|
||
00 00 lea rdx, QWORD PTR xis$21[rbp]
|
||
0042b 48 8b 85 50 04
|
||
00 00 mov rax, QWORD PTR js$[rbp]
|
||
00432 8b 88 08 01 00
|
||
00 mov ecx, DWORD PTR [rax+264]
|
||
00438 ff 15 90 29 00
|
||
00 call QWORD PTR _glfw+10640
|
||
0043e 89 85 14 02 00
|
||
00 mov DWORD PTR result$20[rbp], eax
|
||
|
||
; 706 : if (result != ERROR_SUCCESS)
|
||
|
||
00444 83 bd 14 02 00
|
||
00 00 cmp DWORD PTR result$20[rbp], 0
|
||
0044b 74 1f je SHORT $LN22@glfwPollJo
|
||
|
||
; 707 : {
|
||
; 708 : if (result == ERROR_DEVICE_NOT_CONNECTED)
|
||
|
||
0044d 81 bd 14 02 00
|
||
00 8f 04 00 00 cmp DWORD PTR result$20[rbp], 1167 ; 0000048fH
|
||
00457 75 0c jne SHORT $LN23@glfwPollJo
|
||
|
||
; 709 : closeJoystick(js);
|
||
|
||
00459 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
00460 e8 00 00 00 00 call closeJoystick
|
||
$LN23@glfwPollJo:
|
||
|
||
; 710 :
|
||
; 711 : return GLFW_FALSE;
|
||
|
||
00465 33 c0 xor eax, eax
|
||
00467 e9 45 02 00 00 jmp $LN1@glfwPollJo
|
||
$LN22@glfwPollJo:
|
||
|
||
; 712 : }
|
||
; 713 :
|
||
; 714 : if (mode == _GLFW_POLL_PRESENCE)
|
||
|
||
0046c 83 bd 58 04 00
|
||
00 00 cmp DWORD PTR mode$[rbp], 0
|
||
00473 75 0a jne SHORT $LN24@glfwPollJo
|
||
|
||
; 715 : return GLFW_TRUE;
|
||
|
||
00475 b8 01 00 00 00 mov eax, 1
|
||
0047a e9 32 02 00 00 jmp $LN1@glfwPollJo
|
||
$LN24@glfwPollJo:
|
||
|
||
; 716 :
|
||
; 717 : _glfwInputJoystickAxis(js, 0, (xis.Gamepad.sThumbLX + 0.5f) / 32767.5f);
|
||
|
||
0047f 0f bf 85 40 02
|
||
00 00 movsx eax, WORD PTR xis$21[rbp+8]
|
||
00486 f3 0f 2a c0 cvtsi2ss xmm0, eax
|
||
0048a f3 0f 58 05 00
|
||
00 00 00 addss xmm0, DWORD PTR __real@3f000000
|
||
00492 f3 0f 5e 05 00
|
||
00 00 00 divss xmm0, DWORD PTR __real@46ffff00
|
||
0049a 0f 28 d0 movaps xmm2, xmm0
|
||
0049d 33 d2 xor edx, edx
|
||
0049f 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
004a6 e8 00 00 00 00 call _glfwInputJoystickAxis
|
||
|
||
; 718 : _glfwInputJoystickAxis(js, 1, -(xis.Gamepad.sThumbLY + 0.5f) / 32767.5f);
|
||
|
||
004ab 0f bf 85 42 02
|
||
00 00 movsx eax, WORD PTR xis$21[rbp+10]
|
||
004b2 f3 0f 2a c0 cvtsi2ss xmm0, eax
|
||
004b6 f3 0f 58 05 00
|
||
00 00 00 addss xmm0, DWORD PTR __real@3f000000
|
||
004be 0f 57 05 00 00
|
||
00 00 xorps xmm0, DWORD PTR __xmm@80000000800000008000000080000000
|
||
004c5 f3 0f 5e 05 00
|
||
00 00 00 divss xmm0, DWORD PTR __real@46ffff00
|
||
004cd 0f 28 d0 movaps xmm2, xmm0
|
||
004d0 ba 01 00 00 00 mov edx, 1
|
||
004d5 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
004dc e8 00 00 00 00 call _glfwInputJoystickAxis
|
||
|
||
; 719 : _glfwInputJoystickAxis(js, 2, (xis.Gamepad.sThumbRX + 0.5f) / 32767.5f);
|
||
|
||
004e1 0f bf 85 44 02
|
||
00 00 movsx eax, WORD PTR xis$21[rbp+12]
|
||
004e8 f3 0f 2a c0 cvtsi2ss xmm0, eax
|
||
004ec f3 0f 58 05 00
|
||
00 00 00 addss xmm0, DWORD PTR __real@3f000000
|
||
004f4 f3 0f 5e 05 00
|
||
00 00 00 divss xmm0, DWORD PTR __real@46ffff00
|
||
004fc 0f 28 d0 movaps xmm2, xmm0
|
||
004ff ba 02 00 00 00 mov edx, 2
|
||
00504 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
0050b e8 00 00 00 00 call _glfwInputJoystickAxis
|
||
|
||
; 720 : _glfwInputJoystickAxis(js, 3, -(xis.Gamepad.sThumbRY + 0.5f) / 32767.5f);
|
||
|
||
00510 0f bf 85 46 02
|
||
00 00 movsx eax, WORD PTR xis$21[rbp+14]
|
||
00517 f3 0f 2a c0 cvtsi2ss xmm0, eax
|
||
0051b f3 0f 58 05 00
|
||
00 00 00 addss xmm0, DWORD PTR __real@3f000000
|
||
00523 0f 57 05 00 00
|
||
00 00 xorps xmm0, DWORD PTR __xmm@80000000800000008000000080000000
|
||
0052a f3 0f 5e 05 00
|
||
00 00 00 divss xmm0, DWORD PTR __real@46ffff00
|
||
00532 0f 28 d0 movaps xmm2, xmm0
|
||
00535 ba 03 00 00 00 mov edx, 3
|
||
0053a 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
00541 e8 00 00 00 00 call _glfwInputJoystickAxis
|
||
|
||
; 721 : _glfwInputJoystickAxis(js, 4, xis.Gamepad.bLeftTrigger / 127.5f - 1.f);
|
||
|
||
00546 0f b6 85 3e 02
|
||
00 00 movzx eax, BYTE PTR xis$21[rbp+6]
|
||
0054d f3 0f 2a c0 cvtsi2ss xmm0, eax
|
||
00551 f3 0f 5e 05 00
|
||
00 00 00 divss xmm0, DWORD PTR __real@42ff0000
|
||
00559 f3 0f 5c 05 00
|
||
00 00 00 subss xmm0, DWORD PTR __real@3f800000
|
||
00561 0f 28 d0 movaps xmm2, xmm0
|
||
00564 ba 04 00 00 00 mov edx, 4
|
||
00569 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
00570 e8 00 00 00 00 call _glfwInputJoystickAxis
|
||
|
||
; 722 : _glfwInputJoystickAxis(js, 5, xis.Gamepad.bRightTrigger / 127.5f - 1.f);
|
||
|
||
00575 0f b6 85 3f 02
|
||
00 00 movzx eax, BYTE PTR xis$21[rbp+7]
|
||
0057c f3 0f 2a c0 cvtsi2ss xmm0, eax
|
||
00580 f3 0f 5e 05 00
|
||
00 00 00 divss xmm0, DWORD PTR __real@42ff0000
|
||
00588 f3 0f 5c 05 00
|
||
00 00 00 subss xmm0, DWORD PTR __real@3f800000
|
||
00590 0f 28 d0 movaps xmm2, xmm0
|
||
00593 ba 05 00 00 00 mov edx, 5
|
||
00598 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
0059f e8 00 00 00 00 call _glfwInputJoystickAxis
|
||
|
||
; 723 :
|
||
; 724 : for (i = 0; i < 10; i++)
|
||
|
||
005a4 c7 85 d4 01 00
|
||
00 00 00 00 00 mov DWORD PTR i$18[rbp], 0
|
||
005ae eb 0e jmp SHORT $LN9@glfwPollJo
|
||
$LN7@glfwPollJo:
|
||
005b0 8b 85 d4 01 00
|
||
00 mov eax, DWORD PTR i$18[rbp]
|
||
005b6 ff c0 inc eax
|
||
005b8 89 85 d4 01 00
|
||
00 mov DWORD PTR i$18[rbp], eax
|
||
$LN9@glfwPollJo:
|
||
005be 83 bd d4 01 00
|
||
00 0a cmp DWORD PTR i$18[rbp], 10
|
||
005c5 7d 5b jge SHORT $LN8@glfwPollJo
|
||
|
||
; 725 : {
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
005c7 0f b7 85 3c 02
|
||
00 00 movzx eax, WORD PTR xis$21[rbp+4]
|
||
005ce 48 63 8d d4 01
|
||
00 00 movsxd rcx, DWORD PTR i$18[rbp]
|
||
005d5 0f b7 8c 4d 68
|
||
02 00 00 movzx ecx, WORD PTR buttons$22[rbp+rcx*2]
|
||
005dd 23 c1 and eax, ecx
|
||
005df 85 c0 test eax, eax
|
||
005e1 74 0c je SHORT $LN32@glfwPollJo
|
||
005e3 c7 85 24 04 00
|
||
00 01 00 00 00 mov DWORD PTR tv286[rbp], 1
|
||
005ed eb 0a jmp SHORT $LN33@glfwPollJo
|
||
$LN32@glfwPollJo:
|
||
005ef c7 85 24 04 00
|
||
00 00 00 00 00 mov DWORD PTR tv286[rbp], 0
|
||
$LN33@glfwPollJo:
|
||
005f9 0f b6 85 24 04
|
||
00 00 movzx eax, BYTE PTR tv286[rbp]
|
||
00600 88 85 94 02 00
|
||
00 mov BYTE PTR value$23[rbp], al
|
||
|
||
; 727 : _glfwInputJoystickButton(js, i, value);
|
||
|
||
00606 44 0f b6 85 94
|
||
02 00 00 movzx r8d, BYTE PTR value$23[rbp]
|
||
0060e 8b 95 d4 01 00
|
||
00 mov edx, DWORD PTR i$18[rbp]
|
||
00614 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
0061b e8 00 00 00 00 call _glfwInputJoystickButton
|
||
|
||
; 728 : }
|
||
|
||
00620 eb 8e jmp SHORT $LN7@glfwPollJo
|
||
$LN8@glfwPollJo:
|
||
|
||
; 729 :
|
||
; 730 : if (xis.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_UP)
|
||
|
||
00622 0f b7 85 3c 02
|
||
00 00 movzx eax, WORD PTR xis$21[rbp+4]
|
||
00629 83 e0 01 and eax, 1
|
||
0062c 85 c0 test eax, eax
|
||
0062e 74 0f je SHORT $LN25@glfwPollJo
|
||
|
||
; 731 : dpad |= GLFW_HAT_UP;
|
||
|
||
00630 8b 85 f4 01 00
|
||
00 mov eax, DWORD PTR dpad$19[rbp]
|
||
00636 83 c8 01 or eax, 1
|
||
00639 89 85 f4 01 00
|
||
00 mov DWORD PTR dpad$19[rbp], eax
|
||
$LN25@glfwPollJo:
|
||
|
||
; 732 : if (xis.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_RIGHT)
|
||
|
||
0063f 0f b7 85 3c 02
|
||
00 00 movzx eax, WORD PTR xis$21[rbp+4]
|
||
00646 83 e0 08 and eax, 8
|
||
00649 85 c0 test eax, eax
|
||
0064b 74 0f je SHORT $LN26@glfwPollJo
|
||
|
||
; 733 : dpad |= GLFW_HAT_RIGHT;
|
||
|
||
0064d 8b 85 f4 01 00
|
||
00 mov eax, DWORD PTR dpad$19[rbp]
|
||
00653 83 c8 02 or eax, 2
|
||
00656 89 85 f4 01 00
|
||
00 mov DWORD PTR dpad$19[rbp], eax
|
||
$LN26@glfwPollJo:
|
||
|
||
; 734 : if (xis.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_DOWN)
|
||
|
||
0065c 0f b7 85 3c 02
|
||
00 00 movzx eax, WORD PTR xis$21[rbp+4]
|
||
00663 83 e0 02 and eax, 2
|
||
00666 85 c0 test eax, eax
|
||
00668 74 0f je SHORT $LN27@glfwPollJo
|
||
|
||
; 735 : dpad |= GLFW_HAT_DOWN;
|
||
|
||
0066a 8b 85 f4 01 00
|
||
00 mov eax, DWORD PTR dpad$19[rbp]
|
||
00670 83 c8 04 or eax, 4
|
||
00673 89 85 f4 01 00
|
||
00 mov DWORD PTR dpad$19[rbp], eax
|
||
$LN27@glfwPollJo:
|
||
|
||
; 736 : if (xis.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_LEFT)
|
||
|
||
00679 0f b7 85 3c 02
|
||
00 00 movzx eax, WORD PTR xis$21[rbp+4]
|
||
00680 83 e0 04 and eax, 4
|
||
00683 85 c0 test eax, eax
|
||
00685 74 0f je SHORT $LN28@glfwPollJo
|
||
|
||
; 737 : dpad |= GLFW_HAT_LEFT;
|
||
|
||
00687 8b 85 f4 01 00
|
||
00 mov eax, DWORD PTR dpad$19[rbp]
|
||
0068d 83 c8 08 or eax, 8
|
||
00690 89 85 f4 01 00
|
||
00 mov DWORD PTR dpad$19[rbp], eax
|
||
$LN28@glfwPollJo:
|
||
|
||
; 738 :
|
||
; 739 : _glfwInputJoystickHat(js, 0, dpad);
|
||
|
||
00696 44 0f b6 85 f4
|
||
01 00 00 movzx r8d, BYTE PTR dpad$19[rbp]
|
||
0069e 33 d2 xor edx, edx
|
||
006a0 48 8b 8d 50 04
|
||
00 00 mov rcx, QWORD PTR js$[rbp]
|
||
006a7 e8 00 00 00 00 call _glfwInputJoystickHat
|
||
$LN11@glfwPollJo:
|
||
|
||
; 740 : }
|
||
; 741 :
|
||
; 742 : return GLFW_TRUE;
|
||
|
||
006ac b8 01 00 00 00 mov eax, 1
|
||
$LN1@glfwPollJo:
|
||
|
||
; 743 : }
|
||
|
||
006b1 48 8b f8 mov rdi, rax
|
||
006b4 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
||
006b8 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:_glfwPollJoystickWin32$rtcFrameData
|
||
006bf e8 00 00 00 00 call _RTC_CheckStackVars
|
||
006c4 48 8b c7 mov rax, rdi
|
||
006c7 48 8b 8d 28 04
|
||
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
||
006ce 48 33 cd xor rcx, rbp
|
||
006d1 e8 00 00 00 00 call __security_check_cookie
|
||
006d6 48 8d a5 38 04
|
||
00 00 lea rsp, QWORD PTR [rbp+1080]
|
||
006dd 5f pop rdi
|
||
006de 5d pop rbp
|
||
006df c3 ret 0
|
||
_glfwPollJoystickWin32 ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwTerminateJoysticksWin32
|
||
_TEXT SEGMENT
|
||
jid$ = 4
|
||
_glfwTerminateJoysticksWin32 PROC ; COMDAT
|
||
|
||
; 596 : {
|
||
|
||
$LN7:
|
||
00000 40 55 push rbp
|
||
00002 57 push rdi
|
||
00003 48 81 ec 08 01
|
||
00 00 sub rsp, 264 ; 00000108H
|
||
0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||
0000f 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__BD81096D_win32_joystick@c
|
||
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 597 : int jid;
|
||
; 598 :
|
||
; 599 : for (jid = GLFW_JOYSTICK_1; jid <= GLFW_JOYSTICK_LAST; jid++)
|
||
|
||
0001b c7 45 04 00 00
|
||
00 00 mov DWORD PTR jid$[rbp], 0
|
||
00022 eb 08 jmp SHORT $LN4@glfwTermin
|
||
$LN2@glfwTermin:
|
||
00024 8b 45 04 mov eax, DWORD PTR jid$[rbp]
|
||
00027 ff c0 inc eax
|
||
00029 89 45 04 mov DWORD PTR jid$[rbp], eax
|
||
$LN4@glfwTermin:
|
||
0002c 83 7d 04 0f cmp DWORD PTR jid$[rbp], 15
|
||
00030 7f 22 jg SHORT $LN3@glfwTermin
|
||
|
||
; 600 : closeJoystick(_glfw.joysticks + jid);
|
||
|
||
00032 48 63 45 04 movsxd rax, DWORD PTR jid$[rbp]
|
||
00036 48 69 c0 20 01
|
||
00 00 imul rax, rax, 288 ; 00000120H
|
||
0003d 48 8d 0d 90 07
|
||
00 00 lea rcx, OFFSET FLAT:_glfw+1936
|
||
00044 48 03 c8 add rcx, rax
|
||
00047 48 8b c1 mov rax, rcx
|
||
0004a 48 8b c8 mov rcx, rax
|
||
0004d e8 00 00 00 00 call closeJoystick
|
||
00052 eb d0 jmp SHORT $LN2@glfwTermin
|
||
$LN3@glfwTermin:
|
||
|
||
; 601 :
|
||
; 602 : if (_glfw.win32.dinput8.api)
|
||
|
||
00054 48 83 3d 78 29
|
||
00 00 00 cmp QWORD PTR _glfw+10616, 0
|
||
0005c 74 14 je SHORT $LN5@glfwTermin
|
||
|
||
; 603 : IDirectInput8_Release(_glfw.win32.dinput8.api);
|
||
|
||
0005e 48 8b 05 78 29
|
||
00 00 mov rax, QWORD PTR _glfw+10616
|
||
00065 48 8b 00 mov rax, QWORD PTR [rax]
|
||
00068 48 8b 0d 78 29
|
||
00 00 mov rcx, QWORD PTR _glfw+10616
|
||
0006f ff 50 10 call QWORD PTR [rax+16]
|
||
$LN5@glfwTermin:
|
||
|
||
; 604 : }
|
||
|
||
00072 48 8d a5 e8 00
|
||
00 00 lea rsp, QWORD PTR [rbp+232]
|
||
00079 5f pop rdi
|
||
0007a 5d pop rbp
|
||
0007b c3 ret 0
|
||
_glfwTerminateJoysticksWin32 ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Odtp /RTCsu /ZI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwInitJoysticksWin32
|
||
_TEXT SEGMENT
|
||
_glfwInitJoysticksWin32 PROC ; COMDAT
|
||
|
||
; 576 : {
|
||
|
||
$LN5:
|
||
00000 40 55 push rbp
|
||
00002 57 push rdi
|
||
00003 48 81 ec f8 00
|
||
00 00 sub rsp, 248 ; 000000f8H
|
||
0000a 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
||
0000f 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:__BD81096D_win32_joystick@c
|
||
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||
|
||
; 577 : if (_glfw.win32.dinput8.instance)
|
||
|
||
0001b 48 83 3d 68 29
|
||
00 00 00 cmp QWORD PTR _glfw+10600, 0
|
||
00023 74 42 je SHORT $LN2@glfwInitJo
|
||
|
||
; 578 : {
|
||
; 579 : if (FAILED(DirectInput8Create(_glfw.win32.instance,
|
||
|
||
00025 48 c7 44 24 20
|
||
00 00 00 00 mov QWORD PTR [rsp+32], 0
|
||
0002e 4c 8d 0d 78 29
|
||
00 00 lea r9, OFFSET FLAT:_glfw+10616
|
||
00035 4c 8d 05 00 00
|
||
00 00 lea r8, OFFSET FLAT:_glfw_IID_IDirectInput8W
|
||
0003c ba 00 08 00 00 mov edx, 2048 ; 00000800H
|
||
00041 48 8b 0d 78 1b
|
||
00 00 mov rcx, QWORD PTR _glfw+7032
|
||
00048 ff 15 70 29 00
|
||
00 call QWORD PTR _glfw+10608
|
||
0004e 85 c0 test eax, eax
|
||
00050 7d 15 jge SHORT $LN3@glfwInitJo
|
||
|
||
; 580 : DIRECTINPUT_VERSION,
|
||
; 581 : &IID_IDirectInput8W,
|
||
; 582 : (void**) &_glfw.win32.dinput8.api,
|
||
; 583 : NULL)))
|
||
; 584 : {
|
||
; 585 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
00052 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CC@MGDCJJKB@Win32?3?5Failed?5to?5create?5interfa@
|
||
00059 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
0005e e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 586 : "Win32: Failed to create interface");
|
||
; 587 : return GLFW_FALSE;
|
||
|
||
00063 33 c0 xor eax, eax
|
||
00065 eb 0a jmp SHORT $LN1@glfwInitJo
|
||
$LN3@glfwInitJo:
|
||
$LN2@glfwInitJo:
|
||
|
||
; 588 : }
|
||
; 589 : }
|
||
; 590 :
|
||
; 591 : _glfwDetectJoystickConnectionWin32();
|
||
|
||
00067 e8 00 00 00 00 call _glfwDetectJoystickConnectionWin32
|
||
|
||
; 592 : return GLFW_TRUE;
|
||
|
||
0006c b8 01 00 00 00 mov eax, 1
|
||
$LN1@glfwInitJo:
|
||
|
||
; 593 : }
|
||
|
||
00071 48 8d a5 c8 00
|
||
00 00 lea rsp, QWORD PTR [rbp+200]
|
||
00078 5f pop rdi
|
||
00079 5d pop rbp
|
||
0007a c3 ret 0
|
||
_glfwInitJoysticksWin32 ENDP
|
||
_TEXT ENDS
|
||
END
|