4430 lines
144 KiB
Plaintext
4430 lines
144 KiB
Plaintext
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0
|
||
|
||
include listing.inc
|
||
|
||
INCLUDELIB OLDNAMES
|
||
|
||
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'
|
||
EXTRN __imp_GetRawInputDeviceInfoA:PROC
|
||
EXTRN __imp_GetRawInputDeviceList:PROC
|
||
_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
|
||
; 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'
|
||
_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_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_YAxis DD 0a36d02e1H
|
||
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
|
||
_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_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_Slider DD 0a36d02e4H
|
||
DW 0c9f3H
|
||
DW 011cfH
|
||
DB 0bfH
|
||
DB 0c7H
|
||
DB 044H
|
||
DB 045H
|
||
DB 053H
|
||
DB 054H
|
||
DB 00H
|
||
DB 00H
|
||
_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_POV DD 0a36d02f2H
|
||
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
|
||
PUBLIC sprintf
|
||
PUBLIC _vsprintf_l
|
||
PUBLIC _vsnprintf_l
|
||
PUBLIC _glfwPollJoystickWin32
|
||
PUBLIC _glfwInitJoysticksWin32
|
||
PUBLIC _glfwDetectJoystickConnectionWin32
|
||
PUBLIC _glfwTerminateJoysticksWin32
|
||
PUBLIC _glfwDetectJoystickDisconnectionWin32
|
||
PUBLIC _glfwGetMappingNameWin32
|
||
PUBLIC _glfwUpdateGamepadGUIDWin32
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$deviceCallback DD imagerel deviceCallback
|
||
DD imagerel deviceCallback+1128
|
||
DD imagerel $unwind$deviceCallback
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$deviceObjectCallback DD imagerel deviceObjectCallback
|
||
DD imagerel deviceObjectCallback+517
|
||
DD imagerel $unwind$deviceObjectCallback
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$closeJoystick DD imagerel closeJoystick
|
||
DD imagerel closeJoystick+222
|
||
DD imagerel $unwind$closeJoystick
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$supportsXInput DD imagerel supportsXInput
|
||
DD imagerel supportsXInput+243
|
||
DD imagerel $unwind$supportsXInput
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$0$supportsXInput DD imagerel supportsXInput+243
|
||
DD imagerel supportsXInput+467
|
||
DD imagerel $chain$0$supportsXInput
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$1$supportsXInput DD imagerel supportsXInput+467
|
||
DD imagerel supportsXInput+495
|
||
DD imagerel $chain$1$supportsXInput
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$sprintf DD imagerel $LN8
|
||
DD imagerel $LN8+94
|
||
DD imagerel $unwind$sprintf
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_vsprintf_l DD imagerel $LN6
|
||
DD imagerel $LN6+93
|
||
DD imagerel $unwind$_vsprintf_l
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_vsnprintf_l DD imagerel $LN4
|
||
DD imagerel $LN4+85
|
||
DD imagerel $unwind$_vsnprintf_l
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_glfwPollJoystickWin32 DD imagerel $LN86
|
||
DD imagerel $LN86+229
|
||
DD imagerel $unwind$_glfwPollJoystickWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$3$_glfwPollJoystickWin32 DD imagerel $LN86+229
|
||
DD imagerel $LN86+600
|
||
DD imagerel $chain$3$_glfwPollJoystickWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$4$_glfwPollJoystickWin32 DD imagerel $LN86+600
|
||
DD imagerel $LN86+1201
|
||
DD imagerel $chain$4$_glfwPollJoystickWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_glfwInitJoysticksWin32 DD imagerel $LN6
|
||
DD imagerel $LN6+98
|
||
DD imagerel $unwind$_glfwInitJoysticksWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_glfwDetectJoystickConnectionWin32 DD imagerel $LN56
|
||
DD imagerel $LN56+39
|
||
DD imagerel $unwind$_glfwDetectJoystickConnectionWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$6$_glfwDetectJoystickConnectionWin32 DD imagerel $LN56+39
|
||
DD imagerel $LN56+474
|
||
DD imagerel $chain$6$_glfwDetectJoystickConnectionWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$7$_glfwDetectJoystickConnectionWin32 DD imagerel $LN56+474
|
||
DD imagerel $LN56+588
|
||
DD imagerel $chain$7$_glfwDetectJoystickConnectionWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_glfwTerminateJoysticksWin32 DD imagerel $LN43
|
||
DD imagerel $LN43+306
|
||
DD imagerel $unwind$_glfwTerminateJoysticksWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_glfwDetectJoystickDisconnectionWin32 DD imagerel $LN71
|
||
DD imagerel $LN71+267
|
||
DD imagerel $unwind$_glfwDetectJoystickDisconnectionWin32
|
||
pdata ENDS
|
||
; COMDAT pdata
|
||
pdata SEGMENT
|
||
$pdata$_glfwUpdateGamepadGUIDWin32 DD imagerel $LN6
|
||
DD imagerel $LN6+106
|
||
DD imagerel $unwind$_glfwUpdateGamepadGUIDWin32
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_glfwUpdateGamepadGUIDWin32 DD 021519H
|
||
DD 030029206H
|
||
DD imagerel __GSHandlerCheck
|
||
DD 048H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_glfwDetectJoystickDisconnectionWin32 DD 051f19H
|
||
DD 014340dH
|
||
DD 012010dH
|
||
DD 07006H
|
||
DD imagerel __GSHandlerCheck
|
||
DD 080H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_glfwTerminateJoysticksWin32 DD 081401H
|
||
DD 086414H
|
||
DD 075414H
|
||
DD 063414H
|
||
DD 070103214H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$chain$7$_glfwDetectJoystickConnectionWin32 DD 021H
|
||
DD imagerel $LN56
|
||
DD imagerel $LN56+39
|
||
DD imagerel $unwind$_glfwDetectJoystickConnectionWin32
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$chain$6$_glfwDetectJoystickConnectionWin32 DD 0e4421H
|
||
DD 010f444H
|
||
DD 011e436H
|
||
DD 012c42bH
|
||
DD 0177420H
|
||
DD 0166415H
|
||
DD 015540aH
|
||
DD 0143404H
|
||
DD imagerel $LN56
|
||
DD imagerel $LN56+39
|
||
DD imagerel $unwind$_glfwDetectJoystickConnectionWin32
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_glfwDetectJoystickConnectionWin32 DD 021919H
|
||
DD 013010aH
|
||
DD imagerel __GSHandlerCheck
|
||
DD 070H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_glfwInitJoysticksWin32 DD 010401H
|
||
DD 06204H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$chain$4$_glfwPollJoystickWin32 DD 021H
|
||
DD imagerel $LN86
|
||
DD imagerel $LN86+229
|
||
DD imagerel $unwind$_glfwPollJoystickWin32
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$chain$3$_glfwPollJoystickWin32 DD 082b21H
|
||
DD 018f42bH
|
||
DD 021e420H
|
||
DD 020d413H
|
||
DD 01f6408H
|
||
DD imagerel $LN86
|
||
DD imagerel $LN86+229
|
||
DD imagerel $unwind$_glfwPollJoystickWin32
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_glfwPollJoystickWin32 DD 062019H
|
||
DD 0190112H
|
||
DD 07004c006H
|
||
DD 050023003H
|
||
DD imagerel __GSHandlerCheck
|
||
DD 0b0H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_vsnprintf_l DD 040a01H
|
||
DD 08340aH
|
||
DD 07006520aH
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$_vsprintf_l DD 060f01H
|
||
DD 09640fH
|
||
DD 08340fH
|
||
DD 0700b520fH
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$sprintf DD 041601H
|
||
DD 070125216H
|
||
DD 030106011H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$chain$1$supportsXInput DD 021H
|
||
DD imagerel supportsXInput
|
||
DD imagerel supportsXInput+243
|
||
DD imagerel $unwind$supportsXInput
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$chain$0$supportsXInput DD 020821H
|
||
DD 02e6408H
|
||
DD imagerel supportsXInput
|
||
DD imagerel supportsXInput+243
|
||
DD imagerel $unwind$supportsXInput
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$supportsXInput DD 092a19H
|
||
DD 0317418H
|
||
DD 0305418H
|
||
DD 02f3418H
|
||
DD 02c0118H
|
||
DD 0e011H
|
||
DD imagerel __GSHandlerCheck
|
||
DD 0150H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$closeJoystick DD 020601H
|
||
DD 030023206H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$deviceObjectCallback DD 061e19H
|
||
DD 0d640fH
|
||
DD 0c340fH
|
||
DD 0700b720fH
|
||
DD imagerel __GSHandlerCheck
|
||
DD 038H
|
||
xdata ENDS
|
||
; COMDAT xdata
|
||
xdata SEGMENT
|
||
$unwind$deviceCallback DD 0b3919H
|
||
DD 04a7439H
|
||
DD 0496432H
|
||
DD 04b341aH
|
||
DD 044011aH
|
||
DD 0e00af00cH
|
||
DD 05008H
|
||
DD imagerel __GSHandlerCheck
|
||
DD 0210H
|
||
; Function compile flags: /Ogtpy
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwUpdateGamepadGUIDWin32
|
||
_TEXT SEGMENT
|
||
original$1 = 32
|
||
__$ArrayPad$ = 72
|
||
guid$ = 96
|
||
_glfwUpdateGamepadGUIDWin32 PROC ; COMDAT
|
||
|
||
; 751 : {
|
||
|
||
$LN6:
|
||
00000 40 53 push rbx
|
||
00002 48 83 ec 50 sub rsp, 80 ; 00000050H
|
||
00006 48 8b 05 00 00
|
||
00 00 mov rax, QWORD PTR __security_cookie
|
||
0000d 48 33 c4 xor rax, rsp
|
||
00010 48 89 44 24 48 mov QWORD PTR __$ArrayPad$[rsp], rax
|
||
00015 48 8b d9 mov rbx, rcx
|
||
|
||
; 752 : if (strcmp(guid + 20, "504944564944") == 0)
|
||
|
||
00018 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0N@OJEJPFOD@504944564944@
|
||
0001f 48 83 c1 14 add rcx, 20
|
||
00023 e8 00 00 00 00 call strcmp
|
||
00028 85 c0 test eax, eax
|
||
0002a 75 2b jne SHORT $LN2@glfwUpdate
|
||
|
||
; 753 : {
|
||
; 754 : char original[33];
|
||
; 755 : strncpy(original, guid, sizeof(original) - 1);
|
||
|
||
0002c 44 8d 40 20 lea r8d, QWORD PTR [rax+32]
|
||
00030 48 8b d3 mov rdx, rbx
|
||
00033 48 8d 4c 24 20 lea rcx, QWORD PTR original$1[rsp]
|
||
00038 ff 15 00 00 00
|
||
00 call QWORD PTR __imp_strncpy
|
||
|
||
; 756 : sprintf(guid, "03000000%.4s0000%.4s000000000000",
|
||
|
||
0003e 4c 8d 4c 24 24 lea r9, QWORD PTR original$1[rsp+4]
|
||
00043 48 8b cb mov rcx, rbx
|
||
00046 4c 8d 44 24 20 lea r8, QWORD PTR original$1[rsp]
|
||
0004b 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CB@BIHPPBFK@03000000?$CF?44s0000?$CF?44s00000000000@
|
||
00052 e8 00 00 00 00 call sprintf
|
||
$LN2@glfwUpdate:
|
||
|
||
; 757 : original, original + 4);
|
||
; 758 : }
|
||
; 759 : }
|
||
|
||
00057 48 8b 4c 24 48 mov rcx, QWORD PTR __$ArrayPad$[rsp]
|
||
0005c 48 33 cc xor rcx, rsp
|
||
0005f e8 00 00 00 00 call __security_check_cookie
|
||
00064 48 83 c4 50 add rsp, 80 ; 00000050H
|
||
00068 5b pop rbx
|
||
00069 c3 ret 0
|
||
_glfwUpdateGamepadGUIDWin32 ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwGetMappingNameWin32
|
||
_TEXT SEGMENT
|
||
_glfwGetMappingNameWin32 PROC ; COMDAT
|
||
|
||
; 747 : return "Windows";
|
||
|
||
00000 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_07LDLFNPGN@Windows@
|
||
|
||
; 748 : }
|
||
|
||
00007 c3 ret 0
|
||
_glfwGetMappingNameWin32 ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwDetectJoystickDisconnectionWin32
|
||
_TEXT SEGMENT
|
||
state$1 = 32
|
||
xis$2 = 112
|
||
__$ArrayPad$ = 128
|
||
_glfwDetectJoystickDisconnectionWin32 PROC ; COMDAT
|
||
|
||
; 559 : {
|
||
|
||
$LN71:
|
||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||
00005 57 push rdi
|
||
00006 48 81 ec 90 00
|
||
00 00 sub rsp, 144 ; 00000090H
|
||
0000d 48 8b 05 00 00
|
||
00 00 mov rax, QWORD PTR __security_cookie
|
||
00014 48 33 c4 xor rax, rsp
|
||
00017 48 89 84 24 80
|
||
00 00 00 mov QWORD PTR __$ArrayPad$[rsp], rax
|
||
0001f 48 8d 1d 90 08
|
||
00 00 lea rbx, OFFSET FLAT:_glfw+2192
|
||
00026 48 8d 3d 70 19
|
||
00 00 lea rdi, OFFSET FLAT:_glfw+6512
|
||
0002d 0f 1f 00 npad 3
|
||
$LL4@glfwDetect:
|
||
|
||
; 563 : {
|
||
; 564 : _GLFWjoystick* js = _glfw.joysticks + jid;
|
||
; 565 : if (js->connected)
|
||
|
||
00030 83 bb 04 ff ff
|
||
ff 00 cmp DWORD PTR [rbx-252], 0
|
||
00037 0f 84 9d 00 00
|
||
00 je $LN2@glfwDetect
|
||
|
||
; 608 : if (js->win32.device)
|
||
|
||
0003d 48 8b 0b mov rcx, QWORD PTR [rbx]
|
||
00040 48 85 c9 test rcx, rcx
|
||
00043 74 74 je SHORT $LN16@glfwDetect
|
||
00045 0f 57 c0 xorps xmm0, xmm0
|
||
|
||
; 609 : {
|
||
; 610 : int i, ai = 0, bi = 0, pi = 0;
|
||
; 611 : HRESULT result;
|
||
; 612 : DIJOYSTATE state = {0};
|
||
|
||
00048 0f 11 44 24 20 movups XMMWORD PTR state$1[rsp], xmm0
|
||
0004d 0f 11 44 24 30 movups XMMWORD PTR state$1[rsp+16], xmm0
|
||
00052 0f 11 44 24 40 movups XMMWORD PTR state$1[rsp+32], xmm0
|
||
00057 0f 11 44 24 50 movups XMMWORD PTR state$1[rsp+48], xmm0
|
||
0005c 0f 11 44 24 60 movups XMMWORD PTR state$1[rsp+64], xmm0
|
||
|
||
; 613 :
|
||
; 614 : IDirectInputDevice8_Poll(js->win32.device);
|
||
|
||
00061 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
00064 ff 90 c8 00 00
|
||
00 call QWORD PTR [rax+200]
|
||
|
||
; 615 : result = IDirectInputDevice8_GetDeviceState(js->win32.device,
|
||
|
||
0006a 48 8b 0b mov rcx, QWORD PTR [rbx]
|
||
0006d 4c 8d 44 24 20 lea r8, QWORD PTR state$1[rsp]
|
||
00072 ba 50 00 00 00 mov edx, 80 ; 00000050H
|
||
00077 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
0007a ff 50 48 call QWORD PTR [rax+72]
|
||
|
||
; 616 : sizeof(state),
|
||
; 617 : &state);
|
||
; 618 : if (result == DIERR_NOTACQUIRED || result == DIERR_INPUTLOST)
|
||
|
||
0007d 3d 0c 00 07 80 cmp eax, -2147024884 ; ffffffff8007000cH
|
||
00082 74 07 je SHORT $LN19@glfwDetect
|
||
00084 3d 1e 00 07 80 cmp eax, -2147024866 ; ffffffff8007001eH
|
||
00089 75 28 jne SHORT $LN18@glfwDetect
|
||
$LN19@glfwDetect:
|
||
|
||
; 619 : {
|
||
; 620 : IDirectInputDevice8_Acquire(js->win32.device);
|
||
|
||
0008b 48 8b 0b mov rcx, QWORD PTR [rbx]
|
||
0008e 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
00091 ff 50 38 call QWORD PTR [rax+56]
|
||
|
||
; 621 : IDirectInputDevice8_Poll(js->win32.device);
|
||
|
||
00094 48 8b 0b mov rcx, QWORD PTR [rbx]
|
||
00097 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
0009a ff 90 c8 00 00
|
||
00 call QWORD PTR [rax+200]
|
||
|
||
; 622 : result = IDirectInputDevice8_GetDeviceState(js->win32.device,
|
||
|
||
000a0 48 8b 0b mov rcx, QWORD PTR [rbx]
|
||
000a3 4c 8d 44 24 20 lea r8, QWORD PTR state$1[rsp]
|
||
000a8 ba 50 00 00 00 mov edx, 80 ; 00000050H
|
||
000ad 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
000b0 ff 50 48 call QWORD PTR [rax+72]
|
||
$LN18@glfwDetect:
|
||
|
||
; 623 : sizeof(state),
|
||
; 624 : &state);
|
||
; 625 : }
|
||
; 626 :
|
||
; 627 : if (FAILED(result))
|
||
|
||
000b3 85 c0 test eax, eax
|
||
000b5 79 23 jns SHORT $LN2@glfwDetect
|
||
|
||
; 628 : {
|
||
; 629 : closeJoystick(js);
|
||
; 630 : return GLFW_FALSE;
|
||
|
||
000b7 eb 15 jmp SHORT $LN69@glfwDetect
|
||
$LN16@glfwDetect:
|
||
|
||
; 631 : }
|
||
; 632 :
|
||
; 633 : if (mode == _GLFW_POLL_PRESENCE)
|
||
; 634 : return GLFW_TRUE;
|
||
; 635 :
|
||
; 636 : for (i = 0; i < js->win32.objectCount; i++)
|
||
; 637 : {
|
||
; 638 : const void* data = (char*) &state + js->win32.objects[i].offset;
|
||
; 639 :
|
||
; 640 : switch (js->win32.objects[i].type)
|
||
; 641 : {
|
||
; 642 : case _GLFW_TYPE_AXIS:
|
||
; 643 : case _GLFW_TYPE_SLIDER:
|
||
; 644 : {
|
||
; 645 : const float value = (*((LONG*) data) + 0.5f) / 32767.5f;
|
||
; 646 : _glfwInputJoystickAxis(js, ai, value);
|
||
; 647 : ai++;
|
||
; 648 : break;
|
||
; 649 : }
|
||
; 650 :
|
||
; 651 : case _GLFW_TYPE_BUTTON:
|
||
; 652 : {
|
||
; 653 : const char value = (*((BYTE*) data) & 0x80) != 0;
|
||
; 654 : _glfwInputJoystickButton(js, bi, value);
|
||
; 655 : bi++;
|
||
; 656 : break;
|
||
; 657 : }
|
||
; 658 :
|
||
; 659 : case _GLFW_TYPE_POV:
|
||
; 660 : {
|
||
; 661 : const int states[9] =
|
||
; 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);
|
||
; 676 : if (stateIndex < 0 || stateIndex > 8)
|
||
; 677 : stateIndex = 8;
|
||
; 678 :
|
||
; 679 : _glfwInputJoystickHat(js, pi, states[stateIndex]);
|
||
; 680 : pi++;
|
||
; 681 : break;
|
||
; 682 : }
|
||
; 683 : }
|
||
; 684 : }
|
||
; 685 : }
|
||
; 686 : else
|
||
; 687 : {
|
||
; 688 : int i, dpad = 0;
|
||
; 689 : DWORD result;
|
||
; 690 : XINPUT_STATE xis;
|
||
; 691 : const WORD buttons[10] =
|
||
; 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);
|
||
|
||
000b9 8b 4b 08 mov ecx, DWORD PTR [rbx+8]
|
||
000bc 48 8d 54 24 70 lea rdx, QWORD PTR xis$2[rsp]
|
||
000c1 ff 15 90 29 00
|
||
00 call QWORD PTR _glfw+10640
|
||
|
||
; 706 : if (result != ERROR_SUCCESS)
|
||
|
||
000c7 3d 8f 04 00 00 cmp eax, 1167 ; 0000048fH
|
||
000cc 75 0c jne SHORT $LN2@glfwDetect
|
||
$LN69@glfwDetect:
|
||
|
||
; 560 : int jid;
|
||
; 561 :
|
||
; 562 : for (jid = 0; jid <= GLFW_JOYSTICK_LAST; jid++)
|
||
|
||
000ce 48 8d 8b 00 ff
|
||
ff ff lea rcx, QWORD PTR [rbx-256]
|
||
000d5 e8 00 00 00 00 call closeJoystick
|
||
$LN2@glfwDetect:
|
||
000da 48 81 c3 20 01
|
||
00 00 add rbx, 288 ; 00000120H
|
||
000e1 48 3b df cmp rbx, rdi
|
||
000e4 0f 8e 46 ff ff
|
||
ff jle $LL4@glfwDetect
|
||
|
||
; 566 : _glfwPollJoystickWin32(js, _GLFW_POLL_PRESENCE);
|
||
; 567 : }
|
||
; 568 : }
|
||
|
||
000ea 48 8b 8c 24 80
|
||
00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rsp]
|
||
000f2 48 33 cc xor rcx, rsp
|
||
000f5 e8 00 00 00 00 call __security_check_cookie
|
||
000fa 48 8b 9c 24 a0
|
||
00 00 00 mov rbx, QWORD PTR [rsp+160]
|
||
00102 48 81 c4 90 00
|
||
00 00 add rsp, 144 ; 00000090H
|
||
00109 5f pop rdi
|
||
0010a c3 ret 0
|
||
_glfwDetectJoystickDisconnectionWin32 ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwTerminateJoysticksWin32
|
||
_TEXT SEGMENT
|
||
_glfwTerminateJoysticksWin32 PROC ; COMDAT
|
||
|
||
; 596 : {
|
||
|
||
$LN43:
|
||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||
00005 48 89 6c 24 10 mov QWORD PTR [rsp+16], rbp
|
||
0000a 48 89 74 24 18 mov QWORD PTR [rsp+24], rsi
|
||
0000f 57 push rdi
|
||
00010 48 83 ec 20 sub rsp, 32 ; 00000020H
|
||
00014 33 ff xor edi, edi
|
||
00016 48 8d 35 90 08
|
||
00 00 lea rsi, OFFSET FLAT:_glfw+2192
|
||
0001d 8b df mov ebx, edi
|
||
0001f 48 bd 39 8e e3
|
||
38 8e e3 38 0e mov rbp, 1024819115206086201 ; 0e38e38e38e38e39H
|
||
00029 0f 1f 80 00 00
|
||
00 00 npad 7
|
||
$LL4@glfwTermin:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 426 : js->connected = GLFW_FALSE;
|
||
|
||
00030 89 bc 33 04 ff
|
||
ff ff mov DWORD PTR [rbx+rsi-252], edi
|
||
|
||
; 427 :
|
||
; 428 : if (_glfw.callbacks.joystick)
|
||
|
||
00037 4c 8b 05 70 1b
|
||
00 00 mov r8, QWORD PTR _glfw+7024
|
||
0003e 4d 85 c0 test r8, r8
|
||
00041 74 1f je SHORT $LN14@glfwTermin
|
||
|
||
; 429 : _glfw.callbacks.joystick((int)(js - _glfw.joysticks), event);
|
||
|
||
00043 48 8b c5 mov rax, rbp
|
||
00046 48 f7 eb imul rbx
|
||
00049 48 8b ca mov rcx, rdx
|
||
0004c ba 02 00 04 00 mov edx, 262146 ; 00040002H
|
||
00051 48 c1 f9 04 sar rcx, 4
|
||
00055 48 8b c1 mov rax, rcx
|
||
00058 48 c1 e8 3f shr rax, 63 ; 0000003fH
|
||
0005c 48 03 c8 add rcx, rax
|
||
0005f 41 ff d0 call r8
|
||
$LN14@glfwTermin:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 263 : if (js->win32.device)
|
||
|
||
00062 48 8b 0c 33 mov rcx, QWORD PTR [rbx+rsi]
|
||
00066 48 85 c9 test rcx, rcx
|
||
00069 74 10 je SHORT $LN8@glfwTermin
|
||
|
||
; 264 : {
|
||
; 265 : IDirectInputDevice8_Unacquire(js->win32.device);
|
||
|
||
0006b 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
0006e ff 50 40 call QWORD PTR [rax+64]
|
||
|
||
; 266 : IDirectInputDevice8_Release(js->win32.device);
|
||
|
||
00071 48 8b 0c 33 mov rcx, QWORD PTR [rbx+rsi]
|
||
00075 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
00078 ff 50 10 call QWORD PTR [rax+16]
|
||
$LN8@glfwTermin:
|
||
|
||
; 267 : }
|
||
; 268 :
|
||
; 269 : _glfw_free(js->win32.objects);
|
||
|
||
0007b 48 8b 4c 33 f0 mov rcx, QWORD PTR [rbx+rsi-16]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
|
||
; 320 : if (block)
|
||
|
||
00080 48 85 c9 test rcx, rcx
|
||
00083 74 0d je SHORT $LN17@glfwTermin
|
||
|
||
; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user);
|
||
|
||
00085 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
0008c ff 15 18 00 00
|
||
00 call QWORD PTR _glfw+24
|
||
$LN17@glfwTermin:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 540 : _glfw_free(js->axes);
|
||
|
||
00092 48 8b 8c 33 08
|
||
ff ff ff mov rcx, QWORD PTR [rbx+rsi-248]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
|
||
; 320 : if (block)
|
||
|
||
0009a 48 85 c9 test rcx, rcx
|
||
0009d 74 0d je SHORT $LN22@glfwTermin
|
||
|
||
; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user);
|
||
|
||
0009f 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
000a6 ff 15 18 00 00
|
||
00 call QWORD PTR _glfw+24
|
||
$LN22@glfwTermin:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 541 : _glfw_free(js->buttons);
|
||
|
||
000ac 48 8b 8c 33 18
|
||
ff ff ff mov rcx, QWORD PTR [rbx+rsi-232]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
|
||
; 320 : if (block)
|
||
|
||
000b4 48 85 c9 test rcx, rcx
|
||
000b7 74 0d je SHORT $LN25@glfwTermin
|
||
|
||
; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user);
|
||
|
||
000b9 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
000c0 ff 15 18 00 00
|
||
00 call QWORD PTR _glfw+24
|
||
$LN25@glfwTermin:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 542 : _glfw_free(js->hats);
|
||
|
||
000c6 48 8b 8c 33 28
|
||
ff ff ff mov rcx, QWORD PTR [rbx+rsi-216]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
|
||
; 320 : if (block)
|
||
|
||
000ce 48 85 c9 test rcx, rcx
|
||
000d1 74 0d je SHORT $LN28@glfwTermin
|
||
|
||
; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user);
|
||
|
||
000d3 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
000da ff 15 18 00 00
|
||
00 call QWORD PTR _glfw+24
|
||
$LN28@glfwTermin:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 543 : memset(js, 0, sizeof(_GLFWjoystick));
|
||
|
||
000e0 48 8d 8e 00 ff
|
||
ff ff lea rcx, QWORD PTR [rsi-256]
|
||
000e7 33 d2 xor edx, edx
|
||
000e9 48 03 cb add rcx, rbx
|
||
000ec 41 b8 20 01 00
|
||
00 mov r8d, 288 ; 00000120H
|
||
000f2 e8 00 00 00 00 call memset
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 599 : for (jid = GLFW_JOYSTICK_1; jid <= GLFW_JOYSTICK_LAST; jid++)
|
||
|
||
000f7 48 81 c3 20 01
|
||
00 00 add rbx, 288 ; 00000120H
|
||
000fe 48 81 fb e0 10
|
||
00 00 cmp rbx, 4320 ; 000010e0H
|
||
00105 0f 8e 25 ff ff
|
||
ff jle $LL4@glfwTermin
|
||
|
||
; 600 : closeJoystick(_glfw.joysticks + jid);
|
||
; 601 :
|
||
; 602 : if (_glfw.win32.dinput8.api)
|
||
|
||
0010b 48 8b 0d 78 29
|
||
00 00 mov rcx, QWORD PTR _glfw+10616
|
||
00112 48 85 c9 test rcx, rcx
|
||
00115 74 06 je SHORT $LN5@glfwTermin
|
||
|
||
; 603 : IDirectInput8_Release(_glfw.win32.dinput8.api);
|
||
|
||
00117 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
0011a ff 50 10 call QWORD PTR [rax+16]
|
||
$LN5@glfwTermin:
|
||
|
||
; 604 : }
|
||
|
||
0011d 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
||
00122 48 8b 6c 24 38 mov rbp, QWORD PTR [rsp+56]
|
||
00127 48 8b 74 24 40 mov rsi, QWORD PTR [rsp+64]
|
||
0012c 48 83 c4 20 add rsp, 32 ; 00000020H
|
||
00130 5f pop rdi
|
||
00131 c3 ret 0
|
||
_glfwTerminateJoysticksWin32 ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwDetectJoystickConnectionWin32
|
||
_TEXT SEGMENT
|
||
xic$1 = 48
|
||
guid$2 = 72
|
||
__$ArrayPad$ = 112
|
||
_glfwDetectJoystickConnectionWin32 PROC ; COMDAT
|
||
|
||
; 499 : {
|
||
|
||
$LN56:
|
||
00000 4c 8b dc mov r11, rsp
|
||
00003 48 81 ec 98 00
|
||
00 00 sub rsp, 152 ; 00000098H
|
||
0000a 48 8b 05 00 00
|
||
00 00 mov rax, QWORD PTR __security_cookie
|
||
00011 48 33 c4 xor rax, rsp
|
||
00014 48 89 44 24 70 mov QWORD PTR __$ArrayPad$[rsp], rax
|
||
|
||
; 500 : if (_glfw.win32.xinput.instance)
|
||
|
||
00019 48 83 3d 80 29
|
||
00 00 00 cmp QWORD PTR _glfw+10624, 0
|
||
00021 0f 84 b3 01 00
|
||
00 je $LN3@glfwDetect
|
||
00027 49 89 5b 08 mov QWORD PTR [r11+8], rbx
|
||
|
||
; 504 : for (index = 0; index < XUSER_MAX_COUNT; index++)
|
||
|
||
0002b 33 db xor ebx, ebx
|
||
0002d 49 89 6b 10 mov QWORD PTR [r11+16], rbp
|
||
|
||
; 505 : {
|
||
|
||
00031 48 8d 2d 90 08
|
||
00 00 lea rbp, OFFSET FLAT:_glfw+2192
|
||
00038 49 89 73 18 mov QWORD PTR [r11+24], rsi
|
||
0003c 48 8d 35 00 00
|
||
00 00 lea rsi, OFFSET FLAT:__ImageBase
|
||
00043 49 89 7b 20 mov QWORD PTR [r11+32], rdi
|
||
00047 48 8d 3d 70 19
|
||
00 00 lea rdi, OFFSET FLAT:_glfw+6512
|
||
0004e 4d 89 63 f8 mov QWORD PTR [r11-8], r12
|
||
00052 4c 8d 25 00 00
|
||
00 00 lea r12, OFFSET FLAT:??_C@_0BA@EPLGABLH@Xbox?5Controller@
|
||
00059 4d 89 73 f0 mov QWORD PTR [r11-16], r14
|
||
0005d 49 be 39 8e e3
|
||
38 8e e3 38 0e mov r14, 1024819115206086201 ; 0e38e38e38e38e39H
|
||
00067 4d 89 7b e8 mov QWORD PTR [r11-24], r15
|
||
0006b 4c 8d 3d 90 07
|
||
00 00 lea r15, OFFSET FLAT:_glfw+1936
|
||
$LL4@glfwDetect:
|
||
|
||
; 506 : int jid;
|
||
; 507 : char guid[33];
|
||
; 508 : XINPUT_CAPABILITIES xic;
|
||
; 509 : _GLFWjoystick* js;
|
||
; 510 :
|
||
; 511 : for (jid = 0; jid <= GLFW_JOYSTICK_LAST; jid++)
|
||
|
||
00072 33 c9 xor ecx, ecx
|
||
00074 48 8b c5 mov rax, rbp
|
||
$LL7@glfwDetect:
|
||
|
||
; 512 : {
|
||
; 513 : if (_glfw.joysticks[jid].connected &&
|
||
; 514 : _glfw.joysticks[jid].win32.device == NULL &&
|
||
|
||
00077 83 b8 04 ff ff
|
||
ff 00 cmp DWORD PTR [rax-252], 0
|
||
0007e 74 0b je SHORT $LN5@glfwDetect
|
||
00080 48 83 38 00 cmp QWORD PTR [rax], 0
|
||
00084 75 05 jne SHORT $LN5@glfwDetect
|
||
00086 39 58 08 cmp DWORD PTR [rax+8], ebx
|
||
00089 74 0d je SHORT $LN37@glfwDetect
|
||
$LN5@glfwDetect:
|
||
|
||
; 506 : int jid;
|
||
; 507 : char guid[33];
|
||
; 508 : XINPUT_CAPABILITIES xic;
|
||
; 509 : _GLFWjoystick* js;
|
||
; 510 :
|
||
; 511 : for (jid = 0; jid <= GLFW_JOYSTICK_LAST; jid++)
|
||
|
||
0008b ff c1 inc ecx
|
||
0008d 48 05 20 01 00
|
||
00 add rax, 288 ; 00000120H
|
||
00093 48 3b c7 cmp rax, rdi
|
||
00096 7e df jle SHORT $LL7@glfwDetect
|
||
$LN37@glfwDetect:
|
||
|
||
; 515 : _glfw.joysticks[jid].win32.index == index)
|
||
; 516 : {
|
||
; 517 : break;
|
||
; 518 : }
|
||
; 519 : }
|
||
; 520 :
|
||
; 521 : if (jid <= GLFW_JOYSTICK_LAST)
|
||
|
||
00098 83 f9 0f cmp ecx, 15
|
||
0009b 0f 8e f6 00 00
|
||
00 jle $LN2@glfwDetect
|
||
|
||
; 522 : continue;
|
||
; 523 :
|
||
; 524 : if (XInputGetCapabilities(index, 0, &xic) != ERROR_SUCCESS)
|
||
|
||
000a1 4c 8d 44 24 30 lea r8, QWORD PTR xic$1[rsp]
|
||
000a6 33 d2 xor edx, edx
|
||
000a8 8b cb mov ecx, ebx
|
||
000aa ff 15 88 29 00
|
||
00 call QWORD PTR _glfw+10632
|
||
000b0 85 c0 test eax, eax
|
||
000b2 0f 85 df 00 00
|
||
00 jne $LN2@glfwDetect
|
||
|
||
; 525 : continue;
|
||
; 526 :
|
||
; 527 : // Generate a joystick GUID that matches the SDL 2.0.5+ one
|
||
; 528 : sprintf(guid, "78696e707574%02x000000000000000000",
|
||
|
||
000b8 44 0f b6 44 24
|
||
31 movzx r8d, BYTE PTR xic$1[rsp+1]
|
||
000be 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CD@CBFNHKPK@78696e707574?$CF02x000000000000000@
|
||
000c5 48 8d 4c 24 48 lea rcx, QWORD PTR guid$2[rsp]
|
||
000ca e8 00 00 00 00 call sprintf
|
||
|
||
; 153 : switch (xic->SubType)
|
||
|
||
000cf 0f b6 44 24 31 movzx eax, BYTE PTR xic$1[rsp+1]
|
||
000d4 ff c8 dec eax
|
||
000d6 83 f8 07 cmp eax, 7
|
||
000d9 77 56 ja SHORT $LN27@glfwDetect
|
||
000db 48 98 cdqe
|
||
000dd 8b 8c 86 00 00
|
||
00 00 mov ecx, DWORD PTR $LN44@glfwDetect[rsi+rax*4]
|
||
000e4 48 03 ce add rcx, rsi
|
||
000e7 ff e1 jmp rcx
|
||
$LN19@glfwDetect:
|
||
|
||
; 154 : {
|
||
; 155 : case XINPUT_DEVSUBTYPE_WHEEL:
|
||
; 156 : return "XInput Wheel";
|
||
|
||
000e9 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:??_C@_0N@JENFOGFI@XInput?5Wheel@
|
||
000f0 eb 46 jmp SHORT $LN16@glfwDetect
|
||
$LN20@glfwDetect:
|
||
|
||
; 157 : case XINPUT_DEVSUBTYPE_ARCADE_STICK:
|
||
; 158 : return "XInput Arcade Stick";
|
||
|
||
000f2 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:??_C@_0BE@FABDLJKH@XInput?5Arcade?5Stick@
|
||
000f9 eb 3d jmp SHORT $LN16@glfwDetect
|
||
$LN21@glfwDetect:
|
||
|
||
; 159 : case XINPUT_DEVSUBTYPE_FLIGHT_STICK:
|
||
; 160 : return "XInput Flight Stick";
|
||
|
||
000fb 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:??_C@_0BE@HBNNGLHP@XInput?5Flight?5Stick@
|
||
00102 eb 34 jmp SHORT $LN16@glfwDetect
|
||
$LN22@glfwDetect:
|
||
|
||
; 161 : case XINPUT_DEVSUBTYPE_DANCE_PAD:
|
||
; 162 : return "XInput Dance Pad";
|
||
|
||
00104 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:??_C@_0BB@JDDMDGFO@XInput?5Dance?5Pad@
|
||
0010b eb 2b jmp SHORT $LN16@glfwDetect
|
||
$LN23@glfwDetect:
|
||
|
||
; 163 : case XINPUT_DEVSUBTYPE_GUITAR:
|
||
; 164 : return "XInput Guitar";
|
||
|
||
0010d 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:??_C@_0O@IFDGNEHH@XInput?5Guitar@
|
||
00114 eb 22 jmp SHORT $LN16@glfwDetect
|
||
$LN24@glfwDetect:
|
||
|
||
; 165 : case XINPUT_DEVSUBTYPE_DRUM_KIT:
|
||
; 166 : return "XInput Drum Kit";
|
||
|
||
00116 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:??_C@_0BA@LCMKGGHA@XInput?5Drum?5Kit@
|
||
0011d eb 19 jmp SHORT $LN16@glfwDetect
|
||
$LN25@glfwDetect:
|
||
|
||
; 167 : case XINPUT_DEVSUBTYPE_GAMEPAD:
|
||
; 168 : {
|
||
; 169 : if (xic->Flags & XINPUT_CAPS_WIRELESS)
|
||
|
||
0011f f6 44 24 32 02 test BYTE PTR xic$1[rsp+2], 2
|
||
00124 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:??_C@_0BJ@IIGAEGGE@Wireless?5Xbox?5Controller@
|
||
0012b 49 0f 44 cc cmove rcx, r12
|
||
|
||
; 170 : return "Wireless Xbox Controller";
|
||
; 171 : else
|
||
; 172 : return "Xbox Controller";
|
||
|
||
0012f eb 07 jmp SHORT $LN16@glfwDetect
|
||
$LN27@glfwDetect:
|
||
|
||
; 173 : }
|
||
; 174 : }
|
||
; 175 :
|
||
; 176 : return "Unknown XInput Device";
|
||
|
||
00131 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:??_C@_0BG@DGJLFNBN@Unknown?5XInput?5Device@
|
||
$LN16@glfwDetect:
|
||
|
||
; 529 : xic.SubType & 0xff);
|
||
; 530 :
|
||
; 531 : js = _glfwAllocJoystick(getDeviceDescription(&xic), guid, 6, 10, 1);
|
||
|
||
00138 41 b9 0a 00 00
|
||
00 mov r9d, 10
|
||
0013e c7 44 24 20 01
|
||
00 00 00 mov DWORD PTR [rsp+32], 1
|
||
00146 48 8d 54 24 48 lea rdx, QWORD PTR guid$2[rsp]
|
||
0014b 45 8d 41 fc lea r8d, QWORD PTR [r9-4]
|
||
0014f e8 00 00 00 00 call _glfwAllocJoystick
|
||
00154 48 8b c8 mov rcx, rax
|
||
|
||
; 532 : if (!js)
|
||
|
||
00157 48 85 c0 test rax, rax
|
||
0015a 74 3b je SHORT $LN2@glfwDetect
|
||
|
||
; 533 : continue;
|
||
; 534 :
|
||
; 535 : js->win32.index = index;
|
||
|
||
0015c 89 98 08 01 00
|
||
00 mov DWORD PTR [rax+264], ebx
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 424 : js->connected = GLFW_TRUE;
|
||
|
||
00162 c7 40 04 01 00
|
||
00 00 mov DWORD PTR [rax+4], 1
|
||
|
||
; 425 : else if (event == GLFW_DISCONNECTED)
|
||
; 426 : js->connected = GLFW_FALSE;
|
||
; 427 :
|
||
; 428 : if (_glfw.callbacks.joystick)
|
||
|
||
00169 4c 8b 05 70 1b
|
||
00 00 mov r8, QWORD PTR _glfw+7024
|
||
00170 4d 85 c0 test r8, r8
|
||
00173 74 22 je SHORT $LN2@glfwDetect
|
||
|
||
; 429 : _glfw.callbacks.joystick((int)(js - _glfw.joysticks), event);
|
||
|
||
00175 49 2b cf sub rcx, r15
|
||
00178 49 8b c6 mov rax, r14
|
||
0017b 48 f7 e9 imul rcx
|
||
0017e 48 8b ca mov rcx, rdx
|
||
00181 ba 01 00 04 00 mov edx, 262145 ; 00040001H
|
||
00186 48 c1 f9 04 sar rcx, 4
|
||
0018a 48 8b c1 mov rax, rcx
|
||
0018d 48 c1 e8 3f shr rax, 63 ; 0000003fH
|
||
00191 48 03 c8 add rcx, rax
|
||
00194 41 ff d0 call r8
|
||
$LN2@glfwDetect:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 504 : for (index = 0; index < XUSER_MAX_COUNT; index++)
|
||
|
||
00197 ff c3 inc ebx
|
||
00199 83 fb 04 cmp ebx, 4
|
||
0019c 0f 82 d0 fe ff
|
||
ff jb $LL4@glfwDetect
|
||
001a2 4c 8b bc 24 80
|
||
00 00 00 mov r15, QWORD PTR [rsp+128]
|
||
001aa 4c 8b b4 24 88
|
||
00 00 00 mov r14, QWORD PTR [rsp+136]
|
||
001b2 4c 8b a4 24 90
|
||
00 00 00 mov r12, QWORD PTR [rsp+144]
|
||
001ba 48 8b bc 24 b8
|
||
00 00 00 mov rdi, QWORD PTR [rsp+184]
|
||
001c2 48 8b b4 24 b0
|
||
00 00 00 mov rsi, QWORD PTR [rsp+176]
|
||
001ca 48 8b ac 24 a8
|
||
00 00 00 mov rbp, QWORD PTR [rsp+168]
|
||
001d2 48 8b 9c 24 a0
|
||
00 00 00 mov rbx, QWORD PTR [rsp+160]
|
||
$LN3@glfwDetect:
|
||
|
||
; 536 :
|
||
; 537 : _glfwInputJoystick(js, GLFW_CONNECTED);
|
||
; 538 : }
|
||
; 539 : }
|
||
; 540 :
|
||
; 541 : if (_glfw.win32.dinput8.api)
|
||
|
||
001da 48 8b 0d 78 29
|
||
00 00 mov rcx, QWORD PTR _glfw+10616
|
||
001e1 48 85 c9 test rcx, rcx
|
||
001e4 74 31 je SHORT $LN14@glfwDetect
|
||
|
||
; 542 : {
|
||
; 543 : if (FAILED(IDirectInput8_EnumDevices(_glfw.win32.dinput8.api,
|
||
|
||
001e6 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
001e9 4c 8d 05 00 00
|
||
00 00 lea r8, OFFSET FLAT:deviceCallback
|
||
001f0 45 33 c9 xor r9d, r9d
|
||
001f3 c7 44 24 20 00
|
||
00 00 00 mov DWORD PTR [rsp+32], 0
|
||
001fb 41 8d 51 04 lea edx, QWORD PTR [r9+4]
|
||
001ff ff 50 20 call QWORD PTR [rax+32]
|
||
00202 85 c0 test eax, eax
|
||
00204 79 11 jns SHORT $LN14@glfwDetect
|
||
|
||
; 544 : DI8DEVCLASS_GAMECTRL,
|
||
; 545 : deviceCallback,
|
||
; 546 : NULL,
|
||
; 547 : DIEDFL_ALLDEVICES)))
|
||
; 548 : {
|
||
; 549 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
00206 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CJ@HDJDHLNO@Failed?5to?5enumerate?5DirectInput@
|
||
0020d b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
00212 e8 00 00 00 00 call _glfwInputError
|
||
$LN14@glfwDetect:
|
||
|
||
; 550 : "Failed to enumerate DirectInput8 devices");
|
||
; 551 : return;
|
||
; 552 : }
|
||
; 553 : }
|
||
; 554 : }
|
||
|
||
00217 48 8b 4c 24 70 mov rcx, QWORD PTR __$ArrayPad$[rsp]
|
||
0021c 48 33 cc xor rcx, rsp
|
||
0021f e8 00 00 00 00 call __security_check_cookie
|
||
00224 48 81 c4 98 00
|
||
00 00 add rsp, 152 ; 00000098H
|
||
0022b c3 ret 0
|
||
$LN44@glfwDetect:
|
||
0022c 00 00 00 00 DD $LN25@glfwDetect
|
||
00230 00 00 00 00 DD $LN19@glfwDetect
|
||
00234 00 00 00 00 DD $LN20@glfwDetect
|
||
00238 00 00 00 00 DD $LN21@glfwDetect
|
||
0023c 00 00 00 00 DD $LN22@glfwDetect
|
||
00240 00 00 00 00 DD $LN23@glfwDetect
|
||
00244 00 00 00 00 DD $LN27@glfwDetect
|
||
00248 00 00 00 00 DD $LN24@glfwDetect
|
||
_glfwDetectJoystickConnectionWin32 ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwInitJoysticksWin32
|
||
_TEXT SEGMENT
|
||
_glfwInitJoysticksWin32 PROC ; COMDAT
|
||
|
||
; 576 : {
|
||
|
||
$LN6:
|
||
00000 48 83 ec 38 sub rsp, 56 ; 00000038H
|
||
|
||
; 577 : if (_glfw.win32.dinput8.instance)
|
||
|
||
00004 48 83 3d 68 29
|
||
00 00 00 cmp QWORD PTR _glfw+10600, 0
|
||
0000c 74 45 je SHORT $LN3@glfwInitJo
|
||
|
||
; 578 : {
|
||
; 579 : if (FAILED(DirectInput8Create(_glfw.win32.instance,
|
||
|
||
0000e 48 8b 0d 78 1b
|
||
00 00 mov rcx, QWORD PTR _glfw+7032
|
||
00015 4c 8d 0d 78 29
|
||
00 00 lea r9, OFFSET FLAT:_glfw+10616
|
||
0001c 4c 8d 05 00 00
|
||
00 00 lea r8, OFFSET FLAT:_glfw_IID_IDirectInput8W
|
||
00023 48 c7 44 24 20
|
||
00 00 00 00 mov QWORD PTR [rsp+32], 0
|
||
0002c ba 00 08 00 00 mov edx, 2048 ; 00000800H
|
||
00031 ff 15 70 29 00
|
||
00 call QWORD PTR _glfw+10608
|
||
00037 85 c0 test eax, eax
|
||
00039 79 18 jns SHORT $LN3@glfwInitJo
|
||
|
||
; 580 : DIRECTINPUT_VERSION,
|
||
; 581 : &IID_IDirectInput8W,
|
||
; 582 : (void**) &_glfw.win32.dinput8.api,
|
||
; 583 : NULL)))
|
||
; 584 : {
|
||
; 585 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
0003b 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CC@MGDCJJKB@Win32?3?5Failed?5to?5create?5interfa@
|
||
00042 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
00047 e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 586 : "Win32: Failed to create interface");
|
||
; 587 : return GLFW_FALSE;
|
||
|
||
0004c 33 c0 xor eax, eax
|
||
|
||
; 593 : }
|
||
|
||
0004e 48 83 c4 38 add rsp, 56 ; 00000038H
|
||
00052 c3 ret 0
|
||
$LN3@glfwInitJo:
|
||
|
||
; 588 : }
|
||
; 589 : }
|
||
; 590 :
|
||
; 591 : _glfwDetectJoystickConnectionWin32();
|
||
|
||
00053 e8 00 00 00 00 call _glfwDetectJoystickConnectionWin32
|
||
|
||
; 592 : return GLFW_TRUE;
|
||
|
||
00058 b8 01 00 00 00 mov eax, 1
|
||
|
||
; 593 : }
|
||
|
||
0005d 48 83 c4 38 add rsp, 56 ; 00000038H
|
||
00061 c3 ret 0
|
||
_glfwInitJoysticksWin32 ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT _glfwPollJoystickWin32
|
||
_TEXT SEGMENT
|
||
states$1 = 32
|
||
xis$2 = 72
|
||
state$3 = 96
|
||
__$ArrayPad$ = 176
|
||
js$ = 240
|
||
mode$ = 248
|
||
_glfwPollJoystickWin32 PROC ; COMDAT
|
||
|
||
; 607 : {
|
||
|
||
$LN86:
|
||
00000 40 55 push rbp
|
||
00002 53 push rbx
|
||
00003 57 push rdi
|
||
00004 41 54 push r12
|
||
00006 48 8d 6c 24 c1 lea rbp, QWORD PTR [rsp-63]
|
||
0000b 48 81 ec c8 00
|
||
00 00 sub rsp, 200 ; 000000c8H
|
||
00012 48 8b 05 00 00
|
||
00 00 mov rax, QWORD PTR __security_cookie
|
||
00019 48 33 c4 xor rax, rsp
|
||
0001c 48 89 45 27 mov QWORD PTR __$ArrayPad$[rbp-137], rax
|
||
00020 48 8b d9 mov rbx, rcx
|
||
00023 8b fa mov edi, edx
|
||
|
||
; 608 : if (js->win32.device)
|
||
|
||
00025 48 8b 89 00 01
|
||
00 00 mov rcx, QWORD PTR [rcx+256]
|
||
0002c 48 85 c9 test rcx, rcx
|
||
0002f 0f 84 23 02 00
|
||
00 je $LN10@glfwPollJo
|
||
|
||
; 609 : {
|
||
; 610 : int i, ai = 0, bi = 0, pi = 0;
|
||
; 611 : HRESULT result;
|
||
; 612 : DIJOYSTATE state = {0};
|
||
|
||
00035 0f 57 c0 xorps xmm0, xmm0
|
||
00038 0f 11 45 d7 movups XMMWORD PTR state$3[rbp-137], xmm0
|
||
0003c 0f 11 45 e7 movups XMMWORD PTR state$3[rbp-121], xmm0
|
||
00040 0f 11 45 f7 movups XMMWORD PTR state$3[rbp-105], xmm0
|
||
00044 0f 11 45 07 movups XMMWORD PTR state$3[rbp-89], xmm0
|
||
00048 0f 11 45 17 movups XMMWORD PTR state$3[rbp-73], xmm0
|
||
|
||
; 613 :
|
||
; 614 : IDirectInputDevice8_Poll(js->win32.device);
|
||
|
||
0004c 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
0004f ff 90 c8 00 00
|
||
00 call QWORD PTR [rax+200]
|
||
|
||
; 615 : result = IDirectInputDevice8_GetDeviceState(js->win32.device,
|
||
|
||
00055 48 8b 8b 00 01
|
||
00 00 mov rcx, QWORD PTR [rbx+256]
|
||
0005c 4c 8d 45 d7 lea r8, QWORD PTR state$3[rbp-137]
|
||
00060 ba 50 00 00 00 mov edx, 80 ; 00000050H
|
||
00065 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
00068 ff 50 48 call QWORD PTR [rax+72]
|
||
|
||
; 616 : sizeof(state),
|
||
; 617 : &state);
|
||
; 618 : if (result == DIERR_NOTACQUIRED || result == DIERR_INPUTLOST)
|
||
|
||
0006b 3d 0c 00 07 80 cmp eax, -2147024884 ; ffffffff8007000cH
|
||
00070 74 07 je SHORT $LN13@glfwPollJo
|
||
00072 3d 1e 00 07 80 cmp eax, -2147024866 ; ffffffff8007001eH
|
||
00077 75 33 jne SHORT $LN12@glfwPollJo
|
||
$LN13@glfwPollJo:
|
||
|
||
; 619 : {
|
||
; 620 : IDirectInputDevice8_Acquire(js->win32.device);
|
||
|
||
00079 48 8b 8b 00 01
|
||
00 00 mov rcx, QWORD PTR [rbx+256]
|
||
00080 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
00083 ff 50 38 call QWORD PTR [rax+56]
|
||
|
||
; 621 : IDirectInputDevice8_Poll(js->win32.device);
|
||
|
||
00086 48 8b 8b 00 01
|
||
00 00 mov rcx, QWORD PTR [rbx+256]
|
||
0008d 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
00090 ff 90 c8 00 00
|
||
00 call QWORD PTR [rax+200]
|
||
|
||
; 622 : result = IDirectInputDevice8_GetDeviceState(js->win32.device,
|
||
|
||
00096 48 8b 8b 00 01
|
||
00 00 mov rcx, QWORD PTR [rbx+256]
|
||
0009d 4c 8d 45 d7 lea r8, QWORD PTR state$3[rbp-137]
|
||
000a1 ba 50 00 00 00 mov edx, 80 ; 00000050H
|
||
000a6 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
000a9 ff 50 48 call QWORD PTR [rax+72]
|
||
$LN12@glfwPollJo:
|
||
|
||
; 623 : sizeof(state),
|
||
; 624 : &state);
|
||
; 625 : }
|
||
; 626 :
|
||
; 627 : if (FAILED(result))
|
||
|
||
000ac 85 c0 test eax, eax
|
||
000ae 0f 88 bf 01 00
|
||
00 js $LN84@glfwPollJo
|
||
|
||
; 628 : {
|
||
; 629 : closeJoystick(js);
|
||
; 630 : return GLFW_FALSE;
|
||
; 631 : }
|
||
; 632 :
|
||
; 633 : if (mode == _GLFW_POLL_PRESENCE)
|
||
|
||
000b4 85 ff test edi, edi
|
||
000b6 0f 84 d7 03 00
|
||
00 je $LN32@glfwPollJo
|
||
|
||
; 634 : return GLFW_TRUE;
|
||
; 635 :
|
||
; 636 : for (i = 0; i < js->win32.objectCount; i++)
|
||
|
||
000bc 45 33 e4 xor r12d, r12d
|
||
000bf 45 8b dc mov r11d, r12d
|
||
000c2 44 39 a3 f8 00
|
||
00 00 cmp DWORD PTR [rbx+248], r12d
|
||
000c9 0f 8e c4 03 00
|
||
00 jle $LN32@glfwPollJo
|
||
000cf f3 0f 10 15 00
|
||
00 00 00 movss xmm2, DWORD PTR __real@3f000000
|
||
000d7 41 8b fc mov edi, r12d
|
||
000da f3 0f 10 1d 00
|
||
00 00 00 movss xmm3, DWORD PTR __real@46ffff00
|
||
000e2 45 8b d4 mov r10d, r12d
|
||
000e5 48 89 b4 24 f8
|
||
00 00 00 mov QWORD PTR [rsp+248], rsi
|
||
000ed 41 8b f4 mov esi, r12d
|
||
000f0 4c 89 ac 24 00
|
||
01 00 00 mov QWORD PTR [rsp+256], r13
|
||
000f8 45 8d 6c 24 08 lea r13d, QWORD PTR [r12+8]
|
||
000fd 4c 89 b4 24 08
|
||
01 00 00 mov QWORD PTR [rsp+264], r14
|
||
00105 45 8b f4 mov r14d, r12d
|
||
00108 4c 89 bc 24 c0
|
||
00 00 00 mov QWORD PTR [rsp+192], r15
|
||
00110 45 8b fc mov r15d, r12d
|
||
00113 0f 1f 40 00 66
|
||
0f 1f 84 00 00
|
||
00 00 00 npad 13
|
||
$LL4@glfwPollJo:
|
||
|
||
; 637 : {
|
||
; 638 : const void* data = (char*) &state + js->win32.objects[i].offset;
|
||
|
||
00120 48 8b 8b f0 00
|
||
00 00 mov rcx, QWORD PTR [rbx+240]
|
||
|
||
; 639 :
|
||
; 640 : switch (js->win32.objects[i].type)
|
||
|
||
00127 41 8b 54 0a 04 mov edx, DWORD PTR [r10+rcx+4]
|
||
0012c 4d 63 04 0a movsxd r8, DWORD PTR [r10+rcx]
|
||
00130 85 d2 test edx, edx
|
||
00132 0f 84 c9 00 00
|
||
00 je $LN16@glfwPollJo
|
||
00138 83 ea 01 sub edx, 1
|
||
0013b 0f 84 c0 00 00
|
||
00 je $LN16@glfwPollJo
|
||
00141 83 ea 01 sub edx, 1
|
||
00144 0f 84 a2 00 00
|
||
00 je $LN18@glfwPollJo
|
||
0014a 83 fa 01 cmp edx, 1
|
||
0014d 0f 85 cd 00 00
|
||
00 jne $LN2@glfwPollJo
|
||
|
||
; 675 : int stateIndex = LOWORD(*(DWORD*) data) / (45 * DI_DEGREES);
|
||
|
||
00153 42 0f b7 4c 05
|
||
d7 movzx ecx, WORD PTR state$3[rbp+r8-137]
|
||
00159 b8 d5 52 04 e9 mov eax, -385592619 ; e90452d5H
|
||
0015e 66 0f 6f 05 00
|
||
00 00 00 movdqa xmm0, XMMWORD PTR __xmm@00000006000000020000000300000001
|
||
00166 66 0f 6f 0d 00
|
||
00 00 00 movdqa xmm1, XMMWORD PTR __xmm@00000009000000080000000c00000004
|
||
0016e f7 e1 mul ecx
|
||
00170 f3 0f 7f 45 97 movdqu XMMWORD PTR states$1[rbp-137], xmm0
|
||
00175 f3 0f 7f 4d a7 movdqu XMMWORD PTR states$1[rbp-121], xmm1
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 470 : base = js->buttonCount + hat * 4;
|
||
|
||
0017a 8b 43 20 mov eax, DWORD PTR [rbx+32]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 675 : int stateIndex = LOWORD(*(DWORD*) data) / (45 * DI_DEGREES);
|
||
|
||
0017d c1 ea 0c shr edx, 12
|
||
|
||
; 676 : if (stateIndex < 0 || stateIndex > 8)
|
||
|
||
00180 41 3b d5 cmp edx, r13d
|
||
00183 44 89 65 b7 mov DWORD PTR states$1[rbp-105], r12d
|
||
00187 41 0f 47 d5 cmova edx, r13d
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 470 : base = js->buttonCount + hat * 4;
|
||
|
||
0018b 41 03 c7 add eax, r15d
|
||
|
||
; 472 : js->buttons[base + 0] = (value & 0x01) ? GLFW_PRESS : GLFW_RELEASE;
|
||
|
||
0018e 4c 63 c0 movsxd r8, eax
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 680 : pi++;
|
||
|
||
00191 41 83 c7 04 add r15d, 4
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 472 : js->buttons[base + 0] = (value & 0x01) ? GLFW_PRESS : GLFW_RELEASE;
|
||
|
||
00195 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 679 : _glfwInputJoystickHat(js, pi, states[stateIndex]);
|
||
|
||
00199 44 0f be 4c 95
|
||
97 movsx r9d, BYTE PTR states$1[rbp+rdx*4-137]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 472 : js->buttons[base + 0] = (value & 0x01) ? GLFW_PRESS : GLFW_RELEASE;
|
||
|
||
0019f 41 0f b6 c9 movzx ecx, r9b
|
||
|
||
; 473 : js->buttons[base + 1] = (value & 0x02) ? GLFW_PRESS : GLFW_RELEASE;
|
||
|
||
001a3 41 8b d1 mov edx, r9d
|
||
001a6 80 e1 01 and cl, 1
|
||
|
||
; 475 : js->buttons[base + 3] = (value & 0x08) ? GLFW_PRESS : GLFW_RELEASE;
|
||
|
||
001a9 c1 ea 03 shr edx, 3
|
||
001ac 41 88 0c 00 mov BYTE PTR [r8+rax], cl
|
||
001b0 80 e2 01 and dl, 1
|
||
001b3 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
001b7 41 8b c9 mov ecx, r9d
|
||
001ba d1 e9 shr ecx, 1
|
||
001bc 80 e1 01 and cl, 1
|
||
001bf 41 88 4c 00 01 mov BYTE PTR [r8+rax+1], cl
|
||
001c4 41 8b c9 mov ecx, r9d
|
||
001c7 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
001cb c1 e9 02 shr ecx, 2
|
||
001ce 80 e1 01 and cl, 1
|
||
001d1 41 88 4c 00 02 mov BYTE PTR [r8+rax+2], cl
|
||
001d6 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
001da 41 88 54 00 03 mov BYTE PTR [r8+rax+3], dl
|
||
|
||
; 476 :
|
||
; 477 : js->hats[hat] = value;
|
||
|
||
001df 48 8b 43 28 mov rax, QWORD PTR [rbx+40]
|
||
001e3 45 88 0c 06 mov BYTE PTR [r14+rax], r9b
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 680 : pi++;
|
||
|
||
001e7 49 ff c6 inc r14
|
||
001ea eb 34 jmp SHORT $LN2@glfwPollJo
|
||
$LN18@glfwPollJo:
|
||
|
||
; 653 : const char value = (*((BYTE*) data) & 0x80) != 0;
|
||
|
||
001ec 42 0f b6 4c 05
|
||
d7 movzx ecx, BYTE PTR state$3[rbp+r8-137]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
001f2 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 653 : const char value = (*((BYTE*) data) & 0x80) != 0;
|
||
|
||
001f6 c0 e9 07 shr cl, 7
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
001f9 88 0c 07 mov BYTE PTR [rdi+rax], cl
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 655 : bi++;
|
||
|
||
001fc 48 ff c7 inc rdi
|
||
|
||
; 656 : break;
|
||
|
||
001ff eb 1f jmp SHORT $LN2@glfwPollJo
|
||
$LN16@glfwPollJo:
|
||
00201 66 42 0f 6e 44
|
||
05 d7 movd xmm0, DWORD PTR state$3[rbp+r8-137]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
00208 48 8b 43 08 mov rax, QWORD PTR [rbx+8]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 645 : const float value = (*((LONG*) data) + 0.5f) / 32767.5f;
|
||
|
||
0020c 0f 5b c0 cvtdq2ps xmm0, xmm0
|
||
0020f f3 0f 58 c2 addss xmm0, xmm2
|
||
00213 f3 0f 5e c3 divss xmm0, xmm3
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
00217 f3 0f 11 04 06 movss DWORD PTR [rsi+rax], xmm0
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 647 : ai++;
|
||
|
||
0021c 48 83 c6 04 add rsi, 4
|
||
$LN2@glfwPollJo:
|
||
|
||
; 634 : return GLFW_TRUE;
|
||
; 635 :
|
||
; 636 : for (i = 0; i < js->win32.objectCount; i++)
|
||
|
||
00220 41 ff c3 inc r11d
|
||
00223 4d 03 d5 add r10, r13
|
||
00226 44 3b 9b f8 00
|
||
00 00 cmp r11d, DWORD PTR [rbx+248]
|
||
0022d 0f 8c ed fe ff
|
||
ff jl $LL4@glfwPollJo
|
||
|
||
; 681 : break;
|
||
; 682 : }
|
||
; 683 : }
|
||
; 684 : }
|
||
; 685 : }
|
||
|
||
00233 4c 8b bc 24 c0
|
||
00 00 00 mov r15, QWORD PTR [rsp+192]
|
||
0023b 4c 8b b4 24 08
|
||
01 00 00 mov r14, QWORD PTR [rsp+264]
|
||
00243 4c 8b ac 24 00
|
||
01 00 00 mov r13, QWORD PTR [rsp+256]
|
||
0024b 48 8b b4 24 f8
|
||
00 00 00 mov rsi, QWORD PTR [rsp+248]
|
||
00253 e9 3b 02 00 00 jmp $LN32@glfwPollJo
|
||
$LN10@glfwPollJo:
|
||
|
||
; 686 : else
|
||
; 687 : {
|
||
; 688 : int i, dpad = 0;
|
||
; 689 : DWORD result;
|
||
; 690 : XINPUT_STATE xis;
|
||
; 691 : const WORD buttons[10] =
|
||
; 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);
|
||
|
||
00258 8b 8b 08 01 00
|
||
00 mov ecx, DWORD PTR [rbx+264]
|
||
0025e 48 8d 55 bf lea rdx, QWORD PTR xis$2[rbp-137]
|
||
00262 ff 15 90 29 00
|
||
00 call QWORD PTR _glfw+10640
|
||
|
||
; 706 : if (result != ERROR_SUCCESS)
|
||
|
||
00268 85 c0 test eax, eax
|
||
0026a 74 16 je SHORT $LN22@glfwPollJo
|
||
|
||
; 707 : {
|
||
; 708 : if (result == ERROR_DEVICE_NOT_CONNECTED)
|
||
|
||
0026c 3d 8f 04 00 00 cmp eax, 1167 ; 0000048fH
|
||
00271 75 08 jne SHORT $LN23@glfwPollJo
|
||
$LN84@glfwPollJo:
|
||
|
||
; 743 : }
|
||
|
||
00273 48 8b cb mov rcx, rbx
|
||
00276 e8 00 00 00 00 call closeJoystick
|
||
$LN23@glfwPollJo:
|
||
0027b 33 c0 xor eax, eax
|
||
0027d e9 16 02 00 00 jmp $LN1@glfwPollJo
|
||
$LN22@glfwPollJo:
|
||
|
||
; 709 : closeJoystick(js);
|
||
; 710 :
|
||
; 711 : return GLFW_FALSE;
|
||
; 712 : }
|
||
; 713 :
|
||
; 714 : if (mode == _GLFW_POLL_PRESENCE)
|
||
|
||
00282 85 ff test edi, edi
|
||
00284 0f 84 09 02 00
|
||
00 je $LN32@glfwPollJo
|
||
|
||
; 717 : _glfwInputJoystickAxis(js, 0, (xis.Gamepad.sThumbLX + 0.5f) / 32767.5f);
|
||
|
||
0028a 0f bf 45 c7 movsx eax, WORD PTR xis$2[rbp-129]
|
||
0028e f3 0f 10 1d 00
|
||
00 00 00 movss xmm3, DWORD PTR __real@3f000000
|
||
00296 f3 0f 10 25 00
|
||
00 00 00 movss xmm4, DWORD PTR __real@46ffff00
|
||
0029e 66 0f 6e c0 movd xmm0, eax
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
002a2 48 8b 43 08 mov rax, QWORD PTR [rbx+8]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 717 : _glfwInputJoystickAxis(js, 0, (xis.Gamepad.sThumbLX + 0.5f) / 32767.5f);
|
||
|
||
002a6 0f 5b c0 cvtdq2ps xmm0, xmm0
|
||
002a9 f3 0f 58 c3 addss xmm0, xmm3
|
||
002ad f3 0f 5e c4 divss xmm0, xmm4
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
002b1 f3 0f 11 00 movss DWORD PTR [rax], xmm0
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 718 : _glfwInputJoystickAxis(js, 1, -(xis.Gamepad.sThumbLY + 0.5f) / 32767.5f);
|
||
|
||
002b5 0f bf 45 c9 movsx eax, WORD PTR xis$2[rbp-127]
|
||
002b9 66 0f 6e c8 movd xmm1, eax
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
002bd 48 8b 43 08 mov rax, QWORD PTR [rbx+8]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 718 : _glfwInputJoystickAxis(js, 1, -(xis.Gamepad.sThumbLY + 0.5f) / 32767.5f);
|
||
|
||
002c1 0f 5b c9 cvtdq2ps xmm1, xmm1
|
||
002c4 f3 0f 58 cb addss xmm1, xmm3
|
||
002c8 0f 57 0d 00 00
|
||
00 00 xorps xmm1, DWORD PTR __xmm@80000000800000008000000080000000
|
||
002cf f3 0f 5e cc divss xmm1, xmm4
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
002d3 f3 0f 11 48 04 movss DWORD PTR [rax+4], xmm1
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 719 : _glfwInputJoystickAxis(js, 2, (xis.Gamepad.sThumbRX + 0.5f) / 32767.5f);
|
||
|
||
002d8 0f bf 45 cb movsx eax, WORD PTR xis$2[rbp-125]
|
||
002dc 66 0f 6e c0 movd xmm0, eax
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
002e0 48 8b 43 08 mov rax, QWORD PTR [rbx+8]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 719 : _glfwInputJoystickAxis(js, 2, (xis.Gamepad.sThumbRX + 0.5f) / 32767.5f);
|
||
|
||
002e4 0f 5b c0 cvtdq2ps xmm0, xmm0
|
||
002e7 f3 0f 58 c3 addss xmm0, xmm3
|
||
002eb f3 0f 5e c4 divss xmm0, xmm4
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
002ef f3 0f 11 40 08 movss DWORD PTR [rax+8], xmm0
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 720 : _glfwInputJoystickAxis(js, 3, -(xis.Gamepad.sThumbRY + 0.5f) / 32767.5f);
|
||
|
||
002f4 0f bf 45 cd movsx eax, WORD PTR xis$2[rbp-123]
|
||
002f8 66 0f 6e c8 movd xmm1, eax
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
002fc 48 8b 43 08 mov rax, QWORD PTR [rbx+8]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 720 : _glfwInputJoystickAxis(js, 3, -(xis.Gamepad.sThumbRY + 0.5f) / 32767.5f);
|
||
|
||
00300 0f 5b c9 cvtdq2ps xmm1, xmm1
|
||
00303 f3 0f 58 cb addss xmm1, xmm3
|
||
00307 0f 57 0d 00 00
|
||
00 00 xorps xmm1, DWORD PTR __xmm@80000000800000008000000080000000
|
||
0030e f3 0f 5e cc divss xmm1, xmm4
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
00312 f3 0f 11 48 0c movss DWORD PTR [rax+12], xmm1
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 721 : _glfwInputJoystickAxis(js, 4, xis.Gamepad.bLeftTrigger / 127.5f - 1.f);
|
||
|
||
00317 0f b6 45 c5 movzx eax, BYTE PTR xis$2[rbp-131]
|
||
0031b 66 0f 6e c0 movd xmm0, eax
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
0031f 48 8b 43 08 mov rax, QWORD PTR [rbx+8]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 721 : _glfwInputJoystickAxis(js, 4, xis.Gamepad.bLeftTrigger / 127.5f - 1.f);
|
||
|
||
00323 0f 5b c0 cvtdq2ps xmm0, xmm0
|
||
00326 f3 0f 5e 05 00
|
||
00 00 00 divss xmm0, DWORD PTR __real@42ff0000
|
||
0032e f3 0f 5c 05 00
|
||
00 00 00 subss xmm0, DWORD PTR __real@3f800000
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
00336 f3 0f 11 40 10 movss DWORD PTR [rax+16], xmm0
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 722 : _glfwInputJoystickAxis(js, 5, xis.Gamepad.bRightTrigger / 127.5f - 1.f);
|
||
|
||
0033b 0f b6 45 c6 movzx eax, BYTE PTR xis$2[rbp-130]
|
||
0033f 66 0f 6e c0 movd xmm0, eax
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
00343 48 8b 43 08 mov rax, QWORD PTR [rbx+8]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 722 : _glfwInputJoystickAxis(js, 5, xis.Gamepad.bRightTrigger / 127.5f - 1.f);
|
||
|
||
00347 0f 5b c0 cvtdq2ps xmm0, xmm0
|
||
0034a f3 0f 5e 05 00
|
||
00 00 00 divss xmm0, DWORD PTR __real@42ff0000
|
||
00352 f3 0f 5c 05 00
|
||
00 00 00 subss xmm0, DWORD PTR __real@3f800000
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 440 : js->axes[axis] = value;
|
||
|
||
0035a f3 0f 11 40 14 movss DWORD PTR [rax+20], xmm0
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
0035f 0f b7 4d c3 movzx ecx, WORD PTR xis$2[rbp-133]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
00363 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
00367 66 c1 e9 0c shr cx, 12
|
||
0036b 80 e1 01 and cl, 1
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
0036e 88 08 mov BYTE PTR [rax], cl
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
00370 0f b7 4d c3 movzx ecx, WORD PTR xis$2[rbp-133]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
00374 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
00378 66 c1 e9 0d shr cx, 13
|
||
0037c 80 e1 01 and cl, 1
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
0037f 88 48 01 mov BYTE PTR [rax+1], cl
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
00382 0f b7 4d c3 movzx ecx, WORD PTR xis$2[rbp-133]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
00386 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
0038a 66 c1 e9 0e shr cx, 14
|
||
0038e 80 e1 01 and cl, 1
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
00391 88 48 02 mov BYTE PTR [rax+2], cl
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
00394 0f b7 4d c3 movzx ecx, WORD PTR xis$2[rbp-133]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
00398 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
0039c 66 c1 e9 0f shr cx, 15
|
||
003a0 80 e1 01 and cl, 1
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
003a3 88 48 03 mov BYTE PTR [rax+3], cl
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
003a6 0f b7 4d c3 movzx ecx, WORD PTR xis$2[rbp-133]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
003aa 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
003ae 66 c1 e9 08 shr cx, 8
|
||
003b2 80 e1 01 and cl, 1
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
003b5 88 48 04 mov BYTE PTR [rax+4], cl
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
003b8 0f b7 4d c3 movzx ecx, WORD PTR xis$2[rbp-133]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
003bc 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
003c0 66 c1 e9 09 shr cx, 9
|
||
003c4 80 e1 01 and cl, 1
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
003c7 88 48 05 mov BYTE PTR [rax+5], cl
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
003ca 0f b6 4d c3 movzx ecx, BYTE PTR xis$2[rbp-133]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
003ce 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
003d2 c0 e9 05 shr cl, 5
|
||
003d5 80 e1 01 and cl, 1
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
003d8 88 48 06 mov BYTE PTR [rax+6], cl
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
003db 0f b6 4d c3 movzx ecx, BYTE PTR xis$2[rbp-133]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
003df 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
003e3 c0 e9 04 shr cl, 4
|
||
003e6 80 e1 01 and cl, 1
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
003e9 88 48 07 mov BYTE PTR [rax+7], cl
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
003ec 0f b6 4d c3 movzx ecx, BYTE PTR xis$2[rbp-133]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
003f0 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
003f4 c0 e9 06 shr cl, 6
|
||
003f7 80 e1 01 and cl, 1
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
003fa 88 48 08 mov BYTE PTR [rax+8], cl
|
||
003fd 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 726 : const char value = (xis.Gamepad.wButtons & buttons[i]) ? 1 : 0;
|
||
|
||
00401 0f b6 4d c3 movzx ecx, BYTE PTR xis$2[rbp-133]
|
||
00405 c0 e9 07 shr cl, 7
|
||
00408 80 e1 01 and cl, 1
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 452 : js->buttons[button] = value;
|
||
|
||
0040b 88 48 09 mov BYTE PTR [rax+9], cl
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 730 : if (xis.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_UP)
|
||
|
||
0040e 44 8b 4d c3 mov r9d, DWORD PTR xis$2[rbp-133]
|
||
00412 41 8b c9 mov ecx, r9d
|
||
00415 83 e1 01 and ecx, 1
|
||
|
||
; 731 : dpad |= GLFW_HAT_UP;
|
||
; 732 : if (xis.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_RIGHT)
|
||
; 733 : dpad |= GLFW_HAT_RIGHT;
|
||
; 734 : if (xis.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_DOWN)
|
||
|
||
00418 44 8b c1 mov r8d, ecx
|
||
0041b 41 83 c8 02 or r8d, 2
|
||
0041f 41 f6 c1 08 test r9b, 8
|
||
00423 44 0f 44 c1 cmove r8d, ecx
|
||
|
||
; 736 : if (xis.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_LEFT)
|
||
|
||
00427 41 8b d0 mov edx, r8d
|
||
0042a 83 ca 04 or edx, 4
|
||
0042d 41 f6 c1 02 test r9b, 2
|
||
00431 41 0f 44 d0 cmove edx, r8d
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 470 : base = js->buttonCount + hat * 4;
|
||
|
||
00435 0f b6 c2 movzx eax, dl
|
||
00438 0c 08 or al, 8
|
||
0043a 0f b6 c8 movzx ecx, al
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 736 : if (xis.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_LEFT)
|
||
|
||
0043d 41 f6 c1 04 test r9b, 4
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 470 : base = js->buttonCount + hat * 4;
|
||
|
||
00441 0f b6 c2 movzx eax, dl
|
||
|
||
; 472 : js->buttons[base + 0] = (value & 0x01) ? GLFW_PRESS : GLFW_RELEASE;
|
||
|
||
00444 48 63 53 20 movsxd rdx, DWORD PTR [rbx+32]
|
||
00448 0f 44 c8 cmove ecx, eax
|
||
0044b 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
0044f 44 0f b6 c1 movzx r8d, cl
|
||
00453 41 0f b6 c8 movzx ecx, r8b
|
||
00457 80 e1 01 and cl, 1
|
||
0045a 88 0c 02 mov BYTE PTR [rdx+rax], cl
|
||
|
||
; 473 : js->buttons[base + 1] = (value & 0x02) ? GLFW_PRESS : GLFW_RELEASE;
|
||
|
||
0045d 41 8b c8 mov ecx, r8d
|
||
00460 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
00464 d1 e9 shr ecx, 1
|
||
00466 80 e1 01 and cl, 1
|
||
00469 88 4c 02 01 mov BYTE PTR [rdx+rax+1], cl
|
||
|
||
; 474 : js->buttons[base + 2] = (value & 0x04) ? GLFW_PRESS : GLFW_RELEASE;
|
||
|
||
0046d 41 8b c8 mov ecx, r8d
|
||
00470 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
00474 c1 e9 02 shr ecx, 2
|
||
00477 80 e1 01 and cl, 1
|
||
0047a 88 4c 02 02 mov BYTE PTR [rdx+rax+2], cl
|
||
|
||
; 475 : js->buttons[base + 3] = (value & 0x08) ? GLFW_PRESS : GLFW_RELEASE;
|
||
|
||
0047e 41 8b c8 mov ecx, r8d
|
||
00481 48 8b 43 18 mov rax, QWORD PTR [rbx+24]
|
||
00485 c1 e9 03 shr ecx, 3
|
||
00488 88 4c 02 03 mov BYTE PTR [rdx+rax+3], cl
|
||
|
||
; 476 :
|
||
; 477 : js->hats[hat] = value;
|
||
|
||
0048c 48 8b 43 28 mov rax, QWORD PTR [rbx+40]
|
||
00490 44 88 00 mov BYTE PTR [rax], r8b
|
||
$LN32@glfwPollJo:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 742 : return GLFW_TRUE;
|
||
|
||
00493 b8 01 00 00 00 mov eax, 1
|
||
$LN1@glfwPollJo:
|
||
|
||
; 743 : }
|
||
|
||
00498 48 8b 4d 27 mov rcx, QWORD PTR __$ArrayPad$[rbp-137]
|
||
0049c 48 33 cc xor rcx, rsp
|
||
0049f e8 00 00 00 00 call __security_check_cookie
|
||
004a4 48 81 c4 c8 00
|
||
00 00 add rsp, 200 ; 000000c8H
|
||
004ab 41 5c pop r12
|
||
004ad 5f pop rdi
|
||
004ae 5b pop rbx
|
||
004af 5d pop rbp
|
||
004b0 c3 ret 0
|
||
_glfwPollJoystickWin32 ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdio.h
|
||
; COMDAT _vsnprintf_l
|
||
_TEXT SEGMENT
|
||
_Buffer$ = 64
|
||
_BufferCount$dead$ = 72
|
||
_Format$ = 80
|
||
_Locale$dead$ = 88
|
||
_ArgList$ = 96
|
||
_vsnprintf_l PROC ; COMDAT
|
||
|
||
; 1391 : {
|
||
|
||
$LN4:
|
||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||
00005 57 push rdi
|
||
00006 48 83 ec 30 sub rsp, 48 ; 00000030H
|
||
0000a 49 8b d8 mov rbx, r8
|
||
0000d 48 8b f9 mov rdi, rcx
|
||
|
||
; 1392 : int const _Result = __stdio_common_vsprintf(
|
||
|
||
00010 e8 00 00 00 00 call __local_stdio_printf_options
|
||
00015 4c 8b cb mov r9, rbx
|
||
00018 48 8b d7 mov rdx, rdi
|
||
0001b 48 c7 c3 ff ff
|
||
ff ff mov rbx, -1
|
||
00022 4c 8b c3 mov r8, rbx
|
||
00025 48 8b 08 mov rcx, QWORD PTR [rax]
|
||
00028 48 8b 44 24 60 mov rax, QWORD PTR _ArgList$[rsp]
|
||
0002d 48 83 c9 01 or rcx, 1
|
||
00031 48 89 44 24 28 mov QWORD PTR [rsp+40], rax
|
||
00036 48 c7 44 24 20
|
||
00 00 00 00 mov QWORD PTR [rsp+32], 0
|
||
0003f ff 15 00 00 00
|
||
00 call QWORD PTR __imp___stdio_common_vsprintf
|
||
|
||
; 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;
|
||
|
||
00045 85 c0 test eax, eax
|
||
00047 0f 48 c3 cmovs eax, ebx
|
||
|
||
; 1397 : }
|
||
|
||
0004a 48 8b 5c 24 40 mov rbx, QWORD PTR [rsp+64]
|
||
0004f 48 83 c4 30 add rsp, 48 ; 00000030H
|
||
00053 5f pop rdi
|
||
00054 c3 ret 0
|
||
_vsnprintf_l ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdio.h
|
||
; COMDAT _vsprintf_l
|
||
_TEXT SEGMENT
|
||
_Buffer$ = 64
|
||
_Format$ = 72
|
||
_Locale$dead$ = 80
|
||
_ArgList$ = 88
|
||
_vsprintf_l PROC ; COMDAT
|
||
|
||
; 1458 : {
|
||
|
||
$LN6:
|
||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||
00005 48 89 74 24 10 mov QWORD PTR [rsp+16], rsi
|
||
0000a 57 push rdi
|
||
0000b 48 83 ec 30 sub rsp, 48 ; 00000030H
|
||
0000f 49 8b d9 mov rbx, r9
|
||
00012 48 8b fa mov rdi, rdx
|
||
00015 48 8b f1 mov rsi, rcx
|
||
|
||
; 1392 : int const _Result = __stdio_common_vsprintf(
|
||
|
||
00018 e8 00 00 00 00 call __local_stdio_printf_options
|
||
0001d 48 89 5c 24 28 mov QWORD PTR [rsp+40], rbx
|
||
00022 4c 8b cf mov r9, rdi
|
||
00025 48 c7 c3 ff ff
|
||
ff ff mov rbx, -1
|
||
0002c 48 c7 44 24 20
|
||
00 00 00 00 mov QWORD PTR [rsp+32], 0
|
||
00035 4c 8b c3 mov r8, rbx
|
||
00038 48 8b d6 mov rdx, rsi
|
||
0003b 48 8b 08 mov rcx, QWORD PTR [rax]
|
||
0003e 48 83 c9 01 or rcx, 1
|
||
00042 ff 15 00 00 00
|
||
00 call QWORD PTR __imp___stdio_common_vsprintf
|
||
|
||
; 1459 : return _vsnprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList);
|
||
; 1460 : }
|
||
|
||
00048 48 8b 74 24 48 mov rsi, QWORD PTR [rsp+72]
|
||
|
||
; 1396 : return _Result < 0 ? -1 : _Result;
|
||
|
||
0004d 85 c0 test eax, eax
|
||
0004f 0f 48 c3 cmovs eax, ebx
|
||
|
||
; 1459 : return _vsnprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList);
|
||
; 1460 : }
|
||
|
||
00052 48 8b 5c 24 40 mov rbx, QWORD PTR [rsp+64]
|
||
00057 48 83 c4 30 add rsp, 48 ; 00000030H
|
||
0005b 5f pop rdi
|
||
0005c c3 ret 0
|
||
_vsprintf_l ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdio.h
|
||
; COMDAT sprintf
|
||
_TEXT SEGMENT
|
||
_Buffer$ = 80
|
||
_Format$ = 88
|
||
sprintf PROC ; COMDAT
|
||
|
||
; 1771 : {
|
||
|
||
$LN8:
|
||
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
||
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
||
0000a 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
|
||
0000f 53 push rbx
|
||
00010 56 push rsi
|
||
00011 57 push rdi
|
||
00012 48 83 ec 30 sub rsp, 48 ; 00000030H
|
||
00016 48 8b da mov rbx, rdx
|
||
|
||
; 1772 : int _Result;
|
||
; 1773 : va_list _ArgList;
|
||
; 1774 : __crt_va_start(_ArgList, _Format);
|
||
|
||
00019 48 8d 74 24 60 lea rsi, QWORD PTR _Format$[rsp+8]
|
||
0001e 48 8b f9 mov rdi, rcx
|
||
|
||
; 1392 : int const _Result = __stdio_common_vsprintf(
|
||
|
||
00021 e8 00 00 00 00 call __local_stdio_printf_options
|
||
00026 4c 8b cb mov r9, rbx
|
||
00029 48 89 74 24 28 mov QWORD PTR [rsp+40], rsi
|
||
0002e 48 c7 c3 ff ff
|
||
ff ff mov rbx, -1
|
||
00035 48 c7 44 24 20
|
||
00 00 00 00 mov QWORD PTR [rsp+32], 0
|
||
0003e 4c 8b c3 mov r8, rbx
|
||
00041 48 8b d7 mov rdx, rdi
|
||
00044 48 8b 08 mov rcx, QWORD PTR [rax]
|
||
00047 48 83 c9 01 or rcx, 1
|
||
0004b ff 15 00 00 00
|
||
00 call QWORD PTR __imp___stdio_common_vsprintf
|
||
|
||
; 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;
|
||
|
||
00051 85 c0 test eax, eax
|
||
00053 0f 48 c3 cmovs eax, ebx
|
||
|
||
; 1775 :
|
||
; 1776 : _Result = _vsprintf_l(_Buffer, _Format, NULL, _ArgList);
|
||
; 1777 :
|
||
; 1778 : __crt_va_end(_ArgList);
|
||
; 1779 : return _Result;
|
||
; 1780 : }
|
||
|
||
00056 48 83 c4 30 add rsp, 48 ; 00000030H
|
||
0005a 5f pop rdi
|
||
0005b 5e pop rsi
|
||
0005c 5b pop rbx
|
||
0005d c3 ret 0
|
||
sprintf ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT getDeviceDescription
|
||
_TEXT SEGMENT
|
||
xic$ = 8
|
||
getDeviceDescription PROC ; COMDAT
|
||
|
||
; 153 : switch (xic->SubType)
|
||
|
||
00000 0f b6 41 01 movzx eax, BYTE PTR [rcx+1]
|
||
00004 ff c8 dec eax
|
||
00006 83 f8 07 cmp eax, 7
|
||
00009 77 5d ja SHORT $LN12@getDeviceD
|
||
0000b 4c 8d 05 00 00
|
||
00 00 lea r8, OFFSET FLAT:__ImageBase
|
||
00012 48 98 cdqe
|
||
00014 41 8b 94 80 00
|
||
00 00 00 mov edx, DWORD PTR $LN14@getDeviceD[r8+rax*4]
|
||
0001c 49 03 d0 add rdx, r8
|
||
0001f ff e2 jmp rdx
|
||
$LN4@getDeviceD:
|
||
|
||
; 154 : {
|
||
; 155 : case XINPUT_DEVSUBTYPE_WHEEL:
|
||
; 156 : return "XInput Wheel";
|
||
|
||
00021 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0N@JENFOGFI@XInput?5Wheel@
|
||
|
||
; 177 : }
|
||
|
||
00028 c3 ret 0
|
||
$LN5@getDeviceD:
|
||
|
||
; 157 : case XINPUT_DEVSUBTYPE_ARCADE_STICK:
|
||
; 158 : return "XInput Arcade Stick";
|
||
|
||
00029 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0BE@FABDLJKH@XInput?5Arcade?5Stick@
|
||
|
||
; 177 : }
|
||
|
||
00030 c3 ret 0
|
||
$LN6@getDeviceD:
|
||
|
||
; 159 : case XINPUT_DEVSUBTYPE_FLIGHT_STICK:
|
||
; 160 : return "XInput Flight Stick";
|
||
|
||
00031 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0BE@HBNNGLHP@XInput?5Flight?5Stick@
|
||
|
||
; 177 : }
|
||
|
||
00038 c3 ret 0
|
||
$LN7@getDeviceD:
|
||
|
||
; 161 : case XINPUT_DEVSUBTYPE_DANCE_PAD:
|
||
; 162 : return "XInput Dance Pad";
|
||
|
||
00039 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0BB@JDDMDGFO@XInput?5Dance?5Pad@
|
||
|
||
; 177 : }
|
||
|
||
00040 c3 ret 0
|
||
$LN8@getDeviceD:
|
||
|
||
; 163 : case XINPUT_DEVSUBTYPE_GUITAR:
|
||
; 164 : return "XInput Guitar";
|
||
|
||
00041 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0O@IFDGNEHH@XInput?5Guitar@
|
||
|
||
; 177 : }
|
||
|
||
00048 c3 ret 0
|
||
$LN9@getDeviceD:
|
||
|
||
; 165 : case XINPUT_DEVSUBTYPE_DRUM_KIT:
|
||
; 166 : return "XInput Drum Kit";
|
||
|
||
00049 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0BA@LCMKGGHA@XInput?5Drum?5Kit@
|
||
|
||
; 177 : }
|
||
|
||
00050 c3 ret 0
|
||
$LN10@getDeviceD:
|
||
|
||
; 167 : case XINPUT_DEVSUBTYPE_GAMEPAD:
|
||
; 168 : {
|
||
; 169 : if (xic->Flags & XINPUT_CAPS_WIRELESS)
|
||
|
||
00051 f6 41 02 02 test BYTE PTR [rcx+2], 2
|
||
00055 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0BA@EPLGABLH@Xbox?5Controller@
|
||
0005c 48 8d 0d 00 00
|
||
00 00 lea rcx, OFFSET FLAT:??_C@_0BJ@IIGAEGGE@Wireless?5Xbox?5Controller@
|
||
00063 48 0f 45 c1 cmovne rax, rcx
|
||
|
||
; 177 : }
|
||
|
||
00067 c3 ret 0
|
||
$LN12@getDeviceD:
|
||
|
||
; 170 : return "Wireless Xbox Controller";
|
||
; 171 : else
|
||
; 172 : return "Xbox Controller";
|
||
; 173 : }
|
||
; 174 : }
|
||
; 175 :
|
||
; 176 : return "Unknown XInput Device";
|
||
|
||
00068 48 8d 05 00 00
|
||
00 00 lea rax, OFFSET FLAT:??_C@_0BG@DGJLFNBN@Unknown?5XInput?5Device@
|
||
|
||
; 177 : }
|
||
|
||
0006f c3 ret 0
|
||
$LN14@getDeviceD:
|
||
00070 00 00 00 00 DD $LN10@getDeviceD
|
||
00074 00 00 00 00 DD $LN4@getDeviceD
|
||
00078 00 00 00 00 DD $LN5@getDeviceD
|
||
0007c 00 00 00 00 DD $LN6@getDeviceD
|
||
00080 00 00 00 00 DD $LN7@getDeviceD
|
||
00084 00 00 00 00 DD $LN8@getDeviceD
|
||
00088 00 00 00 00 DD $LN12@getDeviceD
|
||
0008c 00 00 00 00 DD $LN9@getDeviceD
|
||
getDeviceDescription ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT compareJoystickObjects
|
||
_TEXT SEGMENT
|
||
first$ = 8
|
||
second$ = 16
|
||
compareJoystickObjects PROC ; COMDAT
|
||
|
||
; 183 : const _GLFWjoyobjectWin32* fo = first;
|
||
; 184 : const _GLFWjoyobjectWin32* so = second;
|
||
; 185 :
|
||
; 186 : if (fo->type != so->type)
|
||
|
||
00000 8b 41 04 mov eax, DWORD PTR [rcx+4]
|
||
00003 44 8b 42 04 mov r8d, DWORD PTR [rdx+4]
|
||
00007 41 3b c0 cmp eax, r8d
|
||
0000a 74 04 je SHORT $LN2@compareJoy
|
||
|
||
; 187 : return fo->type - so->type;
|
||
|
||
0000c 41 2b c0 sub eax, r8d
|
||
|
||
; 190 : }
|
||
|
||
0000f c3 ret 0
|
||
$LN2@compareJoy:
|
||
|
||
; 188 :
|
||
; 189 : return fo->offset - so->offset;
|
||
|
||
00010 8b 01 mov eax, DWORD PTR [rcx]
|
||
00012 2b 02 sub eax, DWORD PTR [rdx]
|
||
|
||
; 190 : }
|
||
|
||
00014 c3 ret 0
|
||
compareJoystickObjects ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT supportsXInput
|
||
_TEXT SEGMENT
|
||
count$ = 32
|
||
size$1 = 36
|
||
rdi$2 = 40
|
||
name$3 = 80
|
||
__$ArrayPad$ = 336
|
||
guid$ = 368
|
||
supportsXInput PROC ; COMDAT
|
||
|
||
; 196 : {
|
||
|
||
00000 48 89 5c 24 10 mov QWORD PTR [rsp+16], rbx
|
||
00005 48 89 6c 24 18 mov QWORD PTR [rsp+24], rbp
|
||
0000a 48 89 7c 24 20 mov QWORD PTR [rsp+32], rdi
|
||
0000f 41 56 push r14
|
||
00011 48 81 ec 60 01
|
||
00 00 sub rsp, 352 ; 00000160H
|
||
00018 48 8b 05 00 00
|
||
00 00 mov rax, QWORD PTR __security_cookie
|
||
0001f 48 33 c4 xor rax, rsp
|
||
00022 48 89 84 24 50
|
||
01 00 00 mov QWORD PTR __$ArrayPad$[rsp], rax
|
||
|
||
; 197 : UINT i, count = 0;
|
||
|
||
0002a 33 ed xor ebp, ebp
|
||
|
||
; 198 : RAWINPUTDEVICELIST* ridl;
|
||
; 199 : GLFWbool result = GLFW_FALSE;
|
||
; 200 :
|
||
; 201 : if (GetRawInputDeviceList(NULL, &count, sizeof(RAWINPUTDEVICELIST)) != 0)
|
||
|
||
0002c 48 8d 54 24 20 lea rdx, QWORD PTR count$[rsp]
|
||
00031 4c 8b f1 mov r14, rcx
|
||
00034 89 6c 24 20 mov DWORD PTR count$[rsp], ebp
|
||
00038 33 c9 xor ecx, ecx
|
||
0003a 44 8d 45 10 lea r8d, QWORD PTR [rbp+16]
|
||
0003e ff 15 00 00 00
|
||
00 call QWORD PTR __imp_GetRawInputDeviceList
|
||
00044 85 c0 test eax, eax
|
||
00046 75 71 jne SHORT $LN23@supportsXI
|
||
|
||
; 202 : return GLFW_FALSE;
|
||
; 203 :
|
||
; 204 : ridl = _glfw_calloc(count, sizeof(RAWINPUTDEVICELIST));
|
||
|
||
00048 8b 5c 24 20 mov ebx, DWORD PTR count$[rsp]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
|
||
; 273 : if (count && size)
|
||
|
||
0004c 48 85 db test rbx, rbx
|
||
0004f 74 37 je SHORT $LN16@supportsXI
|
||
|
||
; 274 : {
|
||
; 275 : void* block;
|
||
; 276 :
|
||
; 277 : if (count > SIZE_MAX / size)
|
||
; 278 : {
|
||
; 279 : _glfwInputError(GLFW_INVALID_VALUE, "Allocation size overflow");
|
||
; 280 : return NULL;
|
||
; 281 : }
|
||
; 282 :
|
||
; 283 : block = _glfw.allocator.allocate(count * size, _glfw.allocator.user);
|
||
|
||
00051 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
00058 48 c1 e3 04 shl rbx, 4
|
||
0005c 48 8b cb mov rcx, rbx
|
||
0005f ff 15 08 00 00
|
||
00 call QWORD PTR _glfw+8
|
||
|
||
; 284 : if (block)
|
||
|
||
00065 48 85 c0 test rax, rax
|
||
00068 74 12 je SHORT $LN19@supportsXI
|
||
|
||
; 285 : return memset(block, 0, count * size);
|
||
|
||
0006a 4c 8b c3 mov r8, rbx
|
||
0006d 33 d2 xor edx, edx
|
||
0006f 48 8b c8 mov rcx, rax
|
||
00072 e8 00 00 00 00 call memset
|
||
00077 48 8b f8 mov rdi, rax
|
||
0007a eb 0f jmp SHORT $LN17@supportsXI
|
||
$LN19@supportsXI:
|
||
|
||
; 286 : else
|
||
; 287 : {
|
||
; 288 : _glfwInputError(GLFW_OUT_OF_MEMORY, NULL);
|
||
|
||
0007c 33 d2 xor edx, edx
|
||
0007e b9 05 00 01 00 mov ecx, 65541 ; 00010005H
|
||
00083 e8 00 00 00 00 call _glfwInputError
|
||
$LN16@supportsXI:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 206 : if (GetRawInputDeviceList(ridl, &count, sizeof(RAWINPUTDEVICELIST)) == (UINT) -1)
|
||
|
||
00088 48 8b fd mov rdi, rbp
|
||
$LN17@supportsXI:
|
||
0008b 41 b8 10 00 00
|
||
00 mov r8d, 16
|
||
00091 48 8d 54 24 20 lea rdx, QWORD PTR count$[rsp]
|
||
00096 48 8b cf mov rcx, rdi
|
||
00099 ff 15 00 00 00
|
||
00 call QWORD PTR __imp_GetRawInputDeviceList
|
||
0009f 83 f8 ff cmp eax, -1 ; ffffffffH
|
||
000a2 75 41 jne SHORT $LN6@supportsXI
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
|
||
; 320 : if (block)
|
||
|
||
000a4 48 85 ff test rdi, rdi
|
||
000a7 74 10 je SHORT $LN23@supportsXI
|
||
|
||
; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user);
|
||
|
||
000a9 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
000b0 48 8b cf mov rcx, rdi
|
||
000b3 ff 15 18 00 00
|
||
00 call QWORD PTR _glfw+24
|
||
$LN23@supportsXI:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 209 : return GLFW_FALSE;
|
||
|
||
000b9 33 c0 xor eax, eax
|
||
$LN1@supportsXI:
|
||
|
||
; 255 : }
|
||
|
||
000bb 48 8b 8c 24 50
|
||
01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rsp]
|
||
000c3 48 33 cc xor rcx, rsp
|
||
000c6 e8 00 00 00 00 call __security_check_cookie
|
||
000cb 4c 8d 9c 24 60
|
||
01 00 00 lea r11, QWORD PTR [rsp+352]
|
||
000d3 49 8b 5b 18 mov rbx, QWORD PTR [r11+24]
|
||
000d7 49 8b 6b 20 mov rbp, QWORD PTR [r11+32]
|
||
000db 49 8b 7b 28 mov rdi, QWORD PTR [r11+40]
|
||
000df 49 8b e3 mov rsp, r11
|
||
000e2 41 5e pop r14
|
||
000e4 c3 ret 0
|
||
$LN6@supportsXI:
|
||
|
||
; 210 : }
|
||
; 211 :
|
||
; 212 : for (i = 0; i < count; i++)
|
||
|
||
000e5 8b 4c 24 20 mov ecx, DWORD PTR count$[rsp]
|
||
000e9 8b dd mov ebx, ebp
|
||
000eb 85 c9 test ecx, ecx
|
||
000ed 0f 84 e0 00 00
|
||
00 je $LN35@supportsXI
|
||
000f3 48 89 b4 24 70
|
||
01 00 00 mov QWORD PTR [rsp+368], rsi
|
||
000fb 0f 1f 44 00 00 npad 5
|
||
$LL4@supportsXI:
|
||
|
||
; 213 : {
|
||
; 214 : RID_DEVICE_INFO rdi;
|
||
; 215 : char name[256];
|
||
; 216 : UINT size;
|
||
; 217 :
|
||
; 218 : if (ridl[i].dwType != RIM_TYPEHID)
|
||
|
||
00100 8b f3 mov esi, ebx
|
||
00102 48 03 f6 add rsi, rsi
|
||
00105 83 7c f7 08 02 cmp DWORD PTR [rdi+rsi*8+8], 2
|
||
0010a 0f 85 aa 00 00
|
||
00 jne $LN2@supportsXI
|
||
|
||
; 219 : continue;
|
||
; 220 :
|
||
; 221 : ZeroMemory(&rdi, sizeof(rdi));
|
||
; 222 : rdi.cbSize = sizeof(rdi);
|
||
; 223 : size = sizeof(rdi);
|
||
; 224 :
|
||
; 225 : if ((INT) GetRawInputDeviceInfoA(ridl[i].hDevice,
|
||
; 226 : RIDI_DEVICEINFO,
|
||
; 227 : &rdi, &size) == -1)
|
||
|
||
00110 48 8b 0c f7 mov rcx, QWORD PTR [rdi+rsi*8]
|
||
00114 4c 8d 4c 24 24 lea r9, QWORD PTR size$1[rsp]
|
||
00119 0f 57 c0 xorps xmm0, xmm0
|
||
0011c c7 44 24 24 20
|
||
00 00 00 mov DWORD PTR size$1[rsp], 32 ; 00000020H
|
||
00124 0f 11 44 24 28 movups XMMWORD PTR rdi$2[rsp], xmm0
|
||
00129 4c 8d 44 24 28 lea r8, QWORD PTR rdi$2[rsp]
|
||
0012e c7 44 24 28 20
|
||
00 00 00 mov DWORD PTR rdi$2[rsp], 32 ; 00000020H
|
||
00136 ba 0b 00 00 20 mov edx, 536870923 ; 2000000bH
|
||
0013b 0f 11 44 24 38 movups XMMWORD PTR rdi$2[rsp+16], xmm0
|
||
00140 ff 15 00 00 00
|
||
00 call QWORD PTR __imp_GetRawInputDeviceInfoA
|
||
00146 83 f8 ff cmp eax, -1
|
||
00149 74 6b je SHORT $LN36@supportsXI
|
||
|
||
; 228 : {
|
||
; 229 : continue;
|
||
; 230 : }
|
||
; 231 :
|
||
; 232 : if (MAKELONG(rdi.hid.dwVendorId, rdi.hid.dwProductId) != (LONG) guid->Data1)
|
||
|
||
0014b 0f b7 54 24 34 movzx edx, WORD PTR rdi$2[rsp+12]
|
||
00150 0f b7 44 24 30 movzx eax, WORD PTR rdi$2[rsp+8]
|
||
00155 c1 e2 10 shl edx, 16
|
||
00158 0b d0 or edx, eax
|
||
0015a 41 3b 16 cmp edx, DWORD PTR [r14]
|
||
0015d 75 57 jne SHORT $LN36@supportsXI
|
||
|
||
; 233 : continue;
|
||
; 234 :
|
||
; 235 : memset(name, 0, sizeof(name));
|
||
|
||
0015f 33 d2 xor edx, edx
|
||
00161 48 8d 4c 24 50 lea rcx, QWORD PTR name$3[rsp]
|
||
00166 41 b8 00 01 00
|
||
00 mov r8d, 256 ; 00000100H
|
||
0016c e8 00 00 00 00 call memset
|
||
|
||
; 236 : size = sizeof(name);
|
||
; 237 :
|
||
; 238 : if ((INT) GetRawInputDeviceInfoA(ridl[i].hDevice,
|
||
; 239 : RIDI_DEVICENAME,
|
||
; 240 : name, &size) == -1)
|
||
|
||
00171 48 8b 0c f7 mov rcx, QWORD PTR [rdi+rsi*8]
|
||
00175 4c 8d 4c 24 24 lea r9, QWORD PTR size$1[rsp]
|
||
0017a 4c 8d 44 24 50 lea r8, QWORD PTR name$3[rsp]
|
||
0017f c7 44 24 24 00
|
||
01 00 00 mov DWORD PTR size$1[rsp], 256 ; 00000100H
|
||
00187 ba 07 00 00 20 mov edx, 536870919 ; 20000007H
|
||
0018c ff 15 00 00 00
|
||
00 call QWORD PTR __imp_GetRawInputDeviceInfoA
|
||
00192 83 f8 ff cmp eax, -1
|
||
00195 74 34 je SHORT $LN48@supportsXI
|
||
|
||
; 241 : {
|
||
; 242 : break;
|
||
; 243 : }
|
||
; 244 :
|
||
; 245 : name[sizeof(name) - 1] = '\0';
|
||
; 246 : if (strstr(name, "IG_"))
|
||
|
||
00197 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_03HAFBONIK@IG_@
|
||
0019e 40 88 ac 24 4f
|
||
01 00 00 mov BYTE PTR name$3[rsp+255], bpl
|
||
001a6 48 8d 4c 24 50 lea rcx, QWORD PTR name$3[rsp]
|
||
001ab ff 15 00 00 00
|
||
00 call QWORD PTR __imp_strstr
|
||
001b1 48 85 c0 test rax, rax
|
||
001b4 75 10 jne SHORT $LN30@supportsXI
|
||
$LN36@supportsXI:
|
||
001b6 8b 4c 24 20 mov ecx, DWORD PTR count$[rsp]
|
||
$LN2@supportsXI:
|
||
|
||
; 210 : }
|
||
; 211 :
|
||
; 212 : for (i = 0; i < count; i++)
|
||
|
||
001ba ff c3 inc ebx
|
||
001bc 3b d9 cmp ebx, ecx
|
||
001be 0f 82 3c ff ff
|
||
ff jb $LL4@supportsXI
|
||
001c4 eb 05 jmp SHORT $LN48@supportsXI
|
||
$LN30@supportsXI:
|
||
|
||
; 247 : {
|
||
; 248 : result = GLFW_TRUE;
|
||
|
||
001c6 bd 01 00 00 00 mov ebp, 1
|
||
$LN48@supportsXI:
|
||
001cb 48 8b b4 24 70
|
||
01 00 00 mov rsi, QWORD PTR [rsp+368]
|
||
$LN35@supportsXI:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
|
||
; 320 : if (block)
|
||
|
||
001d3 48 85 ff test rdi, rdi
|
||
001d6 74 10 je SHORT $LN26@supportsXI
|
||
|
||
; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user);
|
||
|
||
001d8 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
001df 48 8b cf mov rcx, rdi
|
||
001e2 ff 15 18 00 00
|
||
00 call QWORD PTR _glfw+24
|
||
$LN26@supportsXI:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 254 : return result;
|
||
|
||
001e8 8b c5 mov eax, ebp
|
||
001ea e9 cc fe ff ff jmp $LN1@supportsXI
|
||
supportsXInput ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT closeJoystick
|
||
_TEXT SEGMENT
|
||
js$ = 48
|
||
closeJoystick PROC ; COMDAT
|
||
|
||
; 260 : {
|
||
|
||
00000 40 53 push rbx
|
||
00002 48 83 ec 20 sub rsp, 32 ; 00000020H
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 426 : js->connected = GLFW_FALSE;
|
||
|
||
00006 c7 41 04 00 00
|
||
00 00 mov DWORD PTR [rcx+4], 0
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 260 : {
|
||
|
||
0000d 48 8b d9 mov rbx, rcx
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 428 : if (_glfw.callbacks.joystick)
|
||
|
||
00010 4c 8b 05 70 1b
|
||
00 00 mov r8, QWORD PTR _glfw+7024
|
||
00017 4d 85 c0 test r8, r8
|
||
0001a 74 33 je SHORT $LN8@closeJoyst
|
||
|
||
; 429 : _glfw.callbacks.joystick((int)(js - _glfw.joysticks), event);
|
||
|
||
0001c 48 8b d1 mov rdx, rcx
|
||
0001f 48 8d 05 90 07
|
||
00 00 lea rax, OFFSET FLAT:_glfw+1936
|
||
00026 48 2b d0 sub rdx, rax
|
||
00029 48 b8 39 8e e3
|
||
38 8e e3 38 0e mov rax, 1024819115206086201 ; 0e38e38e38e38e39H
|
||
00033 48 f7 ea imul rdx
|
||
00036 48 8b ca mov rcx, rdx
|
||
00039 ba 02 00 04 00 mov edx, 262146 ; 00040002H
|
||
0003e 48 c1 f9 04 sar rcx, 4
|
||
00042 48 8b c1 mov rax, rcx
|
||
00045 48 c1 e8 3f shr rax, 63 ; 0000003fH
|
||
00049 48 03 c8 add rcx, rax
|
||
0004c 41 ff d0 call r8
|
||
$LN8@closeJoyst:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 263 : if (js->win32.device)
|
||
|
||
0004f 48 8b 8b 00 01
|
||
00 00 mov rcx, QWORD PTR [rbx+256]
|
||
00056 48 85 c9 test rcx, rcx
|
||
00059 74 13 je SHORT $LN2@closeJoyst
|
||
|
||
; 264 : {
|
||
; 265 : IDirectInputDevice8_Unacquire(js->win32.device);
|
||
|
||
0005b 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
0005e ff 50 40 call QWORD PTR [rax+64]
|
||
|
||
; 266 : IDirectInputDevice8_Release(js->win32.device);
|
||
|
||
00061 48 8b 8b 00 01
|
||
00 00 mov rcx, QWORD PTR [rbx+256]
|
||
00068 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
0006b ff 50 10 call QWORD PTR [rax+16]
|
||
$LN2@closeJoyst:
|
||
|
||
; 267 : }
|
||
; 268 :
|
||
; 269 : _glfw_free(js->win32.objects);
|
||
|
||
0006e 48 8b 8b f0 00
|
||
00 00 mov rcx, QWORD PTR [rbx+240]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
|
||
; 320 : if (block)
|
||
|
||
00075 48 85 c9 test rcx, rcx
|
||
00078 74 0d je SHORT $LN11@closeJoyst
|
||
|
||
; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user);
|
||
|
||
0007a 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
00081 ff 15 18 00 00
|
||
00 call QWORD PTR _glfw+24
|
||
$LN11@closeJoyst:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 540 : _glfw_free(js->axes);
|
||
|
||
00087 48 8b 4b 08 mov rcx, QWORD PTR [rbx+8]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
|
||
; 320 : if (block)
|
||
|
||
0008b 48 85 c9 test rcx, rcx
|
||
0008e 74 0d je SHORT $LN16@closeJoyst
|
||
|
||
; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user);
|
||
|
||
00090 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
00097 ff 15 18 00 00
|
||
00 call QWORD PTR _glfw+24
|
||
$LN16@closeJoyst:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 541 : _glfw_free(js->buttons);
|
||
|
||
0009d 48 8b 4b 18 mov rcx, QWORD PTR [rbx+24]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
|
||
; 320 : if (block)
|
||
|
||
000a1 48 85 c9 test rcx, rcx
|
||
000a4 74 0d je SHORT $LN19@closeJoyst
|
||
|
||
; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user);
|
||
|
||
000a6 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
000ad ff 15 18 00 00
|
||
00 call QWORD PTR _glfw+24
|
||
$LN19@closeJoyst:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 542 : _glfw_free(js->hats);
|
||
|
||
000b3 48 8b 4b 28 mov rcx, QWORD PTR [rbx+40]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
|
||
; 320 : if (block)
|
||
|
||
000b7 48 85 c9 test rcx, rcx
|
||
000ba 74 0d je SHORT $LN22@closeJoyst
|
||
|
||
; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user);
|
||
|
||
000bc 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
000c3 ff 15 18 00 00
|
||
00 call QWORD PTR _glfw+24
|
||
$LN22@closeJoyst:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 543 : memset(js, 0, sizeof(_GLFWjoystick));
|
||
|
||
000c9 33 d2 xor edx, edx
|
||
000cb 41 b8 20 01 00
|
||
00 mov r8d, 288 ; 00000120H
|
||
000d1 48 8b cb mov rcx, rbx
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 271 : }
|
||
|
||
000d4 48 83 c4 20 add rsp, 32 ; 00000020H
|
||
000d8 5b pop rbx
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 543 : memset(js, 0, sizeof(_GLFWjoystick));
|
||
|
||
000d9 e9 00 00 00 00 jmp memset
|
||
closeJoystick ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT deviceObjectCallback
|
||
_TEXT SEGMENT
|
||
dipr$1 = 32
|
||
__$ArrayPad$ = 56
|
||
doi$ = 80
|
||
user$ = 88
|
||
deviceObjectCallback PROC ; COMDAT
|
||
|
||
; 278 : {
|
||
|
||
00000 48 89 5c 24 18 mov QWORD PTR [rsp+24], rbx
|
||
00005 48 89 74 24 20 mov QWORD PTR [rsp+32], rsi
|
||
0000a 57 push rdi
|
||
0000b 48 83 ec 40 sub rsp, 64 ; 00000040H
|
||
0000f 48 8b 05 00 00
|
||
00 00 mov rax, QWORD PTR __security_cookie
|
||
00016 48 33 c4 xor rax, rsp
|
||
00019 48 89 44 24 38 mov QWORD PTR __$ArrayPad$[rsp], rax
|
||
|
||
; 279 : _GLFWobjenumWin32* data = user;
|
||
; 280 : _GLFWjoyobjectWin32* object = data->objects + data->objectCount;
|
||
|
||
0001e 48 8b 42 08 mov rax, QWORD PTR [rdx+8]
|
||
00022 48 8b da mov rbx, rdx
|
||
00025 4c 63 42 10 movsxd r8, DWORD PTR [rdx+16]
|
||
00029 48 8b f9 mov rdi, rcx
|
||
0002c 4a 8d 34 c0 lea rsi, QWORD PTR [rax+r8*8]
|
||
|
||
; 281 :
|
||
; 282 : if (DIDFT_GETTYPE(doi->dwType) & DIDFT_AXIS)
|
||
|
||
00030 0f b6 41 18 movzx eax, BYTE PTR [rcx+24]
|
||
00034 a8 03 test al, 3
|
||
00036 0f 84 72 01 00
|
||
00 je $LN2@deviceObje
|
||
|
||
; 283 : {
|
||
; 284 : DIPROPRANGE dipr;
|
||
; 285 :
|
||
; 286 : if (memcmp(&doi->guidType, &GUID_Slider, sizeof(GUID)) == 0)
|
||
|
||
0003c 48 8b 41 04 mov rax, QWORD PTR [rcx+4]
|
||
00040 48 3b 05 00 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_Slider
|
||
00047 75 1c jne SHORT $LN4@deviceObje
|
||
00049 48 8b 41 0c mov rax, QWORD PTR [rcx+12]
|
||
0004d 48 3b 05 08 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_Slider+8
|
||
00054 75 0f jne SHORT $LN4@deviceObje
|
||
|
||
; 287 : object->offset = DIJOFS_SLIDER(data->sliderCount);
|
||
|
||
00056 8b 42 18 mov eax, DWORD PTR [rdx+24]
|
||
00059 8d 04 85 18 00
|
||
00 00 lea eax, DWORD PTR [rax*4+24]
|
||
00060 e9 cf 00 00 00 jmp $LN17@deviceObje
|
||
$LN4@deviceObje:
|
||
|
||
; 288 : else if (memcmp(&doi->guidType, &GUID_XAxis, sizeof(GUID)) == 0)
|
||
|
||
00065 48 8b 41 04 mov rax, QWORD PTR [rcx+4]
|
||
00069 48 3b 05 00 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_XAxis
|
||
00070 75 14 jne SHORT $LN6@deviceObje
|
||
00072 48 8b 41 0c mov rax, QWORD PTR [rcx+12]
|
||
00076 48 3b 05 08 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_XAxis+8
|
||
0007d 75 07 jne SHORT $LN6@deviceObje
|
||
|
||
; 289 : object->offset = DIJOFS_X;
|
||
|
||
0007f 33 c0 xor eax, eax
|
||
00081 e9 ae 00 00 00 jmp $LN17@deviceObje
|
||
$LN6@deviceObje:
|
||
|
||
; 290 : else if (memcmp(&doi->guidType, &GUID_YAxis, sizeof(GUID)) == 0)
|
||
|
||
00086 48 8b 41 04 mov rax, QWORD PTR [rcx+4]
|
||
0008a 48 3b 05 00 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_YAxis
|
||
00091 75 17 jne SHORT $LN8@deviceObje
|
||
00093 48 8b 41 0c mov rax, QWORD PTR [rcx+12]
|
||
00097 48 3b 05 08 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_YAxis+8
|
||
0009e 75 0a jne SHORT $LN8@deviceObje
|
||
|
||
; 291 : object->offset = DIJOFS_Y;
|
||
|
||
000a0 b8 04 00 00 00 mov eax, 4
|
||
000a5 e9 8a 00 00 00 jmp $LN17@deviceObje
|
||
$LN8@deviceObje:
|
||
|
||
; 292 : else if (memcmp(&doi->guidType, &GUID_ZAxis, sizeof(GUID)) == 0)
|
||
|
||
000aa 48 8b 41 04 mov rax, QWORD PTR [rcx+4]
|
||
000ae 48 3b 05 00 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_ZAxis
|
||
000b5 75 14 jne SHORT $LN10@deviceObje
|
||
000b7 48 8b 41 0c mov rax, QWORD PTR [rcx+12]
|
||
000bb 48 3b 05 08 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_ZAxis+8
|
||
000c2 75 07 jne SHORT $LN10@deviceObje
|
||
|
||
; 293 : object->offset = DIJOFS_Z;
|
||
|
||
000c4 b8 08 00 00 00 mov eax, 8
|
||
000c9 eb 69 jmp SHORT $LN17@deviceObje
|
||
$LN10@deviceObje:
|
||
|
||
; 294 : else if (memcmp(&doi->guidType, &GUID_RxAxis, sizeof(GUID)) == 0)
|
||
|
||
000cb 48 8b 41 04 mov rax, QWORD PTR [rcx+4]
|
||
000cf 48 3b 05 00 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_RxAxis
|
||
000d6 75 14 jne SHORT $LN12@deviceObje
|
||
000d8 48 8b 41 0c mov rax, QWORD PTR [rcx+12]
|
||
000dc 48 3b 05 08 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_RxAxis+8
|
||
000e3 75 07 jne SHORT $LN12@deviceObje
|
||
|
||
; 295 : object->offset = DIJOFS_RX;
|
||
|
||
000e5 b8 0c 00 00 00 mov eax, 12
|
||
000ea eb 48 jmp SHORT $LN17@deviceObje
|
||
$LN12@deviceObje:
|
||
|
||
; 296 : else if (memcmp(&doi->guidType, &GUID_RyAxis, sizeof(GUID)) == 0)
|
||
|
||
000ec 48 8b 41 04 mov rax, QWORD PTR [rcx+4]
|
||
000f0 48 3b 05 00 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_RyAxis
|
||
000f7 75 14 jne SHORT $LN14@deviceObje
|
||
000f9 48 8b 41 0c mov rax, QWORD PTR [rcx+12]
|
||
000fd 48 3b 05 08 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_RyAxis+8
|
||
00104 75 07 jne SHORT $LN14@deviceObje
|
||
|
||
; 297 : object->offset = DIJOFS_RY;
|
||
|
||
00106 b8 10 00 00 00 mov eax, 16
|
||
0010b eb 27 jmp SHORT $LN17@deviceObje
|
||
$LN14@deviceObje:
|
||
|
||
; 298 : else if (memcmp(&doi->guidType, &GUID_RzAxis, sizeof(GUID)) == 0)
|
||
|
||
0010d 48 8b 41 04 mov rax, QWORD PTR [rcx+4]
|
||
00111 48 3b 05 00 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_RzAxis
|
||
00118 0f 85 c5 00 00
|
||
00 jne $LN16@deviceObje
|
||
0011e 48 8b 41 0c mov rax, QWORD PTR [rcx+12]
|
||
00122 48 3b 05 08 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_RzAxis+8
|
||
00129 0f 85 b4 00 00
|
||
00 jne $LN16@deviceObje
|
||
|
||
; 299 : object->offset = DIJOFS_RZ;
|
||
|
||
0012f b8 14 00 00 00 mov eax, 20
|
||
$LN17@deviceObje:
|
||
|
||
; 300 : else
|
||
; 301 : return DIENUM_CONTINUE;
|
||
; 302 :
|
||
; 303 : ZeroMemory(&dipr, sizeof(dipr));
|
||
|
||
00134 89 06 mov DWORD PTR [rsi], eax
|
||
|
||
; 304 : dipr.diph.dwSize = sizeof(dipr);
|
||
; 305 : dipr.diph.dwHeaderSize = sizeof(dipr.diph);
|
||
; 306 : dipr.diph.dwObj = doi->dwType;
|
||
; 307 : dipr.diph.dwHow = DIPH_BYID;
|
||
; 308 : dipr.lMin = -32768;
|
||
; 309 : dipr.lMax = 32767;
|
||
; 310 :
|
||
; 311 : if (FAILED(IDirectInputDevice8_SetProperty(data->device,
|
||
|
||
00136 4c 8d 44 24 20 lea r8, QWORD PTR dipr$1[rsp]
|
||
0013b 8b 41 18 mov eax, DWORD PTR [rcx+24]
|
||
0013e 48 8b 0a mov rcx, QWORD PTR [rdx]
|
||
00141 ba 04 00 00 00 mov edx, 4
|
||
00146 c7 44 24 20 18
|
||
00 00 00 mov DWORD PTR dipr$1[rsp], 24
|
||
0014e c7 44 24 24 10
|
||
00 00 00 mov DWORD PTR dipr$1[rsp+4], 16
|
||
00156 89 44 24 28 mov DWORD PTR dipr$1[rsp+8], eax
|
||
0015a c7 44 24 2c 02
|
||
00 00 00 mov DWORD PTR dipr$1[rsp+12], 2
|
||
00162 c7 44 24 30 00
|
||
80 ff ff mov DWORD PTR dipr$1[rsp+16], -32768 ; ffffffffffff8000H
|
||
0016a c7 44 24 34 ff
|
||
7f 00 00 mov DWORD PTR dipr$1[rsp+20], 32767 ; 00007fffH
|
||
00172 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
00175 ff 50 30 call QWORD PTR [rax+48]
|
||
00178 85 c0 test eax, eax
|
||
0017a 78 67 js SHORT $LN16@deviceObje
|
||
|
||
; 312 : DIPROP_RANGE,
|
||
; 313 : &dipr.diph)))
|
||
; 314 : {
|
||
; 315 : return DIENUM_CONTINUE;
|
||
; 316 : }
|
||
; 317 :
|
||
; 318 : if (memcmp(&doi->guidType, &GUID_Slider, sizeof(GUID)) == 0)
|
||
|
||
0017c 48 8b 47 04 mov rax, QWORD PTR [rdi+4]
|
||
00180 48 3b 05 00 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_Slider
|
||
00187 75 19 jne SHORT $LN19@deviceObje
|
||
00189 48 8b 47 0c mov rax, QWORD PTR [rdi+12]
|
||
0018d 48 3b 05 08 00
|
||
00 00 cmp rax, QWORD PTR _glfw_GUID_Slider+8
|
||
00194 75 0c jne SHORT $LN19@deviceObje
|
||
|
||
; 319 : {
|
||
; 320 : object->type = _GLFW_TYPE_SLIDER;
|
||
|
||
00196 c7 46 04 01 00
|
||
00 00 mov DWORD PTR [rsi+4], 1
|
||
|
||
; 321 : data->sliderCount++;
|
||
|
||
0019d ff 43 18 inc DWORD PTR [rbx+24]
|
||
|
||
; 322 : }
|
||
|
||
001a0 eb 3e jmp SHORT $LN23@deviceObje
|
||
$LN19@deviceObje:
|
||
|
||
; 323 : else
|
||
; 324 : {
|
||
; 325 : object->type = _GLFW_TYPE_AXIS;
|
||
|
||
001a2 c7 46 04 00 00
|
||
00 00 mov DWORD PTR [rsi+4], 0
|
||
|
||
; 326 : data->axisCount++;
|
||
|
||
001a9 ff 43 14 inc DWORD PTR [rbx+20]
|
||
|
||
; 327 : }
|
||
; 328 : }
|
||
|
||
001ac eb 32 jmp SHORT $LN23@deviceObje
|
||
$LN2@deviceObje:
|
||
|
||
; 329 : else if (DIDFT_GETTYPE(doi->dwType) & DIDFT_BUTTON)
|
||
|
||
001ae a8 0c test al, 12
|
||
001b0 74 14 je SHORT $LN21@deviceObje
|
||
|
||
; 330 : {
|
||
; 331 : object->offset = DIJOFS_BUTTON(data->buttonCount);
|
||
|
||
001b2 8b 42 1c mov eax, DWORD PTR [rdx+28]
|
||
001b5 83 c0 30 add eax, 48 ; 00000030H
|
||
|
||
; 332 : object->type = _GLFW_TYPE_BUTTON;
|
||
|
||
001b8 c7 46 04 02 00
|
||
00 00 mov DWORD PTR [rsi+4], 2
|
||
001bf 89 06 mov DWORD PTR [rsi], eax
|
||
|
||
; 333 : data->buttonCount++;
|
||
|
||
001c1 ff 42 1c inc DWORD PTR [rdx+28]
|
||
|
||
; 334 : }
|
||
|
||
001c4 eb 1a jmp SHORT $LN23@deviceObje
|
||
$LN21@deviceObje:
|
||
|
||
; 335 : else if (DIDFT_GETTYPE(doi->dwType) & DIDFT_POV)
|
||
|
||
001c6 a8 10 test al, 16
|
||
001c8 74 16 je SHORT $LN23@deviceObje
|
||
|
||
; 336 : {
|
||
; 337 : object->offset = DIJOFS_POV(data->povCount);
|
||
|
||
001ca 8b 42 20 mov eax, DWORD PTR [rdx+32]
|
||
|
||
; 338 : object->type = _GLFW_TYPE_POV;
|
||
|
||
001cd c7 46 04 03 00
|
||
00 00 mov DWORD PTR [rsi+4], 3
|
||
001d4 8d 04 85 20 00
|
||
00 00 lea eax, DWORD PTR [rax*4+32]
|
||
001db 89 06 mov DWORD PTR [rsi], eax
|
||
|
||
; 339 : data->povCount++;
|
||
|
||
001dd ff 42 20 inc DWORD PTR [rdx+32]
|
||
$LN23@deviceObje:
|
||
|
||
; 340 : }
|
||
; 341 :
|
||
; 342 : data->objectCount++;
|
||
|
||
001e0 ff 43 10 inc DWORD PTR [rbx+16]
|
||
$LN16@deviceObje:
|
||
|
||
; 343 : return DIENUM_CONTINUE;
|
||
; 344 : }
|
||
|
||
001e3 b8 01 00 00 00 mov eax, 1
|
||
001e8 48 8b 4c 24 38 mov rcx, QWORD PTR __$ArrayPad$[rsp]
|
||
001ed 48 33 cc xor rcx, rsp
|
||
001f0 e8 00 00 00 00 call __security_check_cookie
|
||
001f5 48 8b 5c 24 60 mov rbx, QWORD PTR [rsp+96]
|
||
001fa 48 8b 74 24 68 mov rsi, QWORD PTR [rsp+104]
|
||
001ff 48 83 c4 40 add rsp, 64 ; 00000040H
|
||
00203 5f pop rdi
|
||
00204 c3 ret 0
|
||
deviceObjectCallback ENDP
|
||
_TEXT ENDS
|
||
; Function compile flags: /Ogtpy
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
; COMDAT deviceCallback
|
||
_TEXT SEGMENT
|
||
device$ = 112
|
||
data$ = 120
|
||
dc$ = 160
|
||
dipd$ = 208
|
||
guid$ = 232
|
||
name$ = 272
|
||
__$ArrayPad$ = 528
|
||
di$ = 576
|
||
user$ = 584
|
||
deviceCallback PROC ; COMDAT
|
||
|
||
; 349 : {
|
||
|
||
00000 4c 8b dc mov r11, rsp
|
||
00003 49 89 5b 20 mov QWORD PTR [r11+32], rbx
|
||
00007 55 push rbp
|
||
00008 41 56 push r14
|
||
0000a 41 57 push r15
|
||
0000c 49 8d ab c8 fe
|
||
ff ff lea rbp, QWORD PTR [r11-312]
|
||
00013 48 81 ec 20 02
|
||
00 00 sub rsp, 544 ; 00000220H
|
||
0001a 48 8b 05 00 00
|
||
00 00 mov rax, QWORD PTR __security_cookie
|
||
00021 48 33 c4 xor rax, rsp
|
||
00024 48 89 85 10 01
|
||
00 00 mov QWORD PTR __$ArrayPad$[rbp-256], rax
|
||
0002b 45 33 f6 xor r14d, r14d
|
||
0002e 49 89 73 10 mov QWORD PTR [r11+16], rsi
|
||
00032 45 8b c6 mov r8d, r14d
|
||
00035 49 89 7b 18 mov QWORD PTR [r11+24], rdi
|
||
00039 48 8b d9 mov rbx, rcx
|
||
0003c 48 8d 15 9c 08
|
||
00 00 lea rdx, OFFSET FLAT:_glfw+2204
|
||
$LL4@deviceCall:
|
||
|
||
; 360 : {
|
||
; 361 : js = _glfw.joysticks + jid;
|
||
; 362 : if (js->connected)
|
||
|
||
00043 4c 8d 79 04 lea r15, QWORD PTR [rcx+4]
|
||
00047 44 39 b2 f8 fe
|
||
ff ff cmp DWORD PTR [rdx-264], r14d
|
||
0004e 74 16 je SHORT $LN2@deviceCall
|
||
|
||
; 363 : {
|
||
; 364 : if (memcmp(&js->win32.guid, &di->guidInstance, sizeof(GUID)) == 0)
|
||
|
||
00050 48 8b 02 mov rax, QWORD PTR [rdx]
|
||
00053 49 3b 07 cmp rax, QWORD PTR [r15]
|
||
00056 75 0e jne SHORT $LN2@deviceCall
|
||
00058 48 8b 42 08 mov rax, QWORD PTR [rdx+8]
|
||
0005c 49 3b 47 08 cmp rax, QWORD PTR [r15+8]
|
||
00060 0f 84 c9 03 00
|
||
00 je $LN38@deviceCall
|
||
$LN2@deviceCall:
|
||
|
||
; 350 : int jid = 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++)
|
||
|
||
00066 49 81 c0 20 01
|
||
00 00 add r8, 288 ; 00000120H
|
||
0006d 48 81 c2 20 01
|
||
00 00 add rdx, 288 ; 00000120H
|
||
00074 49 81 f8 e0 10
|
||
00 00 cmp r8, 4320 ; 000010e0H
|
||
0007b 7e c6 jle SHORT $LL4@deviceCall
|
||
|
||
; 365 : return DIENUM_CONTINUE;
|
||
; 366 : }
|
||
; 367 : }
|
||
; 368 :
|
||
; 369 : if (supportsXInput(&di->guidProduct))
|
||
|
||
0007d 48 83 c1 14 add rcx, 20
|
||
00081 e8 00 00 00 00 call supportsXInput
|
||
00086 85 c0 test eax, eax
|
||
00088 0f 85 a1 03 00
|
||
00 jne $LN38@deviceCall
|
||
|
||
; 370 : return DIENUM_CONTINUE;
|
||
; 371 :
|
||
; 372 : if (FAILED(IDirectInput8_CreateDevice(_glfw.win32.dinput8.api,
|
||
|
||
0008e 48 8b 0d 78 29
|
||
00 00 mov rcx, QWORD PTR _glfw+10616
|
||
00095 4c 8d 44 24 70 lea r8, QWORD PTR device$[rsp]
|
||
0009a 45 33 c9 xor r9d, r9d
|
||
0009d 49 8b d7 mov rdx, r15
|
||
000a0 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
000a3 ff 50 18 call QWORD PTR [rax+24]
|
||
000a6 85 c0 test eax, eax
|
||
000a8 79 16 jns SHORT $LN8@deviceCall
|
||
|
||
; 373 : &di->guidInstance,
|
||
; 374 : &device,
|
||
; 375 : NULL)))
|
||
; 376 : {
|
||
; 377 : _glfwInputError(GLFW_PLATFORM_ERROR, "Win32: Failed to create device");
|
||
|
||
000aa 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0BP@OHJGLFIP@Win32?3?5Failed?5to?5create?5device@
|
||
000b1 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
000b6 e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 378 : return DIENUM_CONTINUE;
|
||
|
||
000bb e9 6f 03 00 00 jmp $LN38@deviceCall
|
||
$LN8@deviceCall:
|
||
|
||
; 379 : }
|
||
; 380 :
|
||
; 381 : if (FAILED(IDirectInputDevice8_SetDataFormat(device, &_glfwDataFormat)))
|
||
|
||
000c0 48 8b 4c 24 70 mov rcx, QWORD PTR device$[rsp]
|
||
000c5 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:_glfwDataFormat
|
||
000cc 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
000cf ff 50 58 call QWORD PTR [rax+88]
|
||
000d2 85 c0 test eax, eax
|
||
000d4 79 21 jns SHORT $LN9@deviceCall
|
||
|
||
; 382 : {
|
||
; 383 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
000d6 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CI@MMBFOOEA@Win32?3?5Failed?5to?5set?5device?5dat@
|
||
000dd b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
000e2 e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 384 : "Win32: Failed to set device data format");
|
||
; 385 :
|
||
; 386 : IDirectInputDevice8_Release(device);
|
||
|
||
000e7 48 8b 4c 24 70 mov rcx, QWORD PTR device$[rsp]
|
||
000ec 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
000ef ff 50 10 call QWORD PTR [rax+16]
|
||
|
||
; 387 : return DIENUM_CONTINUE;
|
||
|
||
000f2 e9 38 03 00 00 jmp $LN38@deviceCall
|
||
$LN9@deviceCall:
|
||
|
||
; 388 : }
|
||
; 389 :
|
||
; 390 : ZeroMemory(&dc, sizeof(dc));
|
||
; 391 : dc.dwSize = sizeof(dc);
|
||
; 392 :
|
||
; 393 : if (FAILED(IDirectInputDevice8_GetCapabilities(device, &dc)))
|
||
|
||
000f7 48 8b 4c 24 70 mov rcx, QWORD PTR device$[rsp]
|
||
000fc 48 8d 55 a0 lea rdx, QWORD PTR dc$[rbp-256]
|
||
00100 0f 57 c0 xorps xmm0, xmm0
|
||
00103 4c 89 75 c4 mov QWORD PTR dc$[rbp-220], r14
|
||
00107 0f 57 c9 xorps xmm1, xmm1
|
||
0010a c7 45 a0 2c 00
|
||
00 00 mov DWORD PTR dc$[rbp-256], 44 ; 0000002cH
|
||
00111 f3 0f 7f 45 a4 movdqu XMMWORD PTR dc$[rbp-252], xmm0
|
||
00116 f3 0f 7f 4d b4 movdqu XMMWORD PTR dc$[rbp-236], xmm1
|
||
0011b 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
0011e ff 50 18 call QWORD PTR [rax+24]
|
||
00121 85 c0 test eax, eax
|
||
00123 79 21 jns SHORT $LN10@deviceCall
|
||
|
||
; 394 : {
|
||
; 395 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
00125 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CL@JHIPHFAC@Win32?3?5Failed?5to?5query?5device?5c@
|
||
0012c b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
00131 e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 396 : "Win32: Failed to query device capabilities");
|
||
; 397 :
|
||
; 398 : IDirectInputDevice8_Release(device);
|
||
|
||
00136 48 8b 4c 24 70 mov rcx, QWORD PTR device$[rsp]
|
||
0013b 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
0013e ff 50 10 call QWORD PTR [rax+16]
|
||
|
||
; 399 : return DIENUM_CONTINUE;
|
||
|
||
00141 e9 e9 02 00 00 jmp $LN38@deviceCall
|
||
$LN10@deviceCall:
|
||
|
||
; 400 : }
|
||
; 401 :
|
||
; 402 : ZeroMemory(&dipd, sizeof(dipd));
|
||
; 403 : dipd.diph.dwSize = sizeof(dipd);
|
||
; 404 : dipd.diph.dwHeaderSize = sizeof(dipd.diph);
|
||
; 405 : dipd.diph.dwHow = DIPH_DEVICE;
|
||
; 406 : dipd.dwData = DIPROPAXISMODE_ABS;
|
||
; 407 :
|
||
; 408 : if (FAILED(IDirectInputDevice8_SetProperty(device,
|
||
|
||
00146 48 8b 4c 24 70 mov rcx, QWORD PTR device$[rsp]
|
||
0014b 4c 8d 45 d0 lea r8, QWORD PTR dipd$[rbp-256]
|
||
0014f 48 c7 45 d4 10
|
||
00 00 00 mov QWORD PTR dipd$[rbp-252], 16
|
||
00157 ba 02 00 00 00 mov edx, 2
|
||
0015c c7 45 d0 14 00
|
||
00 00 mov DWORD PTR dipd$[rbp-256], 20
|
||
00163 4c 89 75 dc mov QWORD PTR dipd$[rbp-244], r14
|
||
00167 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
0016a ff 50 30 call QWORD PTR [rax+48]
|
||
0016d 85 c0 test eax, eax
|
||
0016f 79 21 jns SHORT $LN11@deviceCall
|
||
|
||
; 409 : DIPROP_AXISMODE,
|
||
; 410 : &dipd.diph)))
|
||
; 411 : {
|
||
; 412 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
00171 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CG@JJEBGGIE@Win32?3?5Failed?5to?5set?5device?5axi@
|
||
00178 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
0017d e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 413 : "Win32: Failed to set device axis mode");
|
||
; 414 :
|
||
; 415 : IDirectInputDevice8_Release(device);
|
||
|
||
00182 48 8b 4c 24 70 mov rcx, QWORD PTR device$[rsp]
|
||
00187 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
0018a ff 50 10 call QWORD PTR [rax+16]
|
||
|
||
; 416 : return DIENUM_CONTINUE;
|
||
|
||
0018d e9 9d 02 00 00 jmp $LN38@deviceCall
|
||
$LN11@deviceCall:
|
||
|
||
; 421 : data.objects = _glfw_calloc(dc.dwAxes + (size_t) dc.dwButtons + dc.dwPOVs,
|
||
|
||
00192 8b 45 b0 mov eax, DWORD PTR dc$[rbp-240]
|
||
00195 0f 57 c0 xorps xmm0, xmm0
|
||
00198 8b 4d b4 mov ecx, DWORD PTR dc$[rbp-236]
|
||
0019b 4c 8b 54 24 70 mov r10, QWORD PTR device$[rsp]
|
||
001a0 48 03 c8 add rcx, rax
|
||
001a3 8b 45 ac mov eax, DWORD PTR dc$[rbp-244]
|
||
001a6 4c 89 75 98 mov QWORD PTR data$[rbp-224], r14
|
||
001aa 4c 89 54 24 78 mov QWORD PTR data$[rsp], r10
|
||
001af f3 0f 7f 45 88 movdqu XMMWORD PTR data$[rbp-240], xmm0
|
||
001b4 48 03 c8 add rcx, rax
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
|
||
; 273 : if (count && size)
|
||
|
||
001b7 74 42 je SHORT $LN19@deviceCall
|
||
|
||
; 274 : {
|
||
; 275 : void* block;
|
||
; 276 :
|
||
; 277 : if (count > SIZE_MAX / size)
|
||
; 278 : {
|
||
; 279 : _glfwInputError(GLFW_INVALID_VALUE, "Allocation size overflow");
|
||
; 280 : return NULL;
|
||
; 281 : }
|
||
; 282 :
|
||
; 283 : block = _glfw.allocator.allocate(count * size, _glfw.allocator.user);
|
||
|
||
001b9 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
001c0 48 8d 3c cd 00
|
||
00 00 00 lea rdi, QWORD PTR [rcx*8]
|
||
001c8 48 8b cf mov rcx, rdi
|
||
001cb ff 15 08 00 00
|
||
00 call QWORD PTR _glfw+8
|
||
|
||
; 284 : if (block)
|
||
|
||
001d1 48 85 c0 test rax, rax
|
||
001d4 74 14 je SHORT $LN22@deviceCall
|
||
|
||
; 285 : return memset(block, 0, count * size);
|
||
|
||
001d6 4c 8b c7 mov r8, rdi
|
||
001d9 33 d2 xor edx, edx
|
||
001db 48 8b c8 mov rcx, rax
|
||
001de e8 00 00 00 00 call memset
|
||
001e3 4c 8b 54 24 70 mov r10, QWORD PTR device$[rsp]
|
||
001e8 eb 14 jmp SHORT $LN20@deviceCall
|
||
$LN22@deviceCall:
|
||
|
||
; 286 : else
|
||
; 287 : {
|
||
; 288 : _glfwInputError(GLFW_OUT_OF_MEMORY, NULL);
|
||
|
||
001ea 33 d2 xor edx, edx
|
||
001ec b9 05 00 01 00 mov ecx, 65541 ; 00010005H
|
||
001f1 e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 289 : return NULL;
|
||
|
||
001f6 4c 8b 54 24 70 mov r10, QWORD PTR device$[rsp]
|
||
$LN19@deviceCall:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 421 : data.objects = _glfw_calloc(dc.dwAxes + (size_t) dc.dwButtons + dc.dwPOVs,
|
||
|
||
001fb 49 8b c6 mov rax, r14
|
||
$LN20@deviceCall:
|
||
001fe 48 89 45 80 mov QWORD PTR data$[rbp-248], rax
|
||
|
||
; 422 : sizeof(_GLFWjoyobjectWin32));
|
||
; 423 :
|
||
; 424 : if (FAILED(IDirectInputDevice8_EnumObjects(device,
|
||
|
||
00202 4c 8d 44 24 78 lea r8, QWORD PTR data$[rsp]
|
||
00207 49 8b 02 mov rax, QWORD PTR [r10]
|
||
0020a 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:deviceObjectCallback
|
||
00211 41 b9 1f 00 00
|
||
00 mov r9d, 31
|
||
00217 49 8b ca mov rcx, r10
|
||
0021a ff 50 20 call QWORD PTR [rax+32]
|
||
0021d 85 c0 test eax, eax
|
||
0021f 79 3b jns SHORT $LN12@deviceCall
|
||
|
||
; 425 : deviceObjectCallback,
|
||
; 426 : &data,
|
||
; 427 : DIDFT_AXIS | DIDFT_BUTTON | DIDFT_POV)))
|
||
; 428 : {
|
||
; 429 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
00221 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CK@FKJPIIOF@Win32?3?5Failed?5to?5enumerate?5devi@
|
||
00228 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
0022d e8 00 00 00 00 call _glfwInputError
|
||
|
||
; 430 : "Win32: Failed to enumerate device objects");
|
||
; 431 :
|
||
; 432 : IDirectInputDevice8_Release(device);
|
||
|
||
00232 48 8b 4c 24 70 mov rcx, QWORD PTR device$[rsp]
|
||
00237 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
0023a ff 50 10 call QWORD PTR [rax+16]
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\init.c
|
||
|
||
; 320 : if (block)
|
||
|
||
0023d 48 8b 4d 80 mov rcx, QWORD PTR data$[rbp-248]
|
||
00241 48 85 c9 test rcx, rcx
|
||
00244 0f 84 e5 01 00
|
||
00 je $LN38@deviceCall
|
||
|
||
; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user);
|
||
|
||
0024a 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
00251 ff 15 18 00 00
|
||
00 call QWORD PTR _glfw+24
|
||
00257 e9 d3 01 00 00 jmp $LN38@deviceCall
|
||
$LN12@deviceCall:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 437 : qsort(data.objects, data.objectCount,
|
||
|
||
0025c 48 63 55 88 movsxd rdx, DWORD PTR data$[rbp-240]
|
||
00260 4c 8d 0d 00 00
|
||
00 00 lea r9, OFFSET FLAT:compareJoystickObjects
|
||
00267 48 8b 4d 80 mov rcx, QWORD PTR data$[rbp-248]
|
||
0026b 41 b8 08 00 00
|
||
00 mov r8d, 8
|
||
00271 ff 15 00 00 00
|
||
00 call QWORD PTR __imp_qsort
|
||
|
||
; 438 : sizeof(_GLFWjoyobjectWin32),
|
||
; 439 : compareJoystickObjects);
|
||
; 440 :
|
||
; 441 : if (!WideCharToMultiByte(CP_UTF8, 0,
|
||
|
||
00277 4c 89 74 24 38 mov QWORD PTR [rsp+56], r14
|
||
0027c 48 8d 45 10 lea rax, QWORD PTR name$[rbp-256]
|
||
00280 33 d2 xor edx, edx
|
||
00282 4c 89 74 24 30 mov QWORD PTR [rsp+48], r14
|
||
00287 4c 8d 43 28 lea r8, QWORD PTR [rbx+40]
|
||
0028b c7 44 24 28 00
|
||
01 00 00 mov DWORD PTR [rsp+40], 256 ; 00000100H
|
||
00293 b9 e9 fd 00 00 mov ecx, 65001 ; 0000fde9H
|
||
00298 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
|
||
0029d 44 8d 4a ff lea r9d, QWORD PTR [rdx-1]
|
||
002a1 ff 15 00 00 00
|
||
00 call QWORD PTR __imp_WideCharToMultiByte
|
||
002a7 85 c0 test eax, eax
|
||
002a9 75 16 jne SHORT $LN13@deviceCall
|
||
|
||
; 442 : di->tszInstanceName, -1,
|
||
; 443 : name, sizeof(name),
|
||
; 444 : NULL, NULL))
|
||
; 445 : {
|
||
; 446 : _glfwInputError(GLFW_PLATFORM_ERROR,
|
||
|
||
002ab 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0DA@IIGLKABA@Win32?3?5Failed?5to?5convert?5joysti@
|
||
002b2 b9 08 00 01 00 mov ecx, 65544 ; 00010008H
|
||
002b7 e8 00 00 00 00 call _glfwInputError
|
||
002bc e9 db 00 00 00 jmp $LN69@deviceCall
|
||
$LN13@deviceCall:
|
||
|
||
; 447 : "Win32: Failed to convert joystick name to UTF-8");
|
||
; 448 :
|
||
; 449 : IDirectInputDevice8_Release(device);
|
||
; 450 : _glfw_free(data.objects);
|
||
; 451 : return DIENUM_STOP;
|
||
; 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)
|
||
|
||
002c1 81 7b 1e 50 49
|
||
44 56 cmp DWORD PTR [rbx+30], 1447315792 ; 56444950H
|
||
002c8 75 42 jne SHORT $LN14@deviceCall
|
||
002ca 66 81 7b 22 49
|
||
44 cmp WORD PTR [rbx+34], 17481 ; 00004449H
|
||
002d0 75 3a jne SHORT $LN14@deviceCall
|
||
|
||
; 456 : {
|
||
; 457 : sprintf(guid, "03000000%02x%02x0000%02x%02x000000000000",
|
||
|
||
002d2 8b 53 14 mov edx, DWORD PTR [rbx+20]
|
||
002d5 8b c2 mov eax, edx
|
||
002d7 c1 e8 10 shr eax, 16
|
||
002da 44 8b d2 mov r10d, edx
|
||
002dd 0f b6 c8 movzx ecx, al
|
||
002e0 8b c2 mov eax, edx
|
||
002e2 41 c1 ea 18 shr r10d, 24
|
||
002e6 c1 e8 08 shr eax, 8
|
||
002e9 44 89 54 24 28 mov DWORD PTR [rsp+40], r10d
|
||
002ee 44 0f b6 c2 movzx r8d, dl
|
||
002f2 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0CJ@NMCAPCBP@03000000?$CF02x?$CF02x0000?$CF02x?$CF02x000@
|
||
002f9 89 4c 24 20 mov DWORD PTR [rsp+32], ecx
|
||
002fd 48 8d 4d e8 lea rcx, QWORD PTR guid$[rbp-256]
|
||
00301 44 0f b6 c8 movzx r9d, al
|
||
00305 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 : }
|
||
|
||
0030a eb 68 jmp SHORT $LN15@deviceCall
|
||
$LN14@deviceCall:
|
||
|
||
; 463 : else
|
||
; 464 : {
|
||
; 465 : sprintf(guid, "05000000%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x00",
|
||
|
||
0030c 0f be 4d 19 movsx ecx, BYTE PTR name$[rbp-247]
|
||
00310 0f be 55 18 movsx edx, BYTE PTR name$[rbp-248]
|
||
00314 0f be 45 1a movsx eax, BYTE PTR name$[rbp-246]
|
||
00318 44 0f be 55 17 movsx r10d, BYTE PTR name$[rbp-249]
|
||
0031d 44 0f be 5d 16 movsx r11d, BYTE PTR name$[rbp-250]
|
||
00322 0f be 5d 15 movsx ebx, BYTE PTR name$[rbp-251]
|
||
00326 0f be 7d 14 movsx edi, BYTE PTR name$[rbp-252]
|
||
0032a 0f be 75 13 movsx esi, BYTE PTR name$[rbp-253]
|
||
0032e 44 0f be 75 12 movsx r14d, BYTE PTR name$[rbp-254]
|
||
00333 44 0f be 4d 11 movsx r9d, BYTE PTR name$[rbp-255]
|
||
00338 44 0f be 45 10 movsx r8d, BYTE PTR name$[rbp-256]
|
||
0033d 89 44 24 60 mov DWORD PTR [rsp+96], eax
|
||
00341 89 4c 24 58 mov DWORD PTR [rsp+88], ecx
|
||
00345 48 8d 4d e8 lea rcx, QWORD PTR guid$[rbp-256]
|
||
00349 89 54 24 50 mov DWORD PTR [rsp+80], edx
|
||
0034d 48 8d 15 00 00
|
||
00 00 lea rdx, OFFSET FLAT:??_C@_0DH@LCNJGHOP@05000000?$CF02x?$CF02x?$CF02x?$CF02x?$CF02x?$CF02@
|
||
00354 44 89 54 24 48 mov DWORD PTR [rsp+72], r10d
|
||
00359 44 89 5c 24 40 mov DWORD PTR [rsp+64], r11d
|
||
0035e 89 5c 24 38 mov DWORD PTR [rsp+56], ebx
|
||
00362 89 7c 24 30 mov DWORD PTR [rsp+48], edi
|
||
00366 89 74 24 28 mov DWORD PTR [rsp+40], esi
|
||
0036a 44 89 74 24 20 mov DWORD PTR [rsp+32], r14d
|
||
0036f 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,
|
||
|
||
00374 44 8b 45 90 mov r8d, DWORD PTR data$[rbp-232]
|
||
00378 48 8d 55 e8 lea rdx, QWORD PTR guid$[rbp-256]
|
||
0037c 8b 45 98 mov eax, DWORD PTR data$[rbp-224]
|
||
0037f 48 8d 4d 10 lea rcx, QWORD PTR name$[rbp-256]
|
||
00383 44 03 45 8c add r8d, DWORD PTR data$[rbp-236]
|
||
00387 44 8b 4d 94 mov r9d, DWORD PTR data$[rbp-228]
|
||
0038b 89 44 24 20 mov DWORD PTR [rsp+32], eax
|
||
0038f e8 00 00 00 00 call _glfwAllocJoystick
|
||
00394 48 8b c8 mov rcx, rax
|
||
|
||
; 472 : data.axisCount + data.sliderCount,
|
||
; 473 : data.buttonCount,
|
||
; 474 : data.povCount);
|
||
; 475 : if (!js)
|
||
|
||
00397 48 85 c0 test rax, rax
|
||
0039a 75 25 jne SHORT $LN16@deviceCall
|
||
$LN69@deviceCall:
|
||
|
||
; 476 : {
|
||
; 477 : IDirectInputDevice8_Release(device);
|
||
; 478 : _glfw_free(data.objects);
|
||
; 479 : return DIENUM_STOP;
|
||
|
||
0039c 48 8b 4c 24 70 mov rcx, QWORD PTR device$[rsp]
|
||
003a1 48 8b 01 mov rax, QWORD PTR [rcx]
|
||
003a4 ff 50 10 call QWORD PTR [rax+16]
|
||
003a7 48 8b 4d 80 mov rcx, QWORD PTR data$[rbp-248]
|
||
003ab 48 85 c9 test rcx, rcx
|
||
003ae 74 0d je SHORT $LN32@deviceCall
|
||
003b0 48 8b 15 20 00
|
||
00 00 mov rdx, QWORD PTR _glfw+32
|
||
003b7 ff 15 18 00 00
|
||
00 call QWORD PTR _glfw+24
|
||
$LN32@deviceCall:
|
||
003bd 33 c0 xor eax, eax
|
||
003bf eb 73 jmp SHORT $LN1@deviceCall
|
||
$LN16@deviceCall:
|
||
|
||
; 480 : }
|
||
; 481 :
|
||
; 482 : js->win32.device = device;
|
||
|
||
003c1 48 8b 44 24 70 mov rax, QWORD PTR device$[rsp]
|
||
003c6 48 89 81 00 01
|
||
00 00 mov QWORD PTR [rcx+256], rax
|
||
|
||
; 483 : js->win32.guid = di->guidInstance;
|
||
|
||
003cd 41 0f 10 07 movups xmm0, XMMWORD PTR [r15]
|
||
003d1 0f 11 81 0c 01
|
||
00 00 movups XMMWORD PTR [rcx+268], xmm0
|
||
|
||
; 484 : js->win32.objects = data.objects;
|
||
|
||
003d8 48 8b 45 80 mov rax, QWORD PTR data$[rbp-248]
|
||
003dc 48 89 81 f0 00
|
||
00 00 mov QWORD PTR [rcx+240], rax
|
||
|
||
; 485 : js->win32.objectCount = data.objectCount;
|
||
|
||
003e3 8b 45 88 mov eax, DWORD PTR data$[rbp-240]
|
||
003e6 89 81 f8 00 00
|
||
00 mov DWORD PTR [rcx+248], eax
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\input.c
|
||
|
||
; 424 : js->connected = GLFW_TRUE;
|
||
|
||
003ec c7 41 04 01 00
|
||
00 00 mov DWORD PTR [rcx+4], 1
|
||
|
||
; 425 : else if (event == GLFW_DISCONNECTED)
|
||
; 426 : js->connected = GLFW_FALSE;
|
||
; 427 :
|
||
; 428 : if (_glfw.callbacks.joystick)
|
||
|
||
003f3 4c 8b 05 70 1b
|
||
00 00 mov r8, QWORD PTR _glfw+7024
|
||
003fa 4d 85 c0 test r8, r8
|
||
003fd 74 30 je SHORT $LN38@deviceCall
|
||
|
||
; 429 : _glfw.callbacks.joystick((int)(js - _glfw.joysticks), event);
|
||
|
||
003ff 48 8d 05 90 07
|
||
00 00 lea rax, OFFSET FLAT:_glfw+1936
|
||
00406 48 2b c8 sub rcx, rax
|
||
00409 48 b8 39 8e e3
|
||
38 8e e3 38 0e mov rax, 1024819115206086201 ; 0e38e38e38e38e39H
|
||
00413 48 f7 e9 imul rcx
|
||
00416 48 8b ca mov rcx, rdx
|
||
00419 ba 01 00 04 00 mov edx, 262145 ; 00040001H
|
||
0041e 48 c1 f9 04 sar rcx, 4
|
||
00422 48 8b c1 mov rax, rcx
|
||
00425 48 c1 e8 3f shr rax, 63 ; 0000003fH
|
||
00429 48 03 c8 add rcx, rax
|
||
0042c 41 ff d0 call r8
|
||
$LN38@deviceCall:
|
||
; File D:\NitloadIndustry\�о���Ŀ\1-Flagship\TH2020\ProjectFile\Դ����\StgSharpGraphic\code\glfw\win32_joystick.c
|
||
|
||
; 489 : }
|
||
|
||
0042f b8 01 00 00 00 mov eax, 1
|
||
$LN1@deviceCall:
|
||
00434 48 8b bc 24 50
|
||
02 00 00 mov rdi, QWORD PTR [rsp+592]
|
||
0043c 48 8b b4 24 48
|
||
02 00 00 mov rsi, QWORD PTR [rsp+584]
|
||
00444 48 8b 8d 10 01
|
||
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp-256]
|
||
0044b 48 33 cc xor rcx, rsp
|
||
0044e e8 00 00 00 00 call __security_check_cookie
|
||
00453 48 8b 9c 24 58
|
||
02 00 00 mov rbx, QWORD PTR [rsp+600]
|
||
0045b 48 81 c4 20 02
|
||
00 00 add rsp, 544 ; 00000220H
|
||
00462 41 5f pop r15
|
||
00464 41 5e pop r14
|
||
00466 5d pop rbp
|
||
00467 c3 ret 0
|
||
deviceCallback ENDP
|
||
_TEXT ENDS
|
||
END
|