Files
stgsharp/实验/contexttest/StgSharpC/x64/Debug/StgSharpC.cod
T

1347 lines
35 KiB
Plaintext

; Listing generated by Microsoft (R) Optimizing Compiler Version 19.39.33519.0
include listing.inc
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
PUBLIC infolog
_BSS SEGMENT
infolog DQ 0200H DUP (?)
_BSS ENDS
_DATA SEGMENT
COMM currentContext:QWORD
_DATA ENDS
msvcjmc SEGMENT
__0ED14FEE_winpackagefamily@h DB 01H
__F92EF742_winapifamily@h DB 01H
__22E515EB_sdkddkver@h DB 01H
__4B783B3C_concurrencysal@h DB 01H
__137BB1BE_sal@h DB 01H
__805F4069_vadefs@h DB 01H
__1EAACA9B_vcruntime@h DB 01H
__1227BCE2_excpt@h DB 01H
__CC8D90C0_stdarg@h DB 01H
__29F49F40_specstrings_undef@h DB 01H
__D0F42932_specstrings_strict@h DB 01H
__F00405FD_sdv_driverspecs@h DB 01H
__173E09CA_driverspecs@h DB 01H
__9A452361_specstrings@h DB 01H
__1B0272D9_corecrt@h DB 01H
__74484FB3_corecrt_wctype@h DB 01H
__1EC467ED_ctype@h DB 01H
__98517906_kernelspecs@h DB 01H
__D3497022_basetsd@h DB 01H
__61CC25A1_errno@h DB 01H
__0504B279_vcruntime_string@h DB 01H
__E4C945B4_corecrt_memcpy_s@h DB 01H
__8EAFF484_corecrt_memory@h DB 01H
__6490AEC5_corecrt_wstring@h DB 01H
__E8295E1E_string@h DB 01H
__7FCB5136_guiddef@h DB 01H
__FF8A9E11_pshpack4@h DB 01H
__D5438902_poppack@h DB 01H
__FB07E2A3_pshpack2@h DB 01H
__F6906775_pshpack8@h DB 01H
__F9415CFA_pshpack1@h DB 01H
__E58C6F1C_apiset@h DB 01H
__A5C52262_ktmtypes@h DB 01H
__FBBA8F9D_winnt@h DB 01H
__A32D3D2C_minwindef@h DB 01H
__7D798299_windef@h DB 01H
__9AE108E9_apisetcconv@h DB 01H
__9CE53D2C_minwinbase@h DB 01H
__5D0AA210_apiquery2@h DB 01H
__4DD4E726_processenv@h DB 01H
__3575CC96_fileapi@h DB 01H
__8EA220E6_fileapifromapp@h DB 01H
__BF9B31FE_debugapi@h DB 01H
__C3AFE134_utilapiset@h DB 01H
__76F69E51_handleapi@h DB 01H
__7E63D784_errhandlingapi@h DB 01H
__FFA7003C_fibersapi@h DB 01H
__8971CECF_namedpipeapi@h DB 01H
__46C9D8A6_profileapi@h DB 01H
__98D4F0A3_heapapi@h DB 01H
__50EF2A88_ioapiset@h DB 01H
__92EA1464_synchapi@h DB 01H
__A53D8AED_interlockedapi@h DB 01H
__B506CAAF_processthreadsapi@h DB 01H
__FF735694_sysinfoapi@h DB 01H
__29589789_memoryapi@h DB 01H
__E9C7A663_enclaveapi@h DB 01H
__D035F9F7_threadpoollegacyapiset@h DB 01H
__C899130C_threadpoolapiset@h DB 01H
__E0441EE7_jobapi@h DB 01H
__CEF86838_jobapi2@h DB 01H
__35AC6B9A_wow64apiset@h DB 01H
__C8AE41A5_libloaderapi@h DB 01H
__CC9E232D_securitybaseapi@h DB 01H
__C9D0C9B8_namespaceapi@h DB 01H
__30FF9CAD_systemtopologyapi@h DB 01H
__4D358795_processtopologyapi@h DB 01H
__40446D10_securityappcontainer@h DB 01H
__3A952EDF_realtimeapiset@h DB 01H
__F4865F4B_winerror@h DB 01H
__53C1BD93_timezoneapi@h DB 01H
__1FFBEDBF_winbase@h DB 01H
__43D3FA34_wingdi@h DB 01H
__D24A7391_tvout@h DB 01H
__7713A6C8_winuser@h DB 01H
__0B345F71_datetimeapi@h DB 01H
__9AC6960C_winnls@h DB 01H
__973A40A8_stringapiset@h DB 01H
__CC46FEE2_wincontypes@h DB 01H
__97D70BE1_consoleapi@h DB 01H
__27EC5E18_consoleapi2@h DB 01H
__262E342F_consoleapi3@h DB 01H
__641DCD70_wincon@h DB 01H
__5A96C7A7_verrsrc@h DB 01H
__B69C6FF2_winver@h DB 01H
__7AEB8C37_reason@h DB 01H
__59F1A8A9_winreg@h DB 01H
__EE0E2B7F_wnnc@h DB 01H
__DCDB7054_winnetwk@h DB 01H
__81DDEDE3_stralign@h DB 01H
__2134D1B4_winsvc@h DB 01H
__11C07376_mcx@h DB 01H
__577CE3E7_ime_cmodes@h DB 01H
__1E72C31E_imm@h DB 01H
__E15BF856_windows@h DB 01H
__FA48C214_ssgc_framework@h DB 01H
__F8522E0F_stdint@h DB 01H
__761E84A4_KHRplatform@h DB 01H
__D5035E09_glad_gl@h DB 01H
__13F5961F_stddef@h DB 01H
__6C418DCA_ssgc_internal@h DB 01H
__8E16B543_glfw3@h DB 01H
__58BCF33E_glad_wgl@h DB 01H
__5BC5AF51_mmintrin@h DB 01H
__45DED006_corecrt_malloc@h DB 01H
__FA77ED4C_malloc@h DB 01H
__9E7FA6CF_xmmintrin@h DB 01H
__FB1D2F03_emmintrin@h DB 01H
__24BC478A_pmmintrin@h DB 01H
__94653408_tmmintrin@h DB 01H
__BD5E218B_smmintrin@h DB 01H
__D83CA847_nmmintrin@h DB 01H
__0D875209_wmmintrin@h DB 01H
__C6131F0E_zmmintrin@h DB 01H
__F107BDC4_immintrin@h DB 01H
__44420885_corecrt_stdio_config@h DB 01H
__AB601D8D_corecrt_wstdio@h DB 01H
__C1EC35D3_stdio@h DB 01H
__FD6DBD68_corecrt_search@h DB 01H
__E2E33A61_corecrt_wstdlib@h DB 01H
__46240030_limits@h DB 01H
__6E5ACABA_stdlib@h DB 01H
__A27F041F_stb_image@h DB 01H
__3E20A821_StgSharpC@h DB 01H
__906F587E_StgSharpC@c DB 01H
msvcjmc ENDS
PUBLIC __local_stdio_printf_options
PUBLIC _vfprintf_l
PUBLIC printf
PUBLIC printShaderCode
PUBLIC initGL
PUBLIC loadShaderCode
PUBLIC linkShaderProgram
PUBLIC loadImageData
PUBLIC unloadImageData
PUBLIC readLog
PUBLIC FrameBufferSizeCallback
PUBLIC main
PUBLIC __JustMyCode_Default
PUBLIC ??_C@_0N@GKNDDPDN@Test?5Context@ ; `string'
PUBLIC __real@3e99999a
PUBLIC __real@3f000000
PUBLIC __real@3f19999a
PUBLIC __real@3f800000
EXTRN gladLoadGLContext:PROC
EXTRN glfwInit:PROC
EXTRN glfwWindowHint:PROC
EXTRN glfwCreateWindow:PROC
EXTRN glfwWindowShouldClose:PROC
EXTRN glfwSetFramebufferSizeCallback:PROC
EXTRN glfwPollEvents:PROC
EXTRN glfwMakeContextCurrent:PROC
EXTRN glfwSwapBuffers:PROC
EXTRN glfwGetProcAddress:PROC
EXTRN __imp_free:PROC
EXTRN __imp_malloc:PROC
EXTRN __imp___acrt_iob_func:PROC
EXTRN __imp___stdio_common_vfprintf:PROC
EXTRN stbi_load:PROC
EXTRN _RTC_CheckStackVars:PROC
EXTRN _RTC_InitBase:PROC
EXTRN _RTC_Shutdown:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN __GSHandlerCheck:PROC
EXTRN __security_check_cookie:PROC
EXTRN __security_cookie:QWORD
EXTRN _fltused:DWORD
_DATA SEGMENT
COMM ?_OptionsStorage@?1??__local_stdio_printf_options@@9@9:QWORD ; `__local_stdio_printf_options'::`2'::_OptionsStorage
_DATA ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$__local_stdio_printf_options DD imagerel $LN3
DD imagerel $LN3+44
DD imagerel $unwind$__local_stdio_printf_options
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_vfprintf_l DD imagerel $LN3
DD imagerel $LN3+103
DD imagerel $unwind$_vfprintf_l
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$printf DD imagerel $LN3
DD imagerel $LN3+191
DD imagerel $unwind$printf
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$printShaderCode DD imagerel $LN3
DD imagerel $LN3+56
DD imagerel $unwind$printShaderCode
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$initGL DD imagerel $LN3
DD imagerel $LN3+96
DD imagerel $unwind$initGL
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$loadShaderCode DD imagerel $LN7
DD imagerel $LN7+317
DD imagerel $unwind$loadShaderCode
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$linkShaderProgram DD imagerel $LN5
DD imagerel $LN5+223
DD imagerel $unwind$linkShaderProgram
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$loadImageData DD imagerel $LN4
DD imagerel $LN4+142
DD imagerel $unwind$loadImageData
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$unloadImageData DD imagerel $LN3
DD imagerel $LN3+58
DD imagerel $unwind$unloadImageData
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$readLog DD imagerel $LN3
DD imagerel $LN3+71
DD imagerel $unwind$readLog
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$FrameBufferSizeCallback DD imagerel $LN3
DD imagerel $LN3+85
DD imagerel $unwind$FrameBufferSizeCallback
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$main DD imagerel $LN5
DD imagerel $LN5+281
DD imagerel $unwind$main
pdata ENDS
; COMDAT __real@3f800000
CONST SEGMENT
__real@3f800000 DD 03f800000r ; 1
CONST ENDS
; COMDAT __real@3f19999a
CONST SEGMENT
__real@3f19999a DD 03f19999ar ; 0.6
CONST ENDS
; COMDAT __real@3f000000
CONST SEGMENT
__real@3f000000 DD 03f000000r ; 0.5
CONST ENDS
; COMDAT __real@3e99999a
CONST SEGMENT
__real@3e99999a DD 03e99999ar ; 0.3
CONST ENDS
; COMDAT rtc$TMZ
rtc$TMZ SEGMENT
_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown
rtc$TMZ ENDS
; COMDAT rtc$IMZ
rtc$IMZ SEGMENT
_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase
rtc$IMZ ENDS
; COMDAT ??_C@_0N@GKNDDPDN@Test?5Context@
CONST SEGMENT
??_C@_0N@GKNDDPDN@Test?5Context@ DB 'Test Context', 00H ; `string'
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$main DD 035050f01H
DD 010a330fH
DD 070030023H
DD 05002H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$FrameBufferSizeCallback DD 025052001H
DD 011b2320H
DD 07014001dH
DD 05013H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$readLog DD 025050f01H
DD 010a230fH
DD 07003001dH
DD 05002H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$unloadImageData DD 025051301H
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$loadImageData DD 035051d01H
DD 0118331dH
DD 07011001fH
DD 05010H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 03aH
DB 0c6H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$linkShaderProgram DD 025054119H
DD 01122317H
DD 0700b0021H
DD 0500aH
DD imagerel __GSHandlerCheck
DD 0f8H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
linkShaderProgram$rtcName$0 DB 073H
DB 075H
DB 063H
DB 063H
DB 065H
DB 073H
DB 073H
DB 00H
ORG $+8
linkShaderProgram$rtcVarDesc DD 024H
DD 04H
DQ FLAT:linkShaderProgram$rtcName$0
ORG $+48
linkShaderProgram$rtcFrameData DD 01H
DD 00H
DQ FLAT:linkShaderProgram$rtcVarDesc
CONST ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 040H
DW 0124H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$loadShaderCode DD 025054719H
DD 0118231dH
DD 070110025H
DD 05010H
DD imagerel __GSHandlerCheck
DD 0118H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
loadShaderCode$rtcName$0 DB 073H
DB 075H
DB 063H
DB 063H
DB 065H
DB 073H
DB 073H
DB 00H
ORG $+8
loadShaderCode$rtcVarDesc DD 044H
DD 04H
DQ FLAT:loadShaderCode$rtcName$0
ORG $+48
loadShaderCode$rtcFrameData DD 01H
DD 00H
DQ FLAT:loadShaderCode$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$initGL DD 025051601H
DD 01112316H
DD 0700a001dH
DD 05009H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$printShaderCode DD 025051301H
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 045H
DB 0a6H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$printf DD 025054c19H
DD 011d2322H
DD 070160025H
DD 05015H
DD imagerel __GSHandlerCheck
DD 0118H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
printf$rtcName$0 DB 05fH
DB 041H
DB 072H
DB 067H
DB 04cH
DB 069H
DB 073H
DB 074H
DB 00H
ORG $+7
printf$rtcVarDesc DD 048H
DD 08H
DQ FLAT:printf$rtcName$0
ORG $+48
printf$rtcFrameData DD 01H
DD 00H
DQ FLAT:printf$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_vfprintf_l DD 035052201H
DD 011d3322H
DD 07016001fH
DD 05015H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$__local_stdio_printf_options DD 025050f01H
DD 010a230fH
DD 07003001dH
DD 05002H
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
00000 c2 00 00 ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\实验\contexttest\StgSharpC\StgSharpC.c
; COMDAT main
_TEXT SEGMENT
window$ = 8
main PROC ; COMDAT
; 16 : {
$LN5:
00000 40 55 push rbp
00002 57 push rdi
00003 48 81 ec 18 01
00 00 sub rsp, 280 ; 00000118H
0000a 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
0000f 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__906F587E_StgSharpC@c
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 17 : glfwInit();
0001b e8 00 00 00 00 call glfwInit
; 18 : glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
00020 ba 04 00 00 00 mov edx, 4
00025 b9 02 20 02 00 mov ecx, 139266 ; 00022002H
0002a e8 00 00 00 00 call glfwWindowHint
; 19 : glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6);
0002f ba 06 00 00 00 mov edx, 6
00034 b9 03 20 02 00 mov ecx, 139267 ; 00022003H
00039 e8 00 00 00 00 call glfwWindowHint
; 20 : glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
0003e ba 01 20 03 00 mov edx, 204801 ; 00032001H
00043 b9 08 20 02 00 mov ecx, 139272 ; 00022008H
00048 e8 00 00 00 00 call glfwWindowHint
; 21 :
; 22 : GLFWwindow* window = glfwCreateWindow(
0004d 48 c7 44 24 20
00 00 00 00 mov QWORD PTR [rsp+32], 0
00056 45 33 c9 xor r9d, r9d
00059 4c 8d 05 00 00
00 00 lea r8, OFFSET FLAT:??_C@_0N@GKNDDPDN@Test?5Context@
00060 ba 58 02 00 00 mov edx, 600 ; 00000258H
00065 b9 20 03 00 00 mov ecx, 800 ; 00000320H
0006a e8 00 00 00 00 call glfwCreateWindow
0006f 48 89 45 08 mov QWORD PTR window$[rbp], rax
; 23 : 800, 600, "Test Context", NULL, NULL
; 24 : );
; 25 :
; 26 : glfwMakeContextCurrent(window);
00073 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp]
00077 e8 00 00 00 00 call glfwMakeContextCurrent
; 27 :
; 28 : currentContext = malloc(sizeof(GladGLContext));
0007c b9 28 59 00 00 mov ecx, 22824 ; 00005928H
00081 ff 15 00 00 00
00 call QWORD PTR __imp_malloc
00087 48 89 05 00 00
00 00 mov QWORD PTR currentContext, rax
; 29 : gladLoadGLContext(currentContext, glfwGetProcAddress);
0008e 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:glfwGetProcAddress
00095 48 8b 0d 00 00
00 00 mov rcx, QWORD PTR currentContext
0009c e8 00 00 00 00 call gladLoadGLContext
; 30 :
; 31 : glfwSetFramebufferSizeCallback(window, FrameBufferSizeCallback);
000a1 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:FrameBufferSizeCallback
000a8 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp]
000ac e8 00 00 00 00 call glfwSetFramebufferSizeCallback
$LN2@main:
; 32 :
; 33 : while (glfwWindowShouldClose(window))
000b1 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp]
000b5 e8 00 00 00 00 call glfwWindowShouldClose
000ba 85 c0 test eax, eax
000bc 74 4f je SHORT $LN3@main
; 34 : {
; 35 : currentContext->Clear(GL_COLOR_BUFFER_BIT | GLFW_DEPTH_BITS);
000be b9 05 50 02 00 mov ecx, 151557 ; 00025005H
000c3 48 8b 05 00 00
00 00 mov rax, QWORD PTR currentContext
000ca ff 90 b8 0e 00
00 call QWORD PTR [rax+3768]
; 36 : currentContext->ClearColor(0.5f, 0.3f, 0.6f, 1.0f);
000d0 f3 0f 10 1d 00
00 00 00 movss xmm3, DWORD PTR __real@3f800000
000d8 f3 0f 10 15 00
00 00 00 movss xmm2, DWORD PTR __real@3f19999a
000e0 f3 0f 10 0d 00
00 00 00 movss xmm1, DWORD PTR __real@3e99999a
000e8 f3 0f 10 05 00
00 00 00 movss xmm0, DWORD PTR __real@3f000000
000f0 48 8b 05 00 00
00 00 mov rax, QWORD PTR currentContext
000f7 ff 90 f8 0e 00
00 call QWORD PTR [rax+3832]
; 37 :
; 38 : glfwSwapBuffers(window);
000fd 48 8b 4d 08 mov rcx, QWORD PTR window$[rbp]
00101 e8 00 00 00 00 call glfwSwapBuffers
; 39 : glfwPollEvents();
00106 e8 00 00 00 00 call glfwPollEvents
; 40 : }
0010b eb a4 jmp SHORT $LN2@main
$LN3@main:
; 41 : }
0010d 33 c0 xor eax, eax
0010f 48 8d a5 e8 00
00 00 lea rsp, QWORD PTR [rbp+232]
00116 5f pop rdi
00117 5d pop rbp
00118 c3 ret 0
main ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\实验\contexttest\StgSharpC\StgSharpC.c
; COMDAT FrameBufferSizeCallback
_TEXT SEGMENT
x$ = 224
y$ = 232
height$ = 240
width$ = 248
FrameBufferSizeCallback PROC ; COMDAT
; 44 : {
$LN3:
00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d
00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d
0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx
0000e 89 4c 24 08 mov DWORD PTR [rsp+8], ecx
00012 55 push rbp
00013 57 push rdi
00014 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0001b 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00020 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__906F587E_StgSharpC@c
00027 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 45 : currentContext->Viewport(0, 0, height, width);
0002c 44 8b 8d f8 00
00 00 mov r9d, DWORD PTR width$[rbp]
00033 44 8b 85 f0 00
00 00 mov r8d, DWORD PTR height$[rbp]
0003a 33 d2 xor edx, edx
0003c 33 c9 xor ecx, ecx
0003e 48 8b 05 00 00
00 00 mov rax, QWORD PTR currentContext
00045 ff 90 30 57 00
00 call QWORD PTR [rax+22320]
; 46 : }
0004b 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00052 5f pop rdi
00053 5d pop rbp
00054 c3 ret 0
FrameBufferSizeCallback ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\实验\contexttest\StgSharpC\StgSharpC.c
; COMDAT readLog
_TEXT SEGMENT
readLog PROC ; COMDAT
; 123 : {
$LN3:
00000 40 55 push rbp
00002 57 push rdi
00003 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0000f 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__906F587E_StgSharpC@c
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 124 : infolog[511] = '\0';
0001b b8 08 00 00 00 mov eax, 8
00020 48 69 c0 ff 01
00 00 imul rax, rax, 511 ; 000001ffH
00027 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:infolog
0002e 48 c7 04 01 00
00 00 00 mov QWORD PTR [rcx+rax], 0
; 125 : return &infolog;
00036 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:infolog
; 126 : }
0003d 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00044 5f pop rdi
00045 5d pop rbp
00046 c3 ret 0
readLog ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\实验\contexttest\StgSharpC\StgSharpC.c
; COMDAT unloadImageData
_TEXT SEGMENT
out$ = 224
unloadImageData PROC ; COMDAT
; 118 : {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__906F587E_StgSharpC@c
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 119 : free(out->pixelPtr);
0001f 48 8b 85 e0 00
00 00 mov rax, QWORD PTR out$[rbp]
00026 48 8b 48 10 mov rcx, QWORD PTR [rax+16]
0002a ff 15 00 00 00
00 call QWORD PTR __imp_free
; 120 : }
00030 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00037 5f pop rdi
00038 5d pop rbp
00039 c3 ret 0
unloadImageData ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\实验\contexttest\StgSharpC\StgSharpC.c
; COMDAT loadImageData
_TEXT SEGMENT
location$ = 224
out$ = 232
loader$ = 240
loadImageData PROC ; COMDAT
; 109 : {
$LN4:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec f8 00
00 00 sub rsp, 248 ; 000000f8H
00018 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__906F587E_StgSharpC@c
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 110 : if (loader == NULL)
00029 48 83 bd f0 00
00 00 00 cmp QWORD PTR loader$[rbp], 0
00031 75 0e jne SHORT $LN2@loadImageD
; 111 : {
; 112 : loader = stbi_load;
00033 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:stbi_load
0003a 48 89 85 f0 00
00 00 mov QWORD PTR loader$[rbp], rax
$LN2@loadImageD:
; 113 : }
; 114 : out->pixelPtr = loader(location, &(out->width), &(out->height), &(out->channel), 0);
00041 48 8b 85 e8 00
00 00 mov rax, QWORD PTR out$[rbp]
00048 48 83 c0 08 add rax, 8
0004c 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR out$[rbp]
00053 48 83 c1 04 add rcx, 4
00057 48 8b 95 e8 00
00 00 mov rdx, QWORD PTR out$[rbp]
0005e c7 44 24 20 00
00 00 00 mov DWORD PTR [rsp+32], 0
00066 4c 8b c8 mov r9, rax
00069 4c 8b c1 mov r8, rcx
0006c 48 8b 8d e0 00
00 00 mov rcx, QWORD PTR location$[rbp]
00073 ff 95 f0 00 00
00 call QWORD PTR loader$[rbp]
00079 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR out$[rbp]
00080 48 89 41 10 mov QWORD PTR [rcx+16], rax
; 115 : }
00084 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
0008b 5f pop rdi
0008c 5d pop rbp
0008d c3 ret 0
loadImageData ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\实验\contexttest\StgSharpC\StgSharpC.c
; COMDAT linkShaderProgram
_TEXT SEGMENT
success$ = 4
__$ArrayPad$ = 216
context$ = 256
shaderProgram$ = 264
linkShaderProgram PROC ; COMDAT
; 92 : {
$LN5:
00000 89 54 24 10 mov DWORD PTR [rsp+16], edx
00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00009 55 push rbp
0000a 57 push rdi
0000b 48 81 ec 08 01
00 00 sub rsp, 264 ; 00000108H
00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00017 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
0001c b9 0a 00 00 00 mov ecx, 10
00021 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00026 f3 ab rep stosd
00028 48 8b 8c 24 28
01 00 00 mov rcx, QWORD PTR [rsp+296]
00030 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00037 48 33 c5 xor rax, rbp
0003a 48 89 85 d8 00
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00041 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__906F587E_StgSharpC@c
00048 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 93 : context->LinkProgram(shaderProgram);
0004d 8b 8d 08 01 00
00 mov ecx, DWORD PTR shaderProgram$[rbp]
00053 48 8b 85 00 01
00 00 mov rax, QWORD PTR context$[rbp]
0005a ff 90 80 2c 00
00 call QWORD PTR [rax+11392]
; 94 :
; 95 : int success;
; 96 : context->GetProgramiv(shaderProgram, GL_LINK_STATUS, &success);
00060 4c 8d 45 04 lea r8, QWORD PTR success$[rbp]
00064 ba 82 8b 00 00 mov edx, 35714 ; 00008b82H
00069 8b 8d 08 01 00
00 mov ecx, DWORD PTR shaderProgram$[rbp]
0006f 48 8b 85 00 01
00 00 mov rax, QWORD PTR context$[rbp]
00076 ff 90 48 24 00
00 call QWORD PTR [rax+9288]
; 97 : if (!success)
0007c 83 7d 04 00 cmp DWORD PTR success$[rbp], 0
00080 75 28 jne SHORT $LN2@linkShader
; 98 : {
; 99 : context->GetProgramInfoLog(shaderProgram, 512, NULL, infolog);
00082 4c 8d 0d 00 00
00 00 lea r9, OFFSET FLAT:infolog
00089 45 33 c0 xor r8d, r8d
0008c ba 00 02 00 00 mov edx, 512 ; 00000200H
00091 8b 8d 08 01 00
00 mov ecx, DWORD PTR shaderProgram$[rbp]
00097 48 8b 85 00 01
00 00 mov rax, QWORD PTR context$[rbp]
0009e ff 90 98 23 00
00 call QWORD PTR [rax+9112]
; 100 : return 0;
000a4 33 c0 xor eax, eax
000a6 eb 08 jmp SHORT $LN1@linkShader
; 101 : }
000a8 eb 06 jmp SHORT $LN3@linkShader
$LN2@linkShader:
; 102 : else
; 103 : {
; 104 : return shaderProgram;
000aa 8b 85 08 01 00
00 mov eax, DWORD PTR shaderProgram$[rbp]
$LN3@linkShader:
$LN1@linkShader:
; 105 : }
; 106 : }
000b0 48 8b f8 mov rdi, rax
000b3 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
000b7 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:linkShaderProgram$rtcFrameData
000be e8 00 00 00 00 call _RTC_CheckStackVars
000c3 48 8b c7 mov rax, rdi
000c6 48 8b 8d d8 00
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
000cd 48 33 cd xor rcx, rbp
000d0 e8 00 00 00 00 call __security_check_cookie
000d5 48 8d a5 e8 00
00 00 lea rsp, QWORD PTR [rbp+232]
000dc 5f pop rdi
000dd 5d pop rbp
000de c3 ret 0
linkShaderProgram ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\实验\contexttest\StgSharpC\StgSharpC.c
; COMDAT loadShaderCode
_TEXT SEGMENT
shader$4 = 4
success$5 = 36
__$ArrayPad$ = 248
context$ = 288
shaderCode$ = 296
shadertype$ = 304
loadShaderCode PROC ; COMDAT
; 66 : {
$LN7:
00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec 28 01
00 00 sub rsp, 296 ; 00000128H
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001d 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
00022 b9 12 00 00 00 mov ecx, 18
00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
0002c f3 ab rep stosd
0002e 48 8b 8c 24 48
01 00 00 mov rcx, QWORD PTR [rsp+328]
00036 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0003d 48 33 c5 xor rax, rbp
00040 48 89 85 f8 00
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00047 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__906F587E_StgSharpC@c
0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 67 : if (currentContext != NULL)
00053 48 83 3d 00 00
00 00 00 cmp QWORD PTR currentContext, 0
0005b 0f 84 ab 00 00
00 je $LN2@loadShader
; 68 : {
; 69 : unsigned int shader = context->CreateShader(shadertype);
00061 8b 8d 30 01 00
00 mov ecx, DWORD PTR shadertype$[rbp]
00067 48 8b 85 20 01
00 00 mov rax, QWORD PTR context$[rbp]
0006e ff 90 f0 13 00
00 call QWORD PTR [rax+5104]
00074 89 45 04 mov DWORD PTR shader$4[rbp], eax
; 70 : context->ShaderSource(shader, 1, &shaderCode, NULL);
00077 45 33 c9 xor r9d, r9d
0007a 4c 8d 85 28 01
00 00 lea r8, QWORD PTR shaderCode$[rbp]
00081 ba 01 00 00 00 mov edx, 1
00086 8b 4d 04 mov ecx, DWORD PTR shader$4[rbp]
00089 48 8b 85 20 01
00 00 mov rax, QWORD PTR context$[rbp]
00090 ff 90 50 41 00
00 call QWORD PTR [rax+16720]
; 71 : context->CompileShader(shader);
00096 8b 4d 04 mov ecx, DWORD PTR shader$4[rbp]
00099 48 8b 85 20 01
00 00 mov rax, QWORD PTR context$[rbp]
000a0 ff 90 18 11 00
00 call QWORD PTR [rax+4376]
; 72 : int success;
; 73 : context->GetShaderiv(shader, GL_COMPILE_STATUS, &success);
000a6 4c 8d 45 24 lea r8, QWORD PTR success$5[rbp]
000aa ba 81 8b 00 00 mov edx, 35713 ; 00008b81H
000af 8b 4d 04 mov ecx, DWORD PTR shader$4[rbp]
000b2 48 8b 85 20 01
00 00 mov rax, QWORD PTR context$[rbp]
000b9 ff 90 40 25 00
00 call QWORD PTR [rax+9536]
; 74 : if (!success)
000bf 83 7d 24 00 cmp DWORD PTR success$5[rbp], 0
000c3 75 40 jne SHORT $LN4@loadShader
; 75 : {
; 76 : context->GetShaderInfoLog(shader, 512, NULL, infolog);
000c5 4c 8d 0d 00 00
00 00 lea r9, OFFSET FLAT:infolog
000cc 45 33 c0 xor r8d, r8d
000cf ba 00 02 00 00 mov edx, 512 ; 00000200H
000d4 8b 4d 04 mov ecx, DWORD PTR shader$4[rbp]
000d7 48 8b 85 20 01
00 00 mov rax, QWORD PTR context$[rbp]
000de ff 90 20 25 00
00 call QWORD PTR [rax+9504]
; 77 : infolog[511] = '\0';
000e4 b8 08 00 00 00 mov eax, 8
000e9 48 69 c0 ff 01
00 00 imul rax, rax, 511 ; 000001ffH
000f0 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:infolog
000f7 48 c7 04 01 00
00 00 00 mov QWORD PTR [rcx+rax], 0
; 78 : return 0;
000ff 33 c0 xor eax, eax
00101 eb 0b jmp SHORT $LN1@loadShader
; 79 : }
00103 eb 05 jmp SHORT $LN5@loadShader
$LN4@loadShader:
; 80 : else
; 81 : {
; 82 : return shader;
00105 8b 45 04 mov eax, DWORD PTR shader$4[rbp]
00108 eb 04 jmp SHORT $LN1@loadShader
$LN5@loadShader:
; 83 : }
; 84 : }
0010a eb 02 jmp SHORT $LN3@loadShader
$LN2@loadShader:
; 85 : else
; 86 : {
; 87 : return 0;
0010c 33 c0 xor eax, eax
$LN3@loadShader:
$LN1@loadShader:
; 88 : }
; 89 : }
0010e 48 8b f8 mov rdi, rax
00111 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
00115 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:loadShaderCode$rtcFrameData
0011c e8 00 00 00 00 call _RTC_CheckStackVars
00121 48 8b c7 mov rax, rdi
00124 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
0012b 48 33 cd xor rcx, rbp
0012e e8 00 00 00 00 call __security_check_cookie
00133 48 8d a5 08 01
00 00 lea rsp, QWORD PTR [rbp+264]
0013a 5f pop rdi
0013b 5d pop rbp
0013c c3 ret 0
loadShaderCode ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\实验\contexttest\StgSharpC\StgSharpC.c
; COMDAT initGL
_TEXT SEGMENT
majorVersion$ = 224
minorVersion$ = 232
initGL PROC ; COMDAT
; 54 : {
$LN3:
00000 89 54 24 10 mov DWORD PTR [rsp+16], edx
00004 89 4c 24 08 mov DWORD PTR [rsp+8], ecx
00008 55 push rbp
00009 57 push rdi
0000a 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00011 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00016 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__906F587E_StgSharpC@c
0001d e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 55 : glfwInit();
00022 e8 00 00 00 00 call glfwInit
; 56 : glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, majorVersion);
00027 8b 95 e0 00 00
00 mov edx, DWORD PTR majorVersion$[rbp]
0002d b9 02 20 02 00 mov ecx, 139266 ; 00022002H
00032 e8 00 00 00 00 call glfwWindowHint
; 57 : glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, minorVersion);
00037 8b 95 e8 00 00
00 mov edx, DWORD PTR minorVersion$[rbp]
0003d b9 03 20 02 00 mov ecx, 139267 ; 00022003H
00042 e8 00 00 00 00 call glfwWindowHint
; 58 : glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
00047 ba 01 20 03 00 mov edx, 204801 ; 00032001H
0004c b9 08 20 02 00 mov ecx, 139272 ; 00022008H
00051 e8 00 00 00 00 call glfwWindowHint
; 59 :
; 60 : #ifdef __APPLE__
; 61 : glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
; 62 : #endif
; 63 : }
00056 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
0005d 5f pop rdi
0005e 5d pop rbp
0005f c3 ret 0
initGL ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\实验\contexttest\StgSharpC\StgSharpC.c
; COMDAT printShaderCode
_TEXT SEGMENT
code$ = 224
printShaderCode PROC ; COMDAT
; 49 : {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__906F587E_StgSharpC@c
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 50 : printf(*code);
0001f 48 8b 85 e0 00
00 00 mov rax, QWORD PTR code$[rbp]
00026 48 8b 08 mov rcx, QWORD PTR [rax]
00029 e8 00 00 00 00 call printf
; 51 : }
0002e 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00035 5f pop rdi
00036 5d pop rbp
00037 c3 ret 0
printShaderCode ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdio.h
; COMDAT printf
_TEXT SEGMENT
_Result$ = 4
_ArgList$ = 40
__$ArrayPad$ = 248
_Format$ = 288
printf PROC ; COMDAT
; 956 : {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
0000f 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
00014 55 push rbp
00015 57 push rdi
00016 48 81 ec 28 01
00 00 sub rsp, 296 ; 00000128H
0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
00027 b9 12 00 00 00 mov ecx, 18
0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00031 f3 ab rep stosd
00033 48 8b 8c 24 48
01 00 00 mov rcx, QWORD PTR [rsp+328]
0003b 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00042 48 33 c5 xor rax, rbp
00045 48 89 85 f8 00
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
0004c 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__C1EC35D3_stdio@h
00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 957 : int _Result;
; 958 : va_list _ArgList;
; 959 : __crt_va_start(_ArgList, _Format);
00058 48 8d 85 28 01
00 00 lea rax, QWORD PTR _Format$[rbp+8]
0005f 48 89 45 28 mov QWORD PTR _ArgList$[rbp], rax
; 960 : _Result = _vfprintf_l(stdout, _Format, NULL, _ArgList);
00063 b9 01 00 00 00 mov ecx, 1
00068 ff 15 00 00 00
00 call QWORD PTR __imp___acrt_iob_func
0006e 4c 8b 4d 28 mov r9, QWORD PTR _ArgList$[rbp]
00072 45 33 c0 xor r8d, r8d
00075 48 8b 95 20 01
00 00 mov rdx, QWORD PTR _Format$[rbp]
0007c 48 8b c8 mov rcx, rax
0007f e8 00 00 00 00 call _vfprintf_l
00084 89 45 04 mov DWORD PTR _Result$[rbp], eax
; 961 : __crt_va_end(_ArgList);
00087 48 c7 45 28 00
00 00 00 mov QWORD PTR _ArgList$[rbp], 0
; 962 : return _Result;
0008f 8b 45 04 mov eax, DWORD PTR _Result$[rbp]
; 963 : }
00092 8b f8 mov edi, eax
00094 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
00098 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:printf$rtcFrameData
0009f e8 00 00 00 00 call _RTC_CheckStackVars
000a4 8b c7 mov eax, edi
000a6 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
000ad 48 33 cd xor rcx, rbp
000b0 e8 00 00 00 00 call __security_check_cookie
000b5 48 8d a5 08 01
00 00 lea rsp, QWORD PTR [rbp+264]
000bc 5f pop rdi
000bd 5d pop rbp
000be c3 ret 0
printf ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\stdio.h
; COMDAT _vfprintf_l
_TEXT SEGMENT
_Stream$ = 224
_Format$ = 232
_Locale$ = 240
_ArgList$ = 248
_vfprintf_l PROC ; COMDAT
; 644 : {
$LN3:
00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00014 55 push rbp
00015 57 push rdi
00016 48 81 ec f8 00
00 00 sub rsp, 248 ; 000000f8H
0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
00022 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__C1EC35D3_stdio@h
00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 645 : return __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Stream, _Format, _Locale, _ArgList);
0002e e8 00 00 00 00 call __local_stdio_printf_options
00033 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR _ArgList$[rbp]
0003a 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx
0003f 4c 8b 8d f0 00
00 00 mov r9, QWORD PTR _Locale$[rbp]
00046 4c 8b 85 e8 00
00 00 mov r8, QWORD PTR _Format$[rbp]
0004d 48 8b 95 e0 00
00 00 mov rdx, QWORD PTR _Stream$[rbp]
00054 48 8b 08 mov rcx, QWORD PTR [rax]
00057 ff 15 00 00 00
00 call QWORD PTR __imp___stdio_common_vfprintf
; 646 : }
0005d 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00064 5f pop rdi
00065 5d pop rbp
00066 c3 ret 0
_vfprintf_l ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt\corecrt_stdio_config.h
; COMDAT __local_stdio_printf_options
_TEXT SEGMENT
__local_stdio_printf_options PROC ; COMDAT
; 90 : {
$LN3:
00000 40 55 push rbp
00002 57 push rdi
00003 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0000f 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__44420885_corecrt_stdio_config@h
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 91 : static unsigned __int64 _OptionsStorage;
; 92 : return &_OptionsStorage;
0001b 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:?_OptionsStorage@?1??__local_stdio_printf_options@@9@9 ; `__local_stdio_printf_options'::`2'::_OptionsStorage
; 93 : }
00022 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00029 5f pop rdi
0002a 5d pop rbp
0002b c3 ret 0
__local_stdio_printf_options ENDP
_TEXT ENDS
END