; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0 include listing.inc INCLUDELIB OLDNAMES PUBLIC _glfw PUBLIC ??_C@_07CAIJGPF@file?3?1?1@ ; `string' PUBLIC ??_C@_02PCIJFNDE@?$AN?6@ ; `string' PUBLIC ??_C@_0BJ@IHHANIOG@Allocation?5size?5overflow@ ; `string' PUBLIC ??_C@_0CE@BEELAIPG@The?5GLFW?5library?5is?5not?5initial@ ; `string' PUBLIC ??_C@_0BM@PKHPFLOM@There?5is?5no?5current?5context@ ; `string' PUBLIC ??_C@_0CE@KDBKFLEE@Invalid?5argument?5for?5enum?5param@ ; `string' PUBLIC ??_C@_0BM@BADCNPOM@Invalid?5value?5for?5parameter@ ; `string' PUBLIC ??_C@_0O@NALGGDJF@Out?5of?5memory@ ; `string' PUBLIC ??_C@_0CB@HAFFDHLH@The?5requested?5API?5is?5unavailabl@ ; `string' PUBLIC ??_C@_0CJ@KOFEFGNB@The?5requested?5API?5version?5is?5un@ ; `string' PUBLIC ??_C@_0CD@HJEBEGLD@A?5platform?9specific?5error?5occur@ ; `string' PUBLIC ??_C@_0CE@PCLEMLLO@The?5requested?5format?5is?5unavail@ ; `string' PUBLIC ??_C@_0CE@OJFJMLEI@The?5specified?5window?5has?5no?5con@ ; `string' PUBLIC ??_C@_0CK@NHHHNGID@The?5specified?5cursor?5shape?5is?5u@ ; `string' PUBLIC ??_C@_0DO@OLPMIGEJ@The?5requested?5feature?5cannot?5be@ ; `string' PUBLIC ??_C@_0EF@PCMNMHKP@The?5requested?5feature?5has?5not?5y@ ; `string' PUBLIC ??_C@_0CG@DAAALEIC@The?5requested?5platform?5is?5unava@ ; `string' PUBLIC ??_C@_0BK@PMMAHJAK@ERROR?3?5UNKNOWN?5GLFW?5ERROR@ ; `string' PUBLIC ??_C@_0BJ@HDECIKCI@Invalid?5init?5hint?50x?$CF08X@ ; `string' PUBLIC ??_C@_0BO@NOJEGBJM@Missing?5function?5in?5allocator@ ; `string' EXTRN __imp_strtol:PROC EXTRN __imp___stdio_common_vsprintf:PROC EXTRN __imp_realloc:PROC EXTRN __report_rangecheckfailure:PROC EXTRN __imp_strtok:PROC _glfw DB 02d28H DUP (?) _BSS ENDS ; COMDAT ??_C@_0BO@NOJEGBJM@Missing?5function?5in?5allocator@ CONST SEGMENT ??_C@_0BO@NOJEGBJM@Missing?5function?5in?5allocator@ DB 'Missing function' DB ' in allocator', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BJ@HDECIKCI@Invalid?5init?5hint?50x?$CF08X@ CONST SEGMENT ??_C@_0BJ@HDECIKCI@Invalid?5init?5hint?50x?$CF08X@ DB 'Invalid init hint ' DB '0x%08X', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BK@PMMAHJAK@ERROR?3?5UNKNOWN?5GLFW?5ERROR@ CONST SEGMENT ??_C@_0BK@PMMAHJAK@ERROR?3?5UNKNOWN?5GLFW?5ERROR@ DB 'ERROR: UNKNOWN GLFW' DB ' ERROR', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CG@DAAALEIC@The?5requested?5platform?5is?5unava@ CONST SEGMENT ??_C@_0CG@DAAALEIC@The?5requested?5platform?5is?5unava@ DB 'The requested' DB ' platform is unavailable', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0EF@PCMNMHKP@The?5requested?5feature?5has?5not?5y@ CONST SEGMENT ??_C@_0EF@PCMNMHKP@The?5requested?5feature?5has?5not?5y@ DB 'The requeste' DB 'd feature has not yet been implemented for this platform', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0DO@OLPMIGEJ@The?5requested?5feature?5cannot?5be@ CONST SEGMENT ??_C@_0DO@OLPMIGEJ@The?5requested?5feature?5cannot?5be@ DB 'The requested' DB ' feature cannot be implemented for this platform', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CK@NHHHNGID@The?5specified?5cursor?5shape?5is?5u@ CONST SEGMENT ??_C@_0CK@NHHHNGID@The?5specified?5cursor?5shape?5is?5u@ DB 'The specifie' DB 'd cursor shape is unavailable', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CE@OJFJMLEI@The?5specified?5window?5has?5no?5con@ CONST SEGMENT ??_C@_0CE@OJFJMLEI@The?5specified?5window?5has?5no?5con@ DB 'The specifie' DB 'd window has no context', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CE@PCLEMLLO@The?5requested?5format?5is?5unavail@ CONST SEGMENT ??_C@_0CE@PCLEMLLO@The?5requested?5format?5is?5unavail@ DB 'The requested' DB ' format is unavailable', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CD@HJEBEGLD@A?5platform?9specific?5error?5occur@ CONST SEGMENT ??_C@_0CD@HJEBEGLD@A?5platform?9specific?5error?5occur@ DB 'A platform-sp' DB 'ecific error occurred', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CJ@KOFEFGNB@The?5requested?5API?5version?5is?5un@ CONST SEGMENT ??_C@_0CJ@KOFEFGNB@The?5requested?5API?5version?5is?5un@ DB 'The requeste' DB 'd API version is unavailable', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CB@HAFFDHLH@The?5requested?5API?5is?5unavailabl@ CONST SEGMENT ??_C@_0CB@HAFFDHLH@The?5requested?5API?5is?5unavailabl@ DB 'The requested' DB ' API is unavailable', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0O@NALGGDJF@Out?5of?5memory@ CONST SEGMENT ??_C@_0O@NALGGDJF@Out?5of?5memory@ DB 'Out of memory', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BM@BADCNPOM@Invalid?5value?5for?5parameter@ CONST SEGMENT ??_C@_0BM@BADCNPOM@Invalid?5value?5for?5parameter@ DB 'Invalid value for ' DB 'parameter', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CE@KDBKFLEE@Invalid?5argument?5for?5enum?5param@ CONST SEGMENT ??_C@_0CE@KDBKFLEE@Invalid?5argument?5for?5enum?5param@ DB 'Invalid argum' DB 'ent for enum parameter', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BM@PKHPFLOM@There?5is?5no?5current?5context@ CONST SEGMENT ??_C@_0BM@PKHPFLOM@There?5is?5no?5current?5context@ DB 'There is no curre' DB 'nt context', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0CE@BEELAIPG@The?5GLFW?5library?5is?5not?5initial@ CONST SEGMENT ??_C@_0CE@BEELAIPG@The?5GLFW?5library?5is?5not?5initial@ DB 'The GLFW lib' DB 'rary is not initialized', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BJ@IHHANIOG@Allocation?5size?5overflow@ CONST SEGMENT ??_C@_0BJ@IHHANIOG@Allocation?5size?5overflow@ DB 'Allocation size overfl' DB 'ow', 00H ; `string' CONST ENDS ; COMDAT ??_C@_02PCIJFNDE@?$AN?6@ CONST SEGMENT ??_C@_02PCIJFNDE@?$AN?6@ DB 0dH, 0aH, 00H ; `string' CONST ENDS ; COMDAT ??_C@_07CAIJGPF@file?3?1?1@ CONST SEGMENT ??_C@_07CAIJGPF@file?3?1?1@ DB 'file://', 00H ; `string' PUBLIC glfwSetErrorCallback PUBLIC glfwGetError PUBLIC glfwGetVersion PUBLIC glfwInitVulkanLoader PUBLIC glfwInitAllocator PUBLIC glfwInitHint PUBLIC glfwTerminate PUBLIC glfwInit PUBLIC _glfw_realloc PUBLIC _glfw_fmaxf PUBLIC _glfw_fminf PUBLIC _glfw_max PUBLIC _glfw_min PUBLIC _glfw_strdup PUBLIC vsnprintf PUBLIC __local_stdio_printf_options PUBLIC _glfw_free PUBLIC _glfw_calloc PUBLIC _glfwInputError _glfwErrorCallback DQ 01H DUP (?) _glfwInitAllocator DB 020H DUP (?) _glfwMainThreadError DB 0410H DUP (?) _BSS ENDS ; COMDAT pdata pdata SEGMENT $pdata$glfwGetError DD imagerel $LN20 DD imagerel $LN20+95 DD imagerel $unwind$glfwGetError pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$glfwInit DD imagerel $LN98 DD imagerel $LN98+538 DD imagerel $unwind$glfwInit pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$glfwInit DD imagerel $LN98+538 DD imagerel $LN98+761 DD imagerel $chain$1$glfwInit pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$2$glfwInit DD imagerel $LN98+761 DD imagerel $LN98+808 DD imagerel $chain$2$glfwInit pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfw_realloc DD imagerel $LN27 DD imagerel $LN27+165 DD imagerel $unwind$_glfw_realloc pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfw_strdup DD imagerel $LN20 DD imagerel $LN20+124 DD imagerel $unwind$_glfw_strdup pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$terminate DD imagerel terminate DD imagerel terminate+623 DD imagerel $unwind$terminate pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$vsnprintf DD imagerel $LN4 DD imagerel $LN4+94 DD imagerel $unwind$vsnprintf pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfw_calloc DD imagerel $LN14 DD imagerel $LN14+127 DD imagerel $unwind$_glfw_calloc pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwInputError DD imagerel $LN82 DD imagerel $LN82+48 DD imagerel $unwind$_glfwInputError pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$0$_glfwInputError DD imagerel $LN82+48 DD imagerel $LN82+62 DD imagerel $chain$0$_glfwInputError pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$1$_glfwInputError DD imagerel $LN82+62 DD imagerel $LN82+139 DD imagerel $chain$1$_glfwInputError pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$2$_glfwInputError DD imagerel $LN82+139 DD imagerel $LN82+1171 DD imagerel $chain$2$_glfwInputError pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$3$_glfwInputError DD imagerel $LN82+1171 DD imagerel $LN82+1205 DD imagerel $chain$3$_glfwInputError _glfwInitHints DD 01H DD 037001H DD 060000H ORG $+4 DQ 0000000000000000H DD 01H DD 01H DD 01H DD 038001H _DATA ENDS ; COMDAT xdata xdata SEGMENT $chain$3$_glfwInputError DD 021H DD imagerel $LN82 DD imagerel $LN82+48 DD imagerel $unwind$_glfwInputError xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$2$_glfwInputError DD 021H DD imagerel $LN82+48 DD imagerel $LN82+62 DD imagerel $chain$0$_glfwInputError xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$_glfwInputError DD 020421H DD 08a6404H DD imagerel $LN82+48 DD imagerel $LN82+62 DD imagerel $chain$0$_glfwInputError xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$0$_glfwInputError DD 020421H DD 0897404H DD imagerel $LN82 DD imagerel $LN82+48 DD imagerel $unwind$_glfwInputError xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwInputError DD 043019H DD 08b011fH DD 050103011H DD imagerel __GSHandlerCheck DD 0430H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfw_calloc DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$vsnprintf DD 060f01H DD 09640fH DD 08340fH DD 0700b520fH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$terminate DD 081401H DD 086414H DD 075414H DD 063414H DD 070103214H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfw_strdup DD 040a01H DD 06340aH DD 07006320aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfw_realloc DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$2$glfwInit DD 021H DD imagerel $LN98 DD imagerel $LN98+538 DD imagerel $unwind$glfwInit xdata ENDS ; COMDAT xdata xdata SEGMENT $chain$1$glfwInit DD 020521H DD 067405H DD imagerel $LN98 DD imagerel $LN98+538 DD imagerel $unwind$glfwInit xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$glfwInit DD 033a19H DD 08343aH DD 06204H DD imagerel __GSHandlerCheck DD 028H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$glfwGetError DD 020601H DD 030023206H ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdio.h ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT _glfwInputError _TEXT SEGMENT description$ = 48 __$ArrayPad$ = 1072 code$ = 1136 format$ = 1144 _glfwInputError PROC ; COMDAT ; 332 : { $LN82: 00000 4c 8b dc mov r11, rsp 00003 49 89 53 10 mov QWORD PTR [r11+16], rdx 00007 4d 89 43 18 mov QWORD PTR [r11+24], r8 0000b 4d 89 4b 20 mov QWORD PTR [r11+32], r9 0000f 55 push rbp 00010 53 push rbx 00011 49 8d ab 98 fc ff ff lea rbp, QWORD PTR [r11-872] 00018 48 81 ec 58 04 00 00 sub rsp, 1112 ; 00000458H 0001f 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00026 48 33 c4 xor rax, rsp 00029 48 89 85 30 03 00 00 mov QWORD PTR __$ArrayPad$[rbp-256], rax 00030 49 89 7b e0 mov QWORD PTR [r11-32], rdi 00034 48 8b fa mov rdi, rdx 00037 8b d9 mov ebx, ecx ; 333 : _GLFWerror* error; ; 334 : char description[_GLFW_MESSAGE_SIZE]; ; 335 : ; 336 : if (format) 00039 48 85 d2 test rdx, rdx 0003c 74 4d je SHORT $LN2@glfwInputE 0003e 49 89 73 e8 mov QWORD PTR [r11-24], rsi ; 337 : { ; 338 : va_list vl; ; 339 : ; 340 : va_start(vl, format); 00042 48 8d b5 80 03 00 00 lea rsi, QWORD PTR format$[rbp-248] ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdio.h ; 1439 : int const _Result = __stdio_common_vsprintf( 00049 e8 00 00 00 00 call __local_stdio_printf_options 0004e 48 89 74 24 28 mov QWORD PTR [rsp+40], rsi 00053 48 8d 54 24 30 lea rdx, QWORD PTR description$[rsp] 00058 4c 8b cf mov r9, rdi 0005b 48 c7 44 24 20 00 00 00 00 mov QWORD PTR [rsp+32], 0 00064 41 b8 00 04 00 00 mov r8d, 1024 ; 00000400H 0006a 48 8b 08 mov rcx, QWORD PTR [rax] 0006d 48 83 c9 02 or rcx, 2 00071 ff 15 00 00 00 00 call QWORD PTR __imp___stdio_common_vsprintf ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 344 : description[sizeof(description) - 1] = '\0'; 00077 48 8b b4 24 50 04 00 00 mov rsi, QWORD PTR [rsp+1104] 0007f c6 85 2f 03 00 00 00 mov BYTE PTR description$[rbp+767], 0 ; 345 : } 00086 e9 2e 03 00 00 jmp $LN31@glfwInputE $LN2@glfwInputE: ; 346 : else ; 347 : { ; 348 : if (code == GLFW_NOT_INITIALIZED) 0008b 81 fb 01 00 01 00 cmp ebx, 65537 ; 00010001H 00091 75 27 jne SHORT $LN4@glfwInputE ; 349 : strcpy(description, "The GLFW library is not initialized"); 00093 0f 10 05 00 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0CE@BEELAIPG@The?5GLFW?5library?5is?5not?5initial@ 0009a 8b 05 20 00 00 00 mov eax, DWORD PTR ??_C@_0CE@BEELAIPG@The?5GLFW?5library?5is?5not?5initial@+32 000a0 0f 10 0d 10 00 00 00 movups xmm1, XMMWORD PTR ??_C@_0CE@BEELAIPG@The?5GLFW?5library?5is?5not?5initial@+16 000a7 89 44 24 50 mov DWORD PTR description$[rsp+32], eax 000ab 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 000b0 0f 29 4c 24 40 movaps XMMWORD PTR description$[rsp+16], xmm1 000b5 e9 ff 02 00 00 jmp $LN31@glfwInputE $LN4@glfwInputE: ; 350 : else if (code == GLFW_NO_CURRENT_CONTEXT) 000ba 81 fb 02 00 01 00 cmp ebx, 65538 ; 00010002H 000c0 75 23 jne SHORT $LN6@glfwInputE ; 351 : strcpy(description, "There is no current context"); 000c2 0f 10 05 00 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0BM@PKHPFLOM@There?5is?5no?5current?5context@ 000c9 8b 05 18 00 00 00 mov eax, DWORD PTR ??_C@_0BM@PKHPFLOM@There?5is?5no?5current?5context@+24 000cf 89 44 24 48 mov DWORD PTR description$[rsp+24], eax 000d3 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 000d8 f2 0f 10 05 10 00 00 00 movsd xmm0, QWORD PTR ??_C@_0BM@PKHPFLOM@There?5is?5no?5current?5context@+16 000e0 e9 ce 02 00 00 jmp $LN80@glfwInputE $LN6@glfwInputE: ; 352 : else if (code == GLFW_INVALID_ENUM) 000e5 81 fb 03 00 01 00 cmp ebx, 65539 ; 00010003H 000eb 75 27 jne SHORT $LN8@glfwInputE ; 353 : strcpy(description, "Invalid argument for enum parameter"); 000ed 0f 10 05 00 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0CE@KDBKFLEE@Invalid?5argument?5for?5enum?5param@ 000f4 8b 05 20 00 00 00 mov eax, DWORD PTR ??_C@_0CE@KDBKFLEE@Invalid?5argument?5for?5enum?5param@+32 000fa 0f 10 0d 10 00 00 00 movups xmm1, XMMWORD PTR ??_C@_0CE@KDBKFLEE@Invalid?5argument?5for?5enum?5param@+16 00101 89 44 24 50 mov DWORD PTR description$[rsp+32], eax 00105 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 0010a 0f 29 4c 24 40 movaps XMMWORD PTR description$[rsp+16], xmm1 0010f e9 a5 02 00 00 jmp $LN31@glfwInputE $LN8@glfwInputE: ; 354 : else if (code == GLFW_INVALID_VALUE) 00114 81 fb 04 00 01 00 cmp ebx, 65540 ; 00010004H 0011a 75 23 jne SHORT $LN10@glfwInputE ; 355 : strcpy(description, "Invalid value for parameter"); 0011c 0f 10 05 00 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0BM@BADCNPOM@Invalid?5value?5for?5parameter@ 00123 8b 05 18 00 00 00 mov eax, DWORD PTR ??_C@_0BM@BADCNPOM@Invalid?5value?5for?5parameter@+24 00129 89 44 24 48 mov DWORD PTR description$[rsp+24], eax 0012d 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 00132 f2 0f 10 05 10 00 00 00 movsd xmm0, QWORD PTR ??_C@_0BM@BADCNPOM@Invalid?5value?5for?5parameter@+16 0013a e9 74 02 00 00 jmp $LN80@glfwInputE $LN10@glfwInputE: ; 356 : else if (code == GLFW_OUT_OF_MEMORY) 0013f 81 fb 05 00 01 00 cmp ebx, 65541 ; 00010005H 00145 75 29 jne SHORT $LN12@glfwInputE ; 357 : strcpy(description, "Out of memory"); 00147 8b 05 08 00 00 00 mov eax, DWORD PTR ??_C@_0O@NALGGDJF@Out?5of?5memory@+8 0014d f2 0f 10 05 00 00 00 00 movsd xmm0, QWORD PTR ??_C@_0O@NALGGDJF@Out?5of?5memory@ 00155 89 44 24 38 mov DWORD PTR description$[rsp+8], eax 00159 0f b7 05 0c 00 00 00 movzx eax, WORD PTR ??_C@_0O@NALGGDJF@Out?5of?5memory@+12 00160 66 89 44 24 3c mov WORD PTR description$[rsp+12], ax 00165 f2 0f 11 44 24 30 movsd QWORD PTR description$[rsp], xmm0 0016b e9 49 02 00 00 jmp $LN31@glfwInputE $LN12@glfwInputE: ; 358 : else if (code == GLFW_API_UNAVAILABLE) 00170 81 fb 06 00 01 00 cmp ebx, 65542 ; 00010006H 00176 75 28 jne SHORT $LN14@glfwInputE ; 359 : strcpy(description, "The requested API is unavailable"); 00178 0f 10 05 00 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0CB@HAFFDHLH@The?5requested?5API?5is?5unavailabl@ 0017f 0f b6 05 20 00 00 00 movzx eax, BYTE PTR ??_C@_0CB@HAFFDHLH@The?5requested?5API?5is?5unavailabl@+32 00186 0f 10 0d 10 00 00 00 movups xmm1, XMMWORD PTR ??_C@_0CB@HAFFDHLH@The?5requested?5API?5is?5unavailabl@+16 0018d 88 44 24 50 mov BYTE PTR description$[rsp+32], al 00191 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 00196 0f 29 4c 24 40 movaps XMMWORD PTR description$[rsp+16], xmm1 0019b e9 19 02 00 00 jmp $LN31@glfwInputE $LN14@glfwInputE: ; 360 : else if (code == GLFW_VERSION_UNAVAILABLE) 001a0 81 fb 07 00 01 00 cmp ebx, 65543 ; 00010007H 001a6 75 36 jne SHORT $LN16@glfwInputE ; 361 : strcpy(description, "The requested API version is unavailable"); 001a8 0f 10 05 00 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0CJ@KOFEFGNB@The?5requested?5API?5version?5is?5un@ 001af 0f b6 05 28 00 00 00 movzx eax, BYTE PTR ??_C@_0CJ@KOFEFGNB@The?5requested?5API?5version?5is?5un@+40 001b6 0f 10 0d 10 00 00 00 movups xmm1, XMMWORD PTR ??_C@_0CJ@KOFEFGNB@The?5requested?5API?5version?5is?5un@+16 001bd 88 44 24 58 mov BYTE PTR description$[rsp+40], al 001c1 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 001c6 f2 0f 10 05 20 00 00 00 movsd xmm0, QWORD PTR ??_C@_0CJ@KOFEFGNB@The?5requested?5API?5version?5is?5un@+32 001ce f2 0f 11 44 24 50 movsd QWORD PTR description$[rsp+32], xmm0 001d4 0f 29 4c 24 40 movaps XMMWORD PTR description$[rsp+16], xmm1 001d9 e9 db 01 00 00 jmp $LN31@glfwInputE $LN16@glfwInputE: ; 362 : else if (code == GLFW_PLATFORM_ERROR) 001de 81 fb 08 00 01 00 cmp ebx, 65544 ; 00010008H 001e4 75 34 jne SHORT $LN18@glfwInputE ; 363 : strcpy(description, "A platform-specific error occurred"); 001e6 0f b7 05 20 00 00 00 movzx eax, WORD PTR ??_C@_0CD@HJEBEGLD@A?5platform?9specific?5error?5occur@+32 001ed 0f 10 05 00 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0CD@HJEBEGLD@A?5platform?9specific?5error?5occur@ 001f4 66 89 44 24 50 mov WORD PTR description$[rsp+32], ax 001f9 0f 10 0d 10 00 00 00 movups xmm1, XMMWORD PTR ??_C@_0CD@HJEBEGLD@A?5platform?9specific?5error?5occur@+16 00200 0f b6 05 22 00 00 00 movzx eax, BYTE PTR ??_C@_0CD@HJEBEGLD@A?5platform?9specific?5error?5occur@+34 00207 88 44 24 52 mov BYTE PTR description$[rsp+34], al 0020b 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 00210 0f 29 4c 24 40 movaps XMMWORD PTR description$[rsp+16], xmm1 00215 e9 9f 01 00 00 jmp $LN31@glfwInputE $LN18@glfwInputE: ; 364 : else if (code == GLFW_FORMAT_UNAVAILABLE) 0021a 81 fb 09 00 01 00 cmp ebx, 65545 ; 00010009H 00220 75 27 jne SHORT $LN20@glfwInputE ; 365 : strcpy(description, "The requested format is unavailable"); 00222 0f 10 05 00 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0CE@PCLEMLLO@The?5requested?5format?5is?5unavail@ 00229 8b 05 20 00 00 00 mov eax, DWORD PTR ??_C@_0CE@PCLEMLLO@The?5requested?5format?5is?5unavail@+32 0022f 0f 10 0d 10 00 00 00 movups xmm1, XMMWORD PTR ??_C@_0CE@PCLEMLLO@The?5requested?5format?5is?5unavail@+16 00236 89 44 24 50 mov DWORD PTR description$[rsp+32], eax 0023a 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 0023f 0f 29 4c 24 40 movaps XMMWORD PTR description$[rsp+16], xmm1 00244 e9 70 01 00 00 jmp $LN31@glfwInputE $LN20@glfwInputE: ; 366 : else if (code == GLFW_NO_WINDOW_CONTEXT) 00249 81 fb 0a 00 01 00 cmp ebx, 65546 ; 0001000aH 0024f 75 27 jne SHORT $LN22@glfwInputE ; 367 : strcpy(description, "The specified window has no context"); 00251 0f 10 05 00 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0CE@OJFJMLEI@The?5specified?5window?5has?5no?5con@ 00258 8b 05 20 00 00 00 mov eax, DWORD PTR ??_C@_0CE@OJFJMLEI@The?5specified?5window?5has?5no?5con@+32 0025e 0f 10 0d 10 00 00 00 movups xmm1, XMMWORD PTR ??_C@_0CE@OJFJMLEI@The?5specified?5window?5has?5no?5con@+16 00265 89 44 24 50 mov DWORD PTR description$[rsp+32], eax 00269 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 0026e 0f 29 4c 24 40 movaps XMMWORD PTR description$[rsp+16], xmm1 00273 e9 41 01 00 00 jmp $LN31@glfwInputE $LN22@glfwInputE: ; 368 : else if (code == GLFW_CURSOR_UNAVAILABLE) 00278 81 fb 0b 00 01 00 cmp ebx, 65547 ; 0001000bH 0027e 75 37 jne SHORT $LN24@glfwInputE ; 369 : strcpy(description, "The specified cursor shape is unavailable"); 00280 0f 10 05 00 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0CK@NHHHNGID@The?5specified?5cursor?5shape?5is?5u@ 00287 0f b7 05 28 00 00 00 movzx eax, WORD PTR ??_C@_0CK@NHHHNGID@The?5specified?5cursor?5shape?5is?5u@+40 0028e 0f 10 0d 10 00 00 00 movups xmm1, XMMWORD PTR ??_C@_0CK@NHHHNGID@The?5specified?5cursor?5shape?5is?5u@+16 00295 66 89 44 24 58 mov WORD PTR description$[rsp+40], ax 0029a 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 0029f f2 0f 10 05 20 00 00 00 movsd xmm0, QWORD PTR ??_C@_0CK@NHHHNGID@The?5specified?5cursor?5shape?5is?5u@+32 002a7 f2 0f 11 44 24 50 movsd QWORD PTR description$[rsp+32], xmm0 002ad 0f 29 4c 24 40 movaps XMMWORD PTR description$[rsp+16], xmm1 002b2 e9 02 01 00 00 jmp $LN31@glfwInputE $LN24@glfwInputE: ; 370 : else if (code == GLFW_FEATURE_UNAVAILABLE) 002b7 81 fb 0c 00 01 00 cmp ebx, 65548 ; 0001000cH 002bd 75 4d jne SHORT $LN26@glfwInputE ; 371 : strcpy(description, "The requested feature cannot be implemented for this platform"); 002bf 0f 10 05 00 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0DO@OLPMIGEJ@The?5requested?5feature?5cannot?5be@ 002c6 8b 05 38 00 00 00 mov eax, DWORD PTR ??_C@_0DO@OLPMIGEJ@The?5requested?5feature?5cannot?5be@+56 002cc 0f 10 0d 10 00 00 00 movups xmm1, XMMWORD PTR ??_C@_0DO@OLPMIGEJ@The?5requested?5feature?5cannot?5be@+16 002d3 89 44 24 68 mov DWORD PTR description$[rsp+56], eax 002d7 0f b7 05 3c 00 00 00 movzx eax, WORD PTR ??_C@_0DO@OLPMIGEJ@The?5requested?5feature?5cannot?5be@+60 002de 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 002e3 0f 10 05 20 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0DO@OLPMIGEJ@The?5requested?5feature?5cannot?5be@+32 002ea 66 89 44 24 6c mov WORD PTR description$[rsp+60], ax 002ef 0f 29 4c 24 40 movaps XMMWORD PTR description$[rsp+16], xmm1 002f4 0f 29 44 24 50 movaps XMMWORD PTR description$[rsp+32], xmm0 002f9 f2 0f 10 05 30 00 00 00 movsd xmm0, QWORD PTR ??_C@_0DO@OLPMIGEJ@The?5requested?5feature?5cannot?5be@+48 00301 f2 0f 11 44 24 60 movsd QWORD PTR description$[rsp+48], xmm0 00307 e9 ad 00 00 00 jmp $LN31@glfwInputE $LN26@glfwInputE: ; 372 : else if (code == GLFW_FEATURE_UNIMPLEMENTED) 0030c 81 fb 0d 00 01 00 cmp ebx, 65549 ; 0001000dH 00312 75 47 jne SHORT $LN28@glfwInputE ; 373 : strcpy(description, "The requested feature has not yet been implemented for this platform"); 00314 0f 28 05 00 00 00 00 movaps xmm0, XMMWORD PTR ??_C@_0EF@PCMNMHKP@The?5requested?5feature?5has?5not?5y@ 0031b 0f 28 0d 10 00 00 00 movaps xmm1, XMMWORD PTR ??_C@_0EF@PCMNMHKP@The?5requested?5feature?5has?5not?5y@+16 00322 8b 05 40 00 00 00 mov eax, DWORD PTR ??_C@_0EF@PCMNMHKP@The?5requested?5feature?5has?5not?5y@+64 00328 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 0032d 0f 28 05 20 00 00 00 movaps xmm0, XMMWORD PTR ??_C@_0EF@PCMNMHKP@The?5requested?5feature?5has?5not?5y@+32 00334 0f 29 4c 24 40 movaps XMMWORD PTR description$[rsp+16], xmm1 00339 0f 28 0d 30 00 00 00 movaps xmm1, XMMWORD PTR ??_C@_0EF@PCMNMHKP@The?5requested?5feature?5has?5not?5y@+48 00340 89 44 24 70 mov DWORD PTR description$[rsp+64], eax 00344 0f b6 05 44 00 00 00 movzx eax, BYTE PTR ??_C@_0EF@PCMNMHKP@The?5requested?5feature?5has?5not?5y@+68 0034b 0f 29 44 24 50 movaps XMMWORD PTR description$[rsp+32], xmm0 00350 0f 29 4c 24 60 movaps XMMWORD PTR description$[rsp+48], xmm1 00355 88 44 24 74 mov BYTE PTR description$[rsp+68], al 00359 eb 5e jmp SHORT $LN31@glfwInputE $LN28@glfwInputE: ; 374 : else if (code == GLFW_PLATFORM_UNAVAILABLE) 0035b 81 fb 0e 00 01 00 cmp ebx, 65550 ; 0001000eH 00361 75 30 jne SHORT $LN30@glfwInputE ; 375 : strcpy(description, "The requested platform is unavailable"); 00363 8b 05 20 00 00 00 mov eax, DWORD PTR ??_C@_0CG@DAAALEIC@The?5requested?5platform?5is?5unava@+32 00369 0f 10 05 00 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0CG@DAAALEIC@The?5requested?5platform?5is?5unava@ 00370 89 44 24 50 mov DWORD PTR description$[rsp+32], eax 00374 0f 10 0d 10 00 00 00 movups xmm1, XMMWORD PTR ??_C@_0CG@DAAALEIC@The?5requested?5platform?5is?5unava@+16 0037b 0f b7 05 24 00 00 00 movzx eax, WORD PTR ??_C@_0CG@DAAALEIC@The?5requested?5platform?5is?5unava@+36 00382 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 00387 0f 29 4c 24 40 movaps XMMWORD PTR description$[rsp+16], xmm1 0038c 66 89 44 24 54 mov WORD PTR description$[rsp+36], ax 00391 eb 26 jmp SHORT $LN31@glfwInputE $LN30@glfwInputE: ; 376 : else ; 377 : strcpy(description, "ERROR: UNKNOWN GLFW ERROR"); 00393 0f 10 05 00 00 00 00 movups xmm0, XMMWORD PTR ??_C@_0BK@PMMAHJAK@ERROR?3?5UNKNOWN?5GLFW?5ERROR@ 0039a 0f b7 05 18 00 00 00 movzx eax, WORD PTR ??_C@_0BK@PMMAHJAK@ERROR?3?5UNKNOWN?5GLFW?5ERROR@+24 003a1 66 89 44 24 48 mov WORD PTR description$[rsp+24], ax 003a6 0f 29 44 24 30 movaps XMMWORD PTR description$[rsp], xmm0 003ab f2 0f 10 05 10 00 00 00 movsd xmm0, QWORD PTR ??_C@_0BK@PMMAHJAK@ERROR?3?5UNKNOWN?5GLFW?5ERROR@+16 $LN80@glfwInputE: ; 378 : } ; 379 : ; 380 : if (_glfw.initialized) 003b3 f2 0f 11 44 24 40 movsd QWORD PTR description$[rsp+16], xmm0 $LN31@glfwInputE: 003b9 83 3d 00 00 00 00 00 cmp DWORD PTR _glfw, 0 003c0 0f 84 8a 00 00 00 je $LN32@glfwInputE ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; 66 : return TlsGetValue(tls->win32.index); 003c6 8b 0d a0 19 00 00 mov ecx, DWORD PTR _glfw+6560 003cc ff 15 00 00 00 00 call QWORD PTR __imp_TlsGetValue 003d2 48 8b f8 mov rdi, rax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 383 : if (!error) 003d5 48 85 c0 test rax, rax 003d8 75 7d jne SHORT $LN33@glfwInputE ; 283 : block = _glfw.allocator.allocate(count * size, _glfw.allocator.user); 003da 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 003e1 b9 10 04 00 00 mov ecx, 1040 ; 00000410H 003e6 ff 15 08 00 00 00 call QWORD PTR _glfw+8 ; 284 : if (block) 003ec 48 85 c0 test rax, rax 003ef 74 15 je SHORT $LN48@glfwInputE ; 285 : return memset(block, 0, count * size); 003f1 33 d2 xor edx, edx 003f3 41 b8 10 04 00 00 mov r8d, 1040 ; 00000410H 003f9 48 8b c8 mov rcx, rax 003fc e8 00 00 00 00 call memset 00401 48 8b f8 mov rdi, rax 00404 eb 0e jmp SHORT $LN46@glfwInputE $LN48@glfwInputE: ; 286 : else ; 287 : { ; 288 : _glfwInputError(GLFW_OUT_OF_MEMORY, NULL); 00406 33 d2 xor edx, edx 00408 b9 05 00 01 00 mov ecx, 65541 ; 00010005H 0040d e8 00 00 00 00 call _glfwInputError ; 289 : return NULL; 00412 33 ff xor edi, edi $LN46@glfwInputE: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; 72 : TlsSetValue(tls->win32.index, value); 00414 8b 0d a0 19 00 00 mov ecx, DWORD PTR _glfw+6560 0041a 48 8b d7 mov rdx, rdi 0041d ff 15 00 00 00 00 call QWORD PTR __imp_TlsSetValue ; 92 : EnterCriticalSection(&mutex->win32.section); 00423 48 8d 0d b8 19 00 00 lea rcx, OFFSET FLAT:_glfw+6584 0042a ff 15 00 00 00 00 call QWORD PTR __imp_EnterCriticalSection ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 388 : error->next = _glfw.errorListHead; 00430 48 8b 05 68 07 00 00 mov rax, QWORD PTR _glfw+1896 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; 98 : LeaveCriticalSection(&mutex->win32.section); 00437 48 8d 0d b8 19 00 00 lea rcx, OFFSET FLAT:_glfw+6584 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 388 : error->next = _glfw.errorListHead; 0043e 48 89 07 mov QWORD PTR [rdi], rax ; 389 : _glfw.errorListHead = error; 00441 48 89 3d 68 07 00 00 mov QWORD PTR _glfw+1896, rdi ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; 98 : LeaveCriticalSection(&mutex->win32.section); 00448 ff 15 00 00 00 00 call QWORD PTR __imp_LeaveCriticalSection ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 392 : } 0044e eb 07 jmp SHORT $LN33@glfwInputE $LN32@glfwInputE: ; 393 : else ; 394 : error = &_glfwMainThreadError; 00450 48 8d 3d 00 00 00 00 lea rdi, OFFSET FLAT:_glfwMainThreadError $LN33@glfwInputE: ; 395 : ; 396 : error->code = code; 00457 48 8d 44 24 30 lea rax, QWORD PTR description$[rsp] 0045c 89 5f 08 mov DWORD PTR [rdi+8], ebx 0045f 48 2b f8 sub rdi, rax ; 397 : strcpy(error->description, description); 00462 48 8d 54 24 30 lea rdx, QWORD PTR description$[rsp] 00467 66 0f 1f 84 00 00 00 00 00 npad 9 $LL39@glfwInputE: 00470 0f b6 02 movzx eax, BYTE PTR [rdx] 00473 88 44 17 0c mov BYTE PTR [rdi+rdx+12], al 00477 48 8d 52 01 lea rdx, QWORD PTR [rdx+1] 0047b 84 c0 test al, al 0047d 75 f1 jne SHORT $LL39@glfwInputE ; 398 : ; 399 : if (_glfwErrorCallback) 0047f 48 8b 05 00 00 00 00 mov rax, QWORD PTR _glfwErrorCallback 00486 48 8b bc 24 48 04 00 00 mov rdi, QWORD PTR [rsp+1096] 0048e 48 85 c0 test rax, rax 00491 74 09 je SHORT $LN35@glfwInputE ; 400 : _glfwErrorCallback(code, description); 00493 48 8d 54 24 30 lea rdx, QWORD PTR description$[rsp] 00498 8b cb mov ecx, ebx 0049a ff d0 call rax $LN35@glfwInputE: ; 401 : } 0049c 48 8b 8d 30 03 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp-256] 004a3 48 33 cc xor rcx, rsp 004a6 e8 00 00 00 00 call __security_check_cookie 004ab 48 81 c4 58 04 00 00 add rsp, 1112 ; 00000458H 004b2 5b pop rbx 004b3 5d pop rbp 004b4 c3 ret 0 _glfwInputError ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT _glfw_calloc _TEXT SEGMENT count$ = 48 size$ = 56 _glfw_calloc PROC ; COMDAT ; 272 : { $LN14: 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 4c 8b c2 mov r8, rdx 00009 48 8b d9 mov rbx, rcx ; 273 : if (count && size) 0000c 48 85 c9 test rcx, rcx 0000f 74 66 je SHORT $LN2@glfw_callo 00011 48 85 d2 test rdx, rdx 00014 74 61 je SHORT $LN2@glfw_callo ; 274 : { ; 275 : void* block; ; 276 : ; 277 : if (count > SIZE_MAX / size) 00016 33 d2 xor edx, edx 00018 48 c7 c0 ff ff ff ff mov rax, -1 0001f 49 f7 f0 div r8 00022 48 3b c8 cmp rcx, rax 00025 76 19 jbe SHORT $LN4@glfw_callo ; 278 : { ; 279 : _glfwInputError(GLFW_INVALID_VALUE, "Allocation size overflow"); 00027 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BJ@IHHANIOG@Allocation?5size?5overflow@ 0002e b9 04 00 01 00 mov ecx, 65540 ; 00010004H ; 289 : return NULL; ; 290 : } ; 291 : } ; 292 : else ; 293 : return NULL; ; 294 : } 00033 e8 00 00 00 00 call _glfwInputError 00038 33 c0 xor eax, eax 0003a 48 83 c4 20 add rsp, 32 ; 00000020H 0003e 5b pop rbx 0003f c3 ret 0 $LN4@glfw_callo: ; 280 : return NULL; ; 281 : } ; 282 : ; 283 : block = _glfw.allocator.allocate(count * size, _glfw.allocator.user); 00040 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 00047 49 0f af d8 imul rbx, r8 0004b 48 8b cb mov rcx, rbx 0004e ff 15 08 00 00 00 call QWORD PTR _glfw+8 ; 284 : if (block) 00054 48 85 c0 test rax, rax 00057 74 12 je SHORT $LN5@glfw_callo ; 285 : return memset(block, 0, count * size); 00059 4c 8b c3 mov r8, rbx 0005c 33 d2 xor edx, edx 0005e 48 8b c8 mov rcx, rax ; 289 : return NULL; ; 290 : } ; 291 : } ; 292 : else ; 293 : return NULL; ; 294 : } 00061 48 83 c4 20 add rsp, 32 ; 00000020H 00065 5b pop rbx ; 285 : return memset(block, 0, count * size); 00066 e9 00 00 00 00 jmp memset $LN5@glfw_callo: ; 286 : else ; 287 : { ; 288 : _glfwInputError(GLFW_OUT_OF_MEMORY, NULL); 0006b 33 d2 xor edx, edx 0006d b9 05 00 01 00 mov ecx, 65541 ; 00010005H ; 289 : return NULL; ; 290 : } ; 291 : } ; 292 : else ; 293 : return NULL; ; 294 : } 00072 e8 00 00 00 00 call _glfwInputError $LN2@glfw_callo: 00077 33 c0 xor eax, eax 00079 48 83 c4 20 add rsp, 32 ; 00000020H 0007d 5b pop rbx 0007e c3 ret 0 _glfw_calloc ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT _glfw_free _TEXT SEGMENT block$ = 8 _glfw_free PROC ; COMDAT ; 320 : if (block) 00000 48 85 c9 test rcx, rcx 00003 74 0e je SHORT $LN2@glfw_free ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 00005 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 0000c 48 ff 25 18 00 00 00 rex_jmp QWORD PTR _glfw+24 $LN2@glfw_free: ; 322 : } 00013 c3 ret 0 _glfw_free ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt_stdio_config.h ; COMDAT __local_stdio_printf_options _TEXT SEGMENT __local_stdio_printf_options PROC ; COMDAT ; 91 : static unsigned __int64 _OptionsStorage; ; 92 : return &_OptionsStorage; 00000 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:?_OptionsStorage@?1??__local_stdio_printf_options@@9@9 ; `__local_stdio_printf_options'::`2'::_OptionsStorage ; 93 : } 00007 c3 ret 0 __local_stdio_printf_options 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 _TEXT SEGMENT _Buffer$ = 64 _BufferCount$dead$ = 72 _Format$ = 80 _ArgList$ = 88 vsnprintf PROC ; COMDAT ; 1438 : { $LN4: 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 49 8b f8 mov rdi, r8 00015 48 8b f1 mov rsi, rcx ; 1439 : 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 41 b8 00 04 00 00 mov r8d, 1024 ; 00000400H 0002b 48 c7 44 24 20 00 00 00 00 mov QWORD PTR [rsp+32], 0 00034 48 8b d6 mov rdx, rsi 00037 48 8b 08 mov rcx, QWORD PTR [rax] 0003a 48 83 c9 02 or rcx, 2 0003e ff 15 00 00 00 00 call QWORD PTR __imp___stdio_common_vsprintf ; 1440 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, ; 1441 : _Buffer, _BufferCount, _Format, NULL, _ArgList); ; 1442 : ; 1443 : return _Result < 0 ? -1 : _Result; ; 1444 : } 00044 48 8b 5c 24 40 mov rbx, QWORD PTR [rsp+64] 00049 b9 ff ff ff ff mov ecx, -1 0004e 48 8b 74 24 48 mov rsi, QWORD PTR [rsp+72] 00053 85 c0 test eax, eax 00055 0f 48 c1 cmovs eax, ecx 00058 48 83 c4 30 add rsp, 48 ; 00000030H 0005c 5f pop rdi 0005d c3 ret 0 vsnprintf ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT defaultAllocate _TEXT SEGMENT size$ = 8 user$ = 16 defaultAllocate PROC ; COMDAT ; 73 : return malloc(size); 00000 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_malloc defaultAllocate ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT defaultDeallocate _TEXT SEGMENT block$ = 8 user$ = 16 defaultDeallocate PROC ; COMDAT ; 80 : free(block); 00000 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_free defaultDeallocate ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT defaultReallocate _TEXT SEGMENT block$ = 8 size$ = 16 user$ = 24 defaultReallocate PROC ; COMDAT ; 87 : return realloc(block, size); 00000 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_realloc defaultReallocate ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; 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\vulkan.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\vulkan.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT terminate _TEXT SEGMENT terminate PROC ; COMDAT ; 93 : { 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 ; 94 : int i; ; 95 : ; 96 : memset(&_glfw.callbacks, 0, sizeof(_glfw.callbacks)); ; 97 : ; 98 : while (_glfw.windowListHead) 00014 48 8b 1d 78 07 00 00 mov rbx, QWORD PTR _glfw+1912 0001b 0f 57 c0 xorps xmm0, xmm0 0001e 0f 11 05 68 1b 00 00 movups XMMWORD PTR _glfw+7016, xmm0 00025 48 85 db test rbx, rbx 00028 74 1a je SHORT $LN53@terminate 0002a 66 0f 1f 44 00 00 npad 6 $LL2@terminate: ; 99 : glfwDestroyWindow((GLFWwindow*)_glfw.windowListHead); 00030 48 8b cb mov rcx, rbx 00033 e8 00 00 00 00 call glfwDestroyWindow 00038 48 8b 1d 78 07 00 00 mov rbx, QWORD PTR _glfw+1912 0003f 48 85 db test rbx, rbx 00042 75 ec jne SHORT $LL2@terminate $LN53@terminate: ; 100 : ; 101 : while (_glfw.cursorListHead) 00044 48 8b 3d 70 07 00 00 mov rdi, QWORD PTR _glfw+1904 0004b 33 ed xor ebp, ebp 0004d 48 85 ff test rdi, rdi 00050 0f 84 b5 00 00 00 je $LN5@terminate 00056 48 8d 35 70 07 00 00 lea rsi, OFFSET FLAT:_glfw+1904 0005d 0f 1f 00 npad 3 $LL4@terminate: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 897 : _GLFW_REQUIRE_INIT(); 00060 39 2d 00 00 00 00 cmp DWORD PTR _glfw, ebp 00066 75 0e jne SHORT $LN19@terminate 00068 33 d2 xor edx, edx 0006a b9 01 00 01 00 mov ecx, 65537 ; 00010001H 0006f e8 00 00 00 00 call _glfwInputError 00074 eb 7e jmp SHORT $LN93@terminate $LN19@terminate: ; 898 : ; 899 : if (cursor == NULL) 00076 48 85 ff test rdi, rdi 00079 0f 84 8c 00 00 00 je $LN5@terminate ; 900 : return; ; 901 : ; 902 : // Make sure the cursor is not being used by any window ; 903 : { ; 904 : _GLFWwindow* window; ; 905 : ; 906 : for (window = _glfw.windowListHead; window; window = window->next) 0007f 48 85 db test rbx, rbx 00082 74 31 je SHORT $LN15@terminate $LL16@terminate: ; 907 : { ; 908 : if (window->cursor == cursor) 00084 48 39 7b 58 cmp QWORD PTR [rbx+88], rdi 00088 75 23 jne SHORT $LN14@terminate ; 934 : _GLFW_REQUIRE_INIT(); 0008a 33 d2 xor edx, edx 0008c 39 2d 00 00 00 00 cmp DWORD PTR _glfw, ebp 00092 75 0c jne SHORT $LN24@terminate 00094 b9 01 00 01 00 mov ecx, 65537 ; 00010001H 00099 e8 00 00 00 00 call _glfwInputError 0009e eb 0d jmp SHORT $LN14@terminate $LN24@terminate: ; 935 : ; 936 : window->cursor = cursor; ; 937 : ; 938 : _glfw.platform.setCursor(window, cursor); 000a0 48 8b cb mov rcx, rbx 000a3 48 89 6b 58 mov QWORD PTR [rbx+88], rbp 000a7 ff 15 80 00 00 00 call QWORD PTR _glfw+128 $LN14@terminate: ; 906 : for (window = _glfw.windowListHead; window; window = window->next) 000ad 48 8b 1b mov rbx, QWORD PTR [rbx] 000b0 48 85 db test rbx, rbx 000b3 75 cf jne SHORT $LL16@terminate $LN15@terminate: ; 909 : glfwSetCursor((GLFWwindow*)window, NULL); ; 910 : } ; 911 : } ; 912 : ; 913 : _glfw.platform.destroyCursor(cursor); 000b5 48 8b cf mov rcx, rdi 000b8 ff 15 78 00 00 00 call QWORD PTR _glfw+120 ; 914 : ; 915 : // Unlink cursor from global linked list ; 916 : { ; 917 : _GLFWcursor** prev = &_glfw.cursorListHead; ; 918 : ; 919 : while (*prev != cursor) 000be 48 8b 0d 70 07 00 00 mov rcx, QWORD PTR _glfw+1904 000c5 48 8b d6 mov rdx, rsi 000c8 48 3b cf cmp rcx, rdi 000cb 74 11 je SHORT $LN18@terminate 000cd 0f 1f 00 npad 3 $LL17@terminate: 000d0 48 8b 01 mov rax, QWORD PTR [rcx] ; 920 : prev = &((*prev)->next); 000d3 48 8b d1 mov rdx, rcx 000d6 48 8b c8 mov rcx, rax 000d9 48 3b c7 cmp rax, rdi 000dc 75 f2 jne SHORT $LL17@terminate $LN18@terminate: ; 922 : *prev = cursor->next; 000de 48 8b 07 mov rax, QWORD PTR [rdi] ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 000e1 48 8b cf mov rcx, rdi ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 922 : *prev = cursor->next; 000e4 48 89 02 mov QWORD PTR [rdx], rax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 000e7 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 000ee ff 15 18 00 00 00 call QWORD PTR _glfw+24 $LN93@terminate: ; 100 : ; 101 : while (_glfw.cursorListHead) 000f4 48 8b 3d 70 07 00 00 mov rdi, QWORD PTR _glfw+1904 000fb 48 8b 1d 78 07 00 00 mov rbx, QWORD PTR _glfw+1912 00102 48 85 ff test rdi, rdi 00105 0f 85 55 ff ff ff jne $LL4@terminate $LN5@terminate: ; 102 : glfwDestroyCursor((GLFWcursor*)_glfw.cursorListHead); ; 103 : ; 104 : for (i = 0; i < _glfw.monitorCount; i++) 0010b 39 2d 88 07 00 00 cmp DWORD PTR _glfw+1928, ebp 00111 8b f5 mov esi, ebp 00113 7e 44 jle SHORT $LN7@terminate 00115 48 8b fd mov rdi, rbp 00118 0f 1f 84 00 00 00 00 00 npad 8 $LL8@terminate: ; 105 : { ; 106 : _GLFWmonitor* monitor = _glfw.monitors[i]; 00120 48 8b 05 80 07 00 00 mov rax, QWORD PTR _glfw+1920 00127 48 8b 1c 07 mov rbx, QWORD PTR [rdi+rax] ; 107 : if (monitor->originalRamp.size) 0012b 39 ab d8 00 00 00 cmp DWORD PTR [rbx+216], ebp 00131 74 10 je SHORT $LN11@terminate ; 108 : _glfw.platform.setGammaRamp(monitor, &monitor->originalRamp); 00133 48 8d 93 c0 00 00 00 lea rdx, QWORD PTR [rbx+192] 0013a 48 8b cb mov rcx, rbx 0013d ff 15 08 01 00 00 call QWORD PTR _glfw+264 $LN11@terminate: ; 109 : _glfwFreeMonitor(monitor); 00143 48 8b cb mov rcx, rbx 00146 e8 00 00 00 00 call _glfwFreeMonitor 0014b ff c6 inc esi 0014d 48 83 c7 08 add rdi, 8 00151 3b 35 88 07 00 00 cmp esi, DWORD PTR _glfw+1928 00157 7c c7 jl SHORT $LL8@terminate $LN7@terminate: ; 110 : } ; 111 : ; 112 : _glfw_free(_glfw.monitors); 00159 48 8b 0d 80 07 00 00 mov rcx, QWORD PTR _glfw+1920 ; 320 : if (block) 00160 48 85 c9 test rcx, rcx 00163 74 0d je SHORT $LN30@terminate ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 00165 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 0016c ff 15 18 00 00 00 call QWORD PTR _glfw+24 $LN30@terminate: ; 113 : _glfw.monitors = NULL; ; 114 : _glfw.monitorCount = 0; ; 115 : ; 116 : _glfw_free(_glfw.mappings); 00172 48 8b 0d 90 19 00 00 mov rcx, QWORD PTR _glfw+6544 00179 48 89 2d 80 07 00 00 mov QWORD PTR _glfw+1920, rbp 00180 89 2d 88 07 00 00 mov DWORD PTR _glfw+1928, ebp ; 320 : if (block) 00186 48 85 c9 test rcx, rcx 00189 74 0d je SHORT $LN33@terminate ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 0018b 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 00192 ff 15 18 00 00 00 call QWORD PTR _glfw+24 $LN33@terminate: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\vulkan.c ; 160 : if (_glfw.vk.handle) 00198 48 8b 0d 28 1b 00 00 mov rcx, QWORD PTR _glfw+6952 ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 117 : _glfw.mappings = NULL; 0019f 48 89 2d 90 19 00 00 mov QWORD PTR _glfw+6544, rbp ; 118 : _glfw.mappingCount = 0; 001a6 89 2d 98 19 00 00 mov DWORD PTR _glfw+6552, ebp ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\vulkan.c ; 160 : if (_glfw.vk.handle) 001ac 48 85 c9 test rcx, rcx 001af 74 06 je SHORT $LN38@terminate ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_module.c ; 44 : FreeLibrary((HMODULE)module); 001b1 ff 15 00 00 00 00 call QWORD PTR __imp_FreeLibrary $LN38@terminate: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 121 : _glfw.platform.terminateJoysticks(); 001b7 ff 15 b0 00 00 00 call QWORD PTR _glfw+176 ; 122 : _glfw.platform.terminate(); 001bd ff 15 38 00 00 00 call QWORD PTR _glfw+56 ; 123 : ; 124 : _glfw.initialized = GLFW_FALSE; ; 125 : ; 126 : while (_glfw.errorListHead) 001c3 48 8b 0d 68 07 00 00 mov rcx, QWORD PTR _glfw+1896 001ca 89 2d 00 00 00 00 mov DWORD PTR _glfw, ebp 001d0 48 85 c9 test rcx, rcx 001d3 74 23 je SHORT $LN10@terminate $LL9@terminate: ; 127 : { ; 128 : _GLFWerror* error = _glfw.errorListHead; ; 129 : _glfw.errorListHead = error->next; 001d5 48 8b 01 mov rax, QWORD PTR [rcx] ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 001d8 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 ; 127 : { ; 128 : _GLFWerror* error = _glfw.errorListHead; ; 129 : _glfw.errorListHead = error->next; 001df 48 89 05 68 07 00 00 mov QWORD PTR _glfw+1896, rax ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 001e6 ff 15 18 00 00 00 call QWORD PTR _glfw+24 ; 123 : ; 124 : _glfw.initialized = GLFW_FALSE; ; 125 : ; 126 : while (_glfw.errorListHead) 001ec 48 8b 0d 68 07 00 00 mov rcx, QWORD PTR _glfw+1896 001f3 48 85 c9 test rcx, rcx 001f6 75 dd jne SHORT $LL9@terminate $LN10@terminate: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; 58 : if (tls->win32.allocated) 001f8 39 2d a4 19 00 00 cmp DWORD PTR _glfw+6564, ebp 001fe 74 0c je SHORT $LN44@terminate ; 59 : TlsFree(tls->win32.index); 00200 8b 0d a8 19 00 00 mov ecx, DWORD PTR _glfw+6568 00206 ff 15 00 00 00 00 call QWORD PTR __imp_TlsFree $LN44@terminate: ; 60 : memset(tls, 0, sizeof(_GLFWtls)); 0020c 33 c0 xor eax, eax ; 58 : if (tls->win32.allocated) 0020e 39 05 9c 19 00 00 cmp DWORD PTR _glfw+6556, eax ; 60 : memset(tls, 0, sizeof(_GLFWtls)); 00214 48 89 05 a4 19 00 00 mov QWORD PTR _glfw+6564, rax ; 58 : if (tls->win32.allocated) 0021b 74 0c je SHORT $LN47@terminate ; 59 : TlsFree(tls->win32.index); 0021d 8b 0d a0 19 00 00 mov ecx, DWORD PTR _glfw+6560 00223 ff 15 00 00 00 00 call QWORD PTR __imp_TlsFree $LN47@terminate: ; 60 : memset(tls, 0, sizeof(_GLFWtls)); 00229 33 c0 xor eax, eax ; 84 : if (mutex->win32.allocated) 0022b 39 05 b0 19 00 00 cmp DWORD PTR _glfw+6576, eax ; 60 : memset(tls, 0, sizeof(_GLFWtls)); 00231 48 89 05 9c 19 00 00 mov QWORD PTR _glfw+6556, rax ; 84 : if (mutex->win32.allocated) 00238 74 0d je SHORT $LN50@terminate ; 85 : DeleteCriticalSection(&mutex->win32.section); 0023a 48 8d 0d b8 19 00 00 lea rcx, OFFSET FLAT:_glfw+6584 00241 ff 15 00 00 00 00 call QWORD PTR __imp_DeleteCriticalSection $LN50@terminate: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 137 : memset(&_glfw, 0, sizeof(_glfw)); 00247 33 d2 xor edx, edx 00249 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:_glfw 00250 41 b8 28 2d 00 00 mov r8d, 11560 ; 00002d28H ; 138 : } 00256 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48] 0025b 48 8b 6c 24 38 mov rbp, QWORD PTR [rsp+56] 00260 48 8b 74 24 40 mov rsi, QWORD PTR [rsp+64] 00265 48 83 c4 20 add rsp, 32 ; 00000020H 00269 5f pop rdi ; 137 : memset(&_glfw, 0, sizeof(_glfw)); 0026a e9 00 00 00 00 jmp memset terminate ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT _glfw_strdup _TEXT SEGMENT source$ = 48 _glfw_strdup PROC ; COMDAT ; 230 : { $LN20: 00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx 00005 57 push rdi 00006 48 83 ec 20 sub rsp, 32 ; 00000020H 0000a 48 8b d9 mov rbx, rcx ; 231 : const size_t length = strlen(source); 0000d 48 c7 c7 ff ff ff ff mov rdi, -1 $LL14@glfw_strdu: 00014 48 ff c7 inc rdi 00017 80 3c 39 00 cmp BYTE PTR [rcx+rdi], 0 0001b 75 f7 jne SHORT $LL14@glfw_strdu ; 232 : char* result = _glfw_calloc(length + 1, 1); 0001d 48 83 c7 01 add rdi, 1 ; 273 : if (count && size) 00021 74 33 je SHORT $LN5@glfw_strdu ; 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); 00023 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 0002a 48 8b cf mov rcx, rdi 0002d ff 15 08 00 00 00 call QWORD PTR _glfw+8 ; 284 : if (block) 00033 48 85 c0 test rax, rax 00036 74 12 je SHORT $LN8@glfw_strdu ; 285 : return memset(block, 0, count * size); 00038 4c 8b c7 mov r8, rdi 0003b 33 d2 xor edx, edx 0003d 48 8b c8 mov rcx, rax 00040 e8 00 00 00 00 call memset 00045 48 8b c8 mov rcx, rax 00048 eb 0e jmp SHORT $LN6@glfw_strdu $LN8@glfw_strdu: ; 286 : else ; 287 : { ; 288 : _glfwInputError(GLFW_OUT_OF_MEMORY, NULL); 0004a 33 d2 xor edx, edx 0004c b9 05 00 01 00 mov ecx, 65541 ; 00010005H 00051 e8 00 00 00 00 call _glfwInputError $LN5@glfw_strdu: ; 233 : strcpy(result, source); 00056 33 c9 xor ecx, ecx $LN6@glfw_strdu: 00058 48 8b d1 mov rdx, rcx 0005b 48 2b d3 sub rdx, rbx 0005e 66 90 npad 2 $LL3@glfw_strdu: 00060 0f b6 03 movzx eax, BYTE PTR [rbx] 00063 88 04 1a mov BYTE PTR [rdx+rbx], al 00066 48 8d 5b 01 lea rbx, QWORD PTR [rbx+1] 0006a 84 c0 test al, al 0006c 75 f2 jne SHORT $LL3@glfw_strdu ; 234 : return result; ; 235 : } 0006e 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48] 00073 48 8b c1 mov rax, rcx 00076 48 83 c4 20 add rsp, 32 ; 00000020H 0007a 5f pop rdi 0007b c3 ret 0 _glfw_strdup ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT _glfw_min _TEXT SEGMENT a$ = 8 b$ = 16 _glfw_min PROC ; COMDAT ; 239 : return a < b ? a : b; 00000 3b ca cmp ecx, edx 00002 0f 4c d1 cmovl edx, ecx 00005 8b c2 mov eax, edx ; 240 : } 00007 c3 ret 0 _glfw_min ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT _glfw_max _TEXT SEGMENT a$ = 8 b$ = 16 _glfw_max PROC ; COMDAT ; 244 : return a > b ? a : b; 00000 3b ca cmp ecx, edx 00002 0f 4f d1 cmovg edx, ecx 00005 8b c2 mov eax, edx ; 245 : } 00007 c3 ret 0 _glfw_max ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT _glfw_fminf _TEXT SEGMENT a$ = 8 b$ = 16 _glfw_fminf PROC ; COMDAT ; 249 : if (a != a) 00000 0f 2e c0 ucomiss xmm0, xmm0 00003 7a 0a jp SHORT $LN6@glfw_fminf ; 250 : return b; ; 251 : else if (b != b) 00005 0f 2e c9 ucomiss xmm1, xmm1 00008 7a 08 jp SHORT $LN7@glfw_fminf ; 252 : return a; ; 253 : else if (a < b) 0000a 0f 2f c8 comiss xmm1, xmm0 0000d 77 03 ja SHORT $LN7@glfw_fminf $LN6@glfw_fminf: ; 254 : return a; ; 255 : else ; 256 : return b; 0000f 0f 28 c1 movaps xmm0, xmm1 $LN7@glfw_fminf: ; 257 : } 00012 c3 ret 0 _glfw_fminf ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT _glfw_fmaxf _TEXT SEGMENT a$ = 8 b$ = 16 _glfw_fmaxf PROC ; COMDAT ; 261 : if (a != a) 00000 0f 2e c0 ucomiss xmm0, xmm0 00003 7a 0a jp SHORT $LN6@glfw_fmaxf ; 262 : return b; ; 263 : else if (b != b) 00005 0f 2e c9 ucomiss xmm1, xmm1 00008 7a 08 jp SHORT $LN7@glfw_fmaxf ; 264 : return a; ; 265 : else if (a > b) 0000a 0f 2f c1 comiss xmm0, xmm1 0000d 77 03 ja SHORT $LN7@glfw_fmaxf $LN6@glfw_fmaxf: ; 266 : return a; ; 267 : else ; 268 : return b; 0000f 0f 28 c1 movaps xmm0, xmm1 $LN7@glfw_fmaxf: ; 269 : } 00012 c3 ret 0 _glfw_fmaxf ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT _glfw_realloc _TEXT SEGMENT block$ = 48 size$ = 56 _glfw_realloc PROC ; COMDAT ; 297 : { $LN27: 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b da mov rbx, rdx ; 298 : if (block && size) 00009 48 85 c9 test rcx, rcx 0000c 74 40 je SHORT $LN6@glfw_reall 0000e 48 85 d2 test rdx, rdx 00011 74 26 je SHORT $LN2@glfw_reall ; 299 : { ; 300 : void* resized = _glfw.allocator.reallocate(block, size, _glfw.allocator.user); 00013 4c 8b 05 20 00 00 00 mov r8, QWORD PTR _glfw+32 0001a ff 15 10 00 00 00 call QWORD PTR _glfw+16 ; 301 : if (resized) 00020 48 85 c0 test rax, rax 00023 75 0e jne SHORT $LN14@glfw_reall $LN16@glfw_reall: ; 302 : return resized; ; 303 : else ; 304 : { ; 305 : _glfwInputError(GLFW_OUT_OF_MEMORY, NULL); ; 306 : return NULL; ; 307 : } ; 308 : } ; 309 : else if (block) ; 310 : { ; 311 : _glfw_free(block); ; 312 : return NULL; ; 313 : } ; 314 : else ; 315 : return _glfw_calloc(1, size); ; 316 : } 00025 33 d2 xor edx, edx 00027 b9 05 00 01 00 mov ecx, 65541 ; 00010005H 0002c e8 00 00 00 00 call _glfwInputError $LN13@glfw_reall: 00031 33 c0 xor eax, eax $LN14@glfw_reall: 00033 48 83 c4 20 add rsp, 32 ; 00000020H 00037 5b pop rbx 00038 c3 ret 0 $LN2@glfw_reall: ; 321 : _glfw.allocator.deallocate(block, _glfw.allocator.user); 00039 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 00040 ff 15 18 00 00 00 call QWORD PTR _glfw+24 ; 302 : return resized; ; 303 : else ; 304 : { ; 305 : _glfwInputError(GLFW_OUT_OF_MEMORY, NULL); ; 306 : return NULL; ; 307 : } ; 308 : } ; 309 : else if (block) ; 310 : { ; 311 : _glfw_free(block); ; 312 : return NULL; ; 313 : } ; 314 : else ; 315 : return _glfw_calloc(1, size); ; 316 : } 00046 33 c0 xor eax, eax 00048 48 83 c4 20 add rsp, 32 ; 00000020H 0004c 5b pop rbx 0004d c3 ret 0 $LN6@glfw_reall: ; 273 : if (count && size) 0004e 48 85 db test rbx, rbx 00051 74 de je SHORT $LN13@glfw_reall ; 274 : { ; 275 : void* block; ; 276 : ; 277 : if (count > SIZE_MAX / size) 00053 33 d2 xor edx, edx 00055 48 c7 c0 ff ff ff ff mov rax, -1 0005c 48 f7 f3 div rbx 0005f 48 83 f8 01 cmp rax, 1 00063 73 19 jae SHORT $LN15@glfw_reall ; 278 : { ; 279 : _glfwInputError(GLFW_INVALID_VALUE, "Allocation size overflow"); 00065 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BJ@IHHANIOG@Allocation?5size?5overflow@ 0006c b9 04 00 01 00 mov ecx, 65540 ; 00010004H ; 302 : return resized; ; 303 : else ; 304 : { ; 305 : _glfwInputError(GLFW_OUT_OF_MEMORY, NULL); ; 306 : return NULL; ; 307 : } ; 308 : } ; 309 : else if (block) ; 310 : { ; 311 : _glfw_free(block); ; 312 : return NULL; ; 313 : } ; 314 : else ; 315 : return _glfw_calloc(1, size); ; 316 : } 00071 e8 00 00 00 00 call _glfwInputError 00076 33 c0 xor eax, eax 00078 48 83 c4 20 add rsp, 32 ; 00000020H 0007c 5b pop rbx 0007d c3 ret 0 $LN15@glfw_reall: ; 283 : block = _glfw.allocator.allocate(count * size, _glfw.allocator.user); 0007e 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 00085 48 8b cb mov rcx, rbx 00088 ff 15 08 00 00 00 call QWORD PTR _glfw+8 ; 284 : if (block) 0008e 48 85 c0 test rax, rax 00091 74 92 je SHORT $LN16@glfw_reall ; 285 : return memset(block, 0, count * size); 00093 4c 8b c3 mov r8, rbx 00096 33 d2 xor edx, edx 00098 48 8b c8 mov rcx, rax ; 302 : return resized; ; 303 : else ; 304 : { ; 305 : _glfwInputError(GLFW_OUT_OF_MEMORY, NULL); ; 306 : return NULL; ; 307 : } ; 308 : } ; 309 : else if (block) ; 310 : { ; 311 : _glfw_free(block); ; 312 : return NULL; ; 313 : } ; 314 : else ; 315 : return _glfw_calloc(1, size); ; 316 : } 0009b 48 83 c4 20 add rsp, 32 ; 00000020H 0009f 5b pop rbx ; 285 : return memset(block, 0, count * size); 000a0 e9 00 00 00 00 jmp memset _glfw_realloc ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\platform.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\platform.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.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_time.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT glfwInit _TEXT SEGMENT value$1 = 32 __$ArrayPad$ = 40 glfwInit PROC ; COMDAT ; 409 : { $LN98: 00000 48 83 ec 38 sub rsp, 56 ; 00000038H 00004 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0000b 48 33 c4 xor rax, rsp 0000e 48 89 44 24 28 mov QWORD PTR __$ArrayPad$[rsp], rax ; 410 : if (_glfw.initialized) 00013 83 3d 00 00 00 00 00 cmp DWORD PTR _glfw, 0 0001a 74 17 je SHORT $LN2@glfwInit ; 411 : return GLFW_TRUE; 0001c b8 01 00 00 00 mov eax, 1 ; 452 : } 00021 48 8b 4c 24 28 mov rcx, QWORD PTR __$ArrayPad$[rsp] 00026 48 33 cc xor rcx, rsp 00029 e8 00 00 00 00 call __security_check_cookie 0002e 48 83 c4 38 add rsp, 56 ; 00000038H 00032 c3 ret 0 $LN2@glfwInit: ; 412 : ; 413 : memset(&_glfw, 0, sizeof(_glfw)); 00033 33 c0 xor eax, eax 00035 48 89 5c 24 40 mov QWORD PTR [rsp+64], rbx 0003a 33 d2 xor edx, edx 0003c 48 89 05 00 00 00 00 mov QWORD PTR _glfw, rax 00043 41 b8 40 02 00 00 mov r8d, 576 ; 00000240H 00049 48 8d 0d 28 00 00 00 lea rcx, OFFSET FLAT:_glfw+40 00050 e8 00 00 00 00 call memset 00055 33 d2 xor edx, edx 00057 48 8d 0d 90 02 00 00 lea rcx, OFFSET FLAT:_glfw+656 0005e 41 b8 98 2a 00 00 mov r8d, 10904 ; 00002a98H 00064 e8 00 00 00 00 call memset ; 414 : _glfw.hints.init = _glfwInitHints; ; 415 : ; 416 : _glfw.allocator = _glfwInitAllocator; 00069 48 8b 05 08 00 00 00 mov rax, QWORD PTR _glfwInitAllocator+8 00070 48 8b 0d 00 00 00 00 mov rcx, QWORD PTR _glfwInitAllocator 00077 f2 0f 10 0d 20 00 00 00 movsd xmm1, QWORD PTR _glfwInitHints+32 0007f 48 89 05 10 00 00 00 mov QWORD PTR _glfw+16, rax 00086 48 8b 05 10 00 00 00 mov rax, QWORD PTR _glfwInitAllocator+16 0008d 48 89 05 18 00 00 00 mov QWORD PTR _glfw+24, rax 00094 48 8b 05 18 00 00 00 mov rax, QWORD PTR _glfwInitAllocator+24 0009b 48 89 05 20 00 00 00 mov QWORD PTR _glfw+32, rax 000a2 f2 0f 11 0d 88 02 00 00 movsd QWORD PTR _glfw+648, xmm1 000aa 48 89 0d 08 00 00 00 mov QWORD PTR _glfw+8, rcx 000b1 0f 10 15 00 00 00 00 movups xmm2, XMMWORD PTR _glfwInitHints 000b8 0f 10 05 10 00 00 00 movups xmm0, XMMWORD PTR _glfwInitHints+16 000bf 0f 11 15 68 02 00 00 movups XMMWORD PTR _glfw+616, xmm2 000c6 0f 11 05 78 02 00 00 movups XMMWORD PTR _glfw+632, xmm0 ; 417 : if (!_glfw.allocator.allocate) 000cd 48 85 c9 test rcx, rcx 000d0 75 2a jne SHORT $LN3@glfwInit ; 418 : { ; 419 : _glfw.allocator.allocate = defaultAllocate; 000d2 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:defaultAllocate 000d9 48 89 05 08 00 00 00 mov QWORD PTR _glfw+8, rax ; 420 : _glfw.allocator.reallocate = defaultReallocate; 000e0 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:defaultReallocate 000e7 48 89 05 10 00 00 00 mov QWORD PTR _glfw+16, rax ; 421 : _glfw.allocator.deallocate = defaultDeallocate; 000ee 48 8d 05 00 00 00 00 lea rax, OFFSET FLAT:defaultDeallocate 000f5 48 89 05 18 00 00 00 mov QWORD PTR _glfw+24, rax $LN3@glfwInit: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\platform.c ; 69 : desiredID != GLFW_PLATFORM_X11 && 000fc 66 0f 73 da 08 psrldq xmm2, 8 00101 33 db xor ebx, ebx 00103 66 41 0f 7e d0 movd r8d, xmm2 00108 41 8d 80 00 00 fa ff lea eax, DWORD PTR [r8-393216] 0010f 83 f8 04 cmp eax, 4 00112 76 1f jbe SHORT $LN16@glfwInit 00114 41 81 f8 05 00 06 00 cmp r8d, 393221 ; 00060005H 0011b 74 1f je SHORT $LN69@glfwInit ; 70 : desiredID != GLFW_PLATFORM_NULL) ; 71 : { ; 72 : _glfwInputError(GLFW_INVALID_ENUM, "Invalid platform ID 0x%08X", desiredID); 0011d 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BL@PBGFNEKP@Invalid?5platform?5ID?50x?$CF08X@ 00124 b9 03 00 01 00 mov ecx, 65539 ; 00010003H 00129 e8 00 00 00 00 call _glfwInputError ; 73 : return GLFW_FALSE; 0012e e9 dc 01 00 00 jmp $LN70@glfwInit $LN16@glfwInit: ; 74 : } ; 75 : ; 76 : // Only allow the Null platform if specifically requested ; 77 : if (desiredID == GLFW_PLATFORM_NULL) 00133 41 81 f8 05 00 06 00 cmp r8d, 393221 ; 00060005H 0013a 75 0e jne SHORT $LN19@glfwInit $LN69@glfwInit: ; 78 : return _glfwConnectNull(desiredID, platform); 0013c 48 8d 15 28 00 00 00 lea rdx, OFFSET FLAT:_glfw+40 00143 e8 00 00 00 00 call _glfwConnectNull 00148 eb 62 jmp SHORT $LN9@glfwInit $LN19@glfwInit: ; 79 : else if (count == 0) ; 80 : { ; 81 : _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, "This binary only supports the Null platform"); ; 82 : return GLFW_FALSE; ; 83 : } ; 84 : ; 85 : if (desiredID == GLFW_ANY_PLATFORM) 0014a 41 81 f8 00 00 06 00 cmp r8d, 393216 ; 00060000H 00151 75 12 jne SHORT $LN20@glfwInit ; 78 : return _glfwConnectNull(desiredID, platform); 00153 48 8d 15 28 00 00 00 lea rdx, OFFSET FLAT:_glfw+40 0015a 41 8d 48 01 lea ecx, QWORD PTR [r8+1] ; 86 : { ; 87 : // If there is exactly one platform available for auto-selection, let it emit the ; 88 : // error on failure as the platform-specific error description may be more helpful ; 89 : if (count == 1) ; 90 : return supportedPlatforms[0].connect(supportedPlatforms[0].ID, platform); 0015e e8 00 00 00 00 call _glfwConnectWin32 00163 eb 47 jmp SHORT $LN9@glfwInit $LN20@glfwInit: ; 91 : ; 92 : for (i = 0; i < count; i++) ; 93 : { ; 94 : if (supportedPlatforms[i].connect(desiredID, platform)) ; 95 : return GLFW_TRUE; ; 96 : } ; 97 : ; 98 : _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, "Failed to detect any supported platform"); ; 99 : } ; 100 : else ; 101 : { ; 102 : for (i = 0; i < count; i++) 00165 4c 8d 0d 00 00 00 00 lea r9, OFFSET FLAT:supportedPlatforms 0016c 48 8b c3 mov rax, rbx 0016f 49 8b c9 mov rcx, r9 $LL15@glfwInit: ; 103 : { ; 104 : if (supportedPlatforms[i].ID == desiredID) 00172 44 39 01 cmp DWORD PTR [rcx], r8d 00175 74 23 je SHORT $LN59@glfwInit ; 91 : ; 92 : for (i = 0; i < count; i++) ; 93 : { ; 94 : if (supportedPlatforms[i].connect(desiredID, platform)) ; 95 : return GLFW_TRUE; ; 96 : } ; 97 : ; 98 : _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, "Failed to detect any supported platform"); ; 99 : } ; 100 : else ; 101 : { ; 102 : for (i = 0; i < count; i++) 00177 48 ff c0 inc rax 0017a 48 83 c1 10 add rcx, 16 0017e 48 83 f8 01 cmp rax, 1 00182 72 ee jb SHORT $LL15@glfwInit ; 106 : } ; 107 : ; 108 : _glfwInputError(GLFW_PLATFORM_UNAVAILABLE, "The requested platform is not supported"); ; 109 : } ; 110 : ; 111 : return GLFW_FALSE; 00184 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CI@HCGBBANC@The?5requested?5platform?5is?5not?5s@ 0018b b9 0e 00 01 00 mov ecx, 65550 ; 0001000eH 00190 e8 00 00 00 00 call _glfwInputError ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 424 : if (!_glfwSelectPlatform(_glfw.hints.init.platformID, &_glfw.platform)) 00195 e9 75 01 00 00 jmp $LN70@glfwInit $LN59@glfwInit: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\platform.c ; 105 : return supportedPlatforms[i].connect(desiredID, platform); 0019a 48 03 c0 add rax, rax 0019d 48 8d 15 28 00 00 00 lea rdx, OFFSET FLAT:_glfw+40 001a4 41 8b c8 mov ecx, r8d 001a7 41 ff 54 c1 08 call QWORD PTR [r9+rax*8+8] $LN9@glfwInit: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 424 : if (!_glfwSelectPlatform(_glfw.hints.init.platformID, &_glfw.platform)) 001ac 85 c0 test eax, eax 001ae 0f 84 5b 01 00 00 je $LN70@glfwInit ; 425 : return GLFW_FALSE; ; 426 : ; 427 : if (!_glfw.platform.init()) 001b4 ff 15 30 00 00 00 call QWORD PTR _glfw+48 001ba 85 c0 test eax, eax 001bc 0f 84 48 01 00 00 je $LN7@glfwInit ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; 78 : InitializeCriticalSection(&mutex->win32.section); 001c2 48 8d 0d b8 19 00 00 lea rcx, OFFSET FLAT:_glfw+6584 001c9 ff 15 00 00 00 00 call QWORD PTR __imp_InitializeCriticalSection ; 79 : return mutex->win32.allocated = GLFW_TRUE; 001cf c7 05 b0 19 00 00 01 00 00 00 mov DWORD PTR _glfw+6576, 1 ; 45 : tls->win32.index = TlsAlloc(); 001d9 ff 15 00 00 00 00 call QWORD PTR __imp_TlsAlloc 001df 89 05 a0 19 00 00 mov DWORD PTR _glfw+6560, eax 001e5 83 f8 ff cmp eax, -1 ; ffffffffH ; 46 : if (tls->win32.index == TLS_OUT_OF_INDEXES) 001e8 0f 84 0b 01 00 00 je $LN74@glfwInit ; 49 : return GLFW_FALSE; ; 50 : } ; 51 : ; 52 : tls->win32.allocated = GLFW_TRUE; 001ee c7 05 9c 19 00 00 01 00 00 00 mov DWORD PTR _glfw+6556, 1 ; 45 : tls->win32.index = TlsAlloc(); 001f8 ff 15 00 00 00 00 call QWORD PTR __imp_TlsAlloc 001fe 89 05 a8 19 00 00 mov DWORD PTR _glfw+6568, eax 00204 83 f8 ff cmp eax, -1 ; ffffffffH ; 46 : if (tls->win32.index == TLS_OUT_OF_INDEXES) 00207 0f 84 ec 00 00 00 je $LN74@glfwInit ; 72 : TlsSetValue(tls->win32.index, value); 0020d 8b 0d a0 19 00 00 mov ecx, DWORD PTR _glfw+6560 00213 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:_glfwMainThreadError ; 46 : if (tls->win32.index == TLS_OUT_OF_INDEXES) 0021a 48 89 7c 24 30 mov QWORD PTR [rsp+48], rdi ; 49 : return GLFW_FALSE; ; 50 : } ; 51 : ; 52 : tls->win32.allocated = GLFW_TRUE; 0021f c7 05 a4 19 00 00 01 00 00 00 mov DWORD PTR _glfw+6564, 1 ; 72 : TlsSetValue(tls->win32.index, value); 00229 ff 15 00 00 00 00 call QWORD PTR __imp_TlsSetValue ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 283 : block = _glfw.allocator.allocate(count * size, _glfw.allocator.user); 0022f 48 8b 15 20 00 00 00 mov rdx, QWORD PTR _glfw+32 00236 b9 51 5d 01 00 mov ecx, 89425 ; 00015d51H 0023b ff 15 08 00 00 00 call QWORD PTR _glfw+8 ; 284 : if (block) 00241 48 85 c0 test rax, rax 00244 74 15 je SHORT $LN48@glfwInit ; 285 : return memset(block, 0, count * size); 00246 33 d2 xor edx, edx 00248 41 b8 51 5d 01 00 mov r8d, 89425 ; 00015d51H 0024e 48 8b c8 mov rcx, rax 00251 e8 00 00 00 00 call memset 00256 48 8b d0 mov rdx, rax 00259 eb 0f jmp SHORT $LN46@glfwInit $LN48@glfwInit: ; 286 : else ; 287 : { ; 288 : _glfwInputError(GLFW_OUT_OF_MEMORY, NULL); 0025b 33 d2 xor edx, edx 0025d b9 05 00 01 00 mov ecx, 65541 ; 00010005H 00262 e8 00 00 00 00 call _glfwInputError ; 289 : return NULL; 00267 48 8b d3 mov rdx, rbx $LN46@glfwInit: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\input.c ; 491 : _glfw.mappings = _glfw_calloc(count, sizeof(_GLFWmapping)); 0026a 48 89 15 90 19 00 00 mov QWORD PTR _glfw+6544, rdx 00271 48 8d 3d 00 00 00 00 lea rdi, OFFSET FLAT:_glfwDefaultMappings 00278 0f 1f 84 00 00 00 00 00 npad 8 $LL41@glfwInit: ; 494 : { ; 495 : if (parseMapping(&_glfw.mappings[_glfw.mappingCount], _glfwDefaultMappings[i])) 00280 48 63 05 98 19 00 00 movsxd rax, DWORD PTR _glfw+6552 00287 48 69 c8 f5 00 00 00 imul rcx, rax, 245 ; 000000f5H 0028e 48 03 ca add rcx, rdx 00291 48 8b 14 3b mov rdx, QWORD PTR [rbx+rdi] 00295 e8 00 00 00 00 call parseMapping 0029a 85 c0 test eax, eax 0029c 74 06 je SHORT $LN39@glfwInit ; 496 : _glfw.mappingCount++; 0029e ff 05 98 19 00 00 inc DWORD PTR _glfw+6552 $LN39@glfwInit: ; 492 : ; 493 : for (i = 0; i < count; i++) 002a4 48 83 c3 08 add rbx, 8 002a8 48 81 fb 68 0b 00 00 cmp rbx, 2920 ; 00000b68H 002af 73 09 jae SHORT $LN82@glfwInit 002b1 48 8b 15 90 19 00 00 mov rdx, QWORD PTR _glfw+6544 002b8 eb c6 jmp SHORT $LL41@glfwInit $LN82@glfwInit: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_time.c ; 40 : QueryPerformanceFrequency((LARGE_INTEGER*) &_glfw.timer.win32.frequency); 002ba 48 8d 0d e8 19 00 00 lea rcx, OFFSET FLAT:_glfw+6632 002c1 ff 15 00 00 00 00 call QWORD PTR __imp_QueryPerformanceFrequency ; 46 : QueryPerformanceCounter((LARGE_INTEGER*) &value); 002c7 48 8d 4c 24 20 lea rcx, QWORD PTR value$1[rsp] 002cc ff 15 00 00 00 00 call QWORD PTR __imp_QueryPerformanceCounter ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 446 : _glfw.timer.offset = _glfwPlatformGetTimerValue(); 002d2 48 8b 44 24 20 mov rax, QWORD PTR value$1[rsp] 002d7 48 89 05 e0 19 00 00 mov QWORD PTR _glfw+6624, rax ; 447 : ; 448 : _glfw.initialized = GLFW_TRUE; 002de c7 05 00 00 00 00 01 00 00 00 mov DWORD PTR _glfw, 1 ; 449 : ; 450 : glfwDefaultWindowHints(); 002e8 e8 00 00 00 00 call glfwDefaultWindowHints ; 451 : return GLFW_TRUE; 002ed 48 8b 7c 24 30 mov rdi, QWORD PTR [rsp+48] 002f2 b8 01 00 00 00 mov eax, 1 002f7 eb 18 jmp SHORT $LN96@glfwInit $LN74@glfwInit: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; 48 : _glfwInputError(GLFW_PLATFORM_ERROR, "Win32: Failed to allocate TLS index"); 002f9 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CE@MEIEKJIC@Win32?3?5Failed?5to?5allocate?5TLS?5i@ 00300 b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00305 e8 00 00 00 00 call _glfwInputError $LN7@glfwInit: ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 437 : terminate(); 0030a e8 00 00 00 00 call terminate $LN70@glfwInit: ; 438 : return GLFW_FALSE; 0030f 33 c0 xor eax, eax $LN96@glfwInit: 00311 48 8b 5c 24 40 mov rbx, QWORD PTR [rsp+64] ; 452 : } 00316 48 8b 4c 24 28 mov rcx, QWORD PTR __$ArrayPad$[rsp] 0031b 48 33 cc xor rcx, rsp 0031e e8 00 00 00 00 call __security_check_cookie 00323 48 83 c4 38 add rsp, 56 ; 00000038H 00327 c3 ret 0 glfwInit ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT glfwTerminate _TEXT SEGMENT glfwTerminate PROC ; COMDAT ; 456 : if (!_glfw.initialized) 00000 83 3d 00 00 00 00 00 cmp DWORD PTR _glfw, 0 00007 0f 85 00 00 00 00 jne terminate $LN1@glfwTermin: ; 457 : return; ; 458 : ; 459 : terminate(); ; 460 : } 0000d c3 ret 0 glfwTerminate ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT glfwInitHint _TEXT SEGMENT hint$ = 8 value$ = 16 glfwInitHint PROC ; COMDAT ; 464 : switch (hint) 00000 81 f9 01 10 05 00 cmp ecx, 331777 ; 00051001H 00006 7f 36 jg SHORT $LN12@glfwInitHi 00008 74 2d je SHORT $LN7@glfwInitHi 0000a 44 8b c1 mov r8d, ecx 0000d 41 81 e8 01 00 05 00 sub r8d, 327681 ; 00050001H 00014 74 1a je SHORT $LN4@glfwInitHi 00016 41 83 e8 01 sub r8d, 1 0001a 74 0d je SHORT $LN5@glfwInitHi 0001c 41 83 f8 01 cmp r8d, 1 00020 75 34 jne SHORT $LN2@glfwInitHi ; 471 : return; ; 472 : case GLFW_PLATFORM: ; 473 : _glfwInitHints.platformID = value; 00022 89 15 08 00 00 00 mov DWORD PTR _glfwInitHints+8, edx ; 490 : "Invalid init hint 0x%08X", hint); ; 491 : } 00028 c3 ret 0 $LN5@glfwInitHi: ; 468 : return; ; 469 : case GLFW_ANGLE_PLATFORM_TYPE: ; 470 : _glfwInitHints.angleType = value; 00029 89 15 04 00 00 00 mov DWORD PTR _glfwInitHints+4, edx ; 490 : "Invalid init hint 0x%08X", hint); ; 491 : } 0002f c3 ret 0 $LN4@glfwInitHi: ; 465 : { ; 466 : case GLFW_JOYSTICK_HAT_BUTTONS: ; 467 : _glfwInitHints.hatButtons = value; 00030 89 15 00 00 00 00 mov DWORD PTR _glfwInitHints, edx ; 490 : "Invalid init hint 0x%08X", hint); ; 491 : } 00036 c3 ret 0 $LN7@glfwInitHi: ; 474 : return; ; 475 : case GLFW_COCOA_CHDIR_RESOURCES: ; 476 : _glfwInitHints.ns.chdir = value; 00037 89 15 1c 00 00 00 mov DWORD PTR _glfwInitHints+28, edx ; 490 : "Invalid init hint 0x%08X", hint); ; 491 : } 0003d c3 ret 0 $LN12@glfwInitHi: ; 464 : switch (hint) 0003e 81 f9 02 10 05 00 cmp ecx, 331778 ; 00051002H 00044 74 32 je SHORT $LN8@glfwInitHi 00046 81 f9 01 20 05 00 cmp ecx, 335873 ; 00052001H 0004c 74 23 je SHORT $LN9@glfwInitHi 0004e 81 f9 01 30 05 00 cmp ecx, 339969 ; 00053001H 00054 74 14 je SHORT $LN10@glfwInitHi $LN2@glfwInitHi: ; 486 : return; ; 487 : } ; 488 : ; 489 : _glfwInputError(GLFW_INVALID_ENUM, 00056 44 8b c1 mov r8d, ecx 00059 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BJ@HDECIKCI@Invalid?5init?5hint?50x?$CF08X@ 00060 b9 03 00 01 00 mov ecx, 65539 ; 00010003H 00065 e9 00 00 00 00 jmp _glfwInputError $LN10@glfwInitHi: ; 483 : return; ; 484 : case GLFW_WAYLAND_LIBDECOR: ; 485 : _glfwInitHints.wl.libdecorMode = value; 0006a 89 15 24 00 00 00 mov DWORD PTR _glfwInitHints+36, edx ; 490 : "Invalid init hint 0x%08X", hint); ; 491 : } 00070 c3 ret 0 $LN9@glfwInitHi: ; 480 : return; ; 481 : case GLFW_X11_XCB_VULKAN_SURFACE: ; 482 : _glfwInitHints.x11.xcbVulkanSurface = value; 00071 89 15 20 00 00 00 mov DWORD PTR _glfwInitHints+32, edx ; 490 : "Invalid init hint 0x%08X", hint); ; 491 : } 00077 c3 ret 0 $LN8@glfwInitHi: ; 477 : return; ; 478 : case GLFW_COCOA_MENUBAR: ; 479 : _glfwInitHints.ns.menubar = value; 00078 89 15 18 00 00 00 mov DWORD PTR _glfwInitHints+24, edx ; 490 : "Invalid init hint 0x%08X", hint); ; 491 : } 0007e c3 ret 0 glfwInitHint ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT glfwInitAllocator _TEXT SEGMENT allocator$ = 8 glfwInitAllocator PROC ; COMDAT ; 495 : if (allocator) 00000 48 85 c9 test rcx, rcx 00003 74 3b je SHORT $LN2@glfwInitAl ; 496 : { ; 497 : if (allocator->allocate && allocator->reallocate && allocator->deallocate) 00005 48 83 39 00 cmp QWORD PTR [rcx], 0 00009 74 24 je SHORT $LN4@glfwInitAl 0000b 48 83 79 08 00 cmp QWORD PTR [rcx+8], 0 00010 74 1d je SHORT $LN4@glfwInitAl 00012 48 83 79 10 00 cmp QWORD PTR [rcx+16], 0 00017 74 16 je SHORT $LN4@glfwInitAl ; 498 : _glfwInitAllocator = *allocator; 00019 0f 10 01 movups xmm0, XMMWORD PTR [rcx] 0001c 0f 11 05 00 00 00 00 movups XMMWORD PTR _glfwInitAllocator, xmm0 00023 0f 10 49 10 movups xmm1, XMMWORD PTR [rcx+16] 00027 0f 11 0d 10 00 00 00 movups XMMWORD PTR _glfwInitAllocator+16, xmm1 ; 504 : } 0002e c3 ret 0 $LN4@glfwInitAl: ; 499 : else ; 500 : _glfwInputError(GLFW_INVALID_VALUE, "Missing function in allocator"); 0002f 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0BO@NOJEGBJM@Missing?5function?5in?5allocator@ 00036 b9 04 00 01 00 mov ecx, 65540 ; 00010004H 0003b e9 00 00 00 00 jmp _glfwInputError $LN2@glfwInitAl: 00040 0f 57 c0 xorps xmm0, xmm0 ; 501 : } ; 502 : else ; 503 : memset(&_glfwInitAllocator, 0, sizeof(GLFWallocator)); 00043 0f 11 05 00 00 00 00 movups XMMWORD PTR _glfwInitAllocator, xmm0 0004a 0f 11 05 10 00 00 00 movups XMMWORD PTR _glfwInitAllocator+16, xmm0 ; 504 : } 00051 c3 ret 0 glfwInitAllocator ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT glfwInitVulkanLoader _TEXT SEGMENT loader$ = 8 glfwInitVulkanLoader PROC ; COMDAT ; 508 : _glfwInitHints.vulkanLoader = loader; 00000 48 89 0d 10 00 00 00 mov QWORD PTR _glfwInitHints+16, rcx ; 509 : } 00007 c3 ret 0 glfwInitVulkanLoader ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT glfwGetVersion _TEXT SEGMENT major$ = 8 minor$ = 16 rev$ = 24 glfwGetVersion PROC ; COMDAT ; 513 : if (major != NULL) 00000 48 85 c9 test rcx, rcx 00003 74 06 je SHORT $LN2@glfwGetVer ; 514 : *major = GLFW_VERSION_MAJOR; 00005 c7 01 03 00 00 00 mov DWORD PTR [rcx], 3 $LN2@glfwGetVer: ; 515 : if (minor != NULL) 0000b 48 85 d2 test rdx, rdx 0000e 74 06 je SHORT $LN3@glfwGetVer ; 516 : *minor = GLFW_VERSION_MINOR; 00010 c7 02 04 00 00 00 mov DWORD PTR [rdx], 4 $LN3@glfwGetVer: ; 517 : if (rev != NULL) 00016 4d 85 c0 test r8, r8 00019 74 07 je SHORT $LN4@glfwGetVer ; 518 : *rev = GLFW_VERSION_REVISION; 0001b 41 c7 00 00 00 00 00 mov DWORD PTR [r8], 0 $LN4@glfwGetVer: ; 519 : } 00022 c3 ret 0 glfwGetVersion ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT glfwGetError _TEXT SEGMENT description$ = 48 glfwGetError PROC ; COMDAT ; 522 : { $LN20: 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b d9 mov rbx, rcx ; 523 : _GLFWerror* error; ; 524 : int code = GLFW_NO_ERROR; ; 525 : ; 526 : if (description) 00009 48 85 c9 test rcx, rcx 0000c 74 07 je SHORT $LN2@glfwGetErr ; 527 : *description = NULL; 0000e 48 c7 01 00 00 00 00 mov QWORD PTR [rcx], 0 $LN2@glfwGetErr: ; 528 : ; 529 : if (_glfw.initialized) 00015 83 3d 00 00 00 00 00 cmp DWORD PTR _glfw, 0 0001c 74 1a je SHORT $LN3@glfwGetErr ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; 66 : return TlsGetValue(tls->win32.index); 0001e 8b 0d a0 19 00 00 mov ecx, DWORD PTR _glfw+6560 00024 ff 15 00 00 00 00 call QWORD PTR __imp_TlsGetValue 0002a 48 8b c8 mov rcx, rax ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; 534 : if (error) 0002d 48 85 c0 test rax, rax 00030 75 0d jne SHORT $LN10@glfwGetErr ; 540 : } ; 541 : ; 542 : return code; ; 543 : } 00032 48 83 c4 20 add rsp, 32 ; 00000020H 00036 5b pop rbx 00037 c3 ret 0 $LN3@glfwGetErr: ; 530 : error = _glfwPlatformGetTls(&_glfw.errorSlot); ; 531 : else ; 532 : error = &_glfwMainThreadError; 00038 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:_glfwMainThreadError $LN10@glfwGetErr: ; 535 : { ; 536 : code = error->code; 0003f 8b 41 08 mov eax, DWORD PTR [rcx+8] ; 537 : error->code = GLFW_NO_ERROR; 00042 c7 41 08 00 00 00 00 mov DWORD PTR [rcx+8], 0 ; 538 : if (description && code) 00049 48 85 db test rbx, rbx 0004c 74 0b je SHORT $LN11@glfwGetErr 0004e 85 c0 test eax, eax 00050 74 07 je SHORT $LN11@glfwGetErr ; 539 : *description = error->description; 00052 48 83 c1 0c add rcx, 12 00056 48 89 0b mov QWORD PTR [rbx], rcx $LN11@glfwGetErr: ; 540 : } ; 541 : ; 542 : return code; ; 543 : } 00059 48 83 c4 20 add rsp, 32 ; 00000020H 0005d 5b pop rbx 0005e c3 ret 0 glfwGetError ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\init.c ; COMDAT glfwSetErrorCallback _TEXT SEGMENT cbfun$ = 8 glfwSetErrorCallback PROC ; COMDAT ; 547 : _GLFW_SWAP(GLFWerrorfun, _glfwErrorCallback, cbfun); 00000 48 8b 05 00 00 00 00 mov rax, QWORD PTR _glfwErrorCallback 00007 48 89 0d 00 00 00 00 mov QWORD PTR _glfwErrorCallback, rcx ; 548 : return cbfun; ; 549 : } 0000e c3 ret 0 glfwSetErrorCallback ENDP _TEXT ENDS END