; Listing generated by Microsoft (R) Optimizing Compiler Version 19.29.30153.0 TITLE D:\Works\Project-Quaint\Build\Output\Types.dir\Debug\Main.obj .686P .XMM include listing.inc .model flat INCLUDELIB MSVCRTD INCLUDELIB OLDNAMES PUBLIC ?m_a@ClassA@@2HA ; ClassA::m_a PUBLIC ?m_t_a@?$TemplateClass@H@@2HA ; TemplateClass::m_t_a ; COMDAT ?m_t_a@?$TemplateClass@H@@2HA _BSS SEGMENT ?m_t_a@?$TemplateClass@H@@2HA DD 01H DUP (?) ; TemplateClass::m_t_a _BSS ENDS _DATA SEGMENT ?m_a@ClassA@@2HA DD 0190H ; ClassA::m_a _DATA ENDS CONST SEGMENT $SG43629 DB 'invalid argument', 00H ORG $+3 $SG43630 DB '%s', 00H ORG $+1 $SG43631 DB 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Comm' DB 'unity\VC\Tools\MSVC\14.29.30133\include\xmemory', 00H $SG43632 DB 'C', 00H, ':', 00H, '\', 00H, 'P', 00H, 'r', 00H, 'o', 00H DB 'g', 00H, 'r', 00H, 'a', 00H, 'm', 00H, ' ', 00H, 'F', 00H, 'i' DB 00H, 'l', 00H, 'e', 00H, 's', 00H, ' ', 00H, '(', 00H, 'x', 00H DB '8', 00H, '6', 00H, ')', 00H, '\', 00H, 'M', 00H, 'i', 00H, 'c' DB 00H, 'r', 00H, 'o', 00H, 's', 00H, 'o', 00H, 'f', 00H, 't', 00H DB ' ', 00H, 'V', 00H, 'i', 00H, 's', 00H, 'u', 00H, 'a', 00H, 'l' DB 00H, ' ', 00H, 'S', 00H, 't', 00H, 'u', 00H, 'd', 00H, 'i', 00H DB 'o', 00H, '\', 00H, '2', 00H, '0', 00H, '1', 00H, '9', 00H, '\' DB 00H, 'C', 00H, 'o', 00H, 'm', 00H, 'm', 00H, 'u', 00H, 'n', 00H DB 'i', 00H, 't', 00H, 'y', 00H, '\', 00H, 'V', 00H, 'C', 00H, '\' DB 00H, 'T', 00H, 'o', 00H, 'o', 00H, 'l', 00H, 's', 00H, '\', 00H DB 'M', 00H, 'S', 00H, 'V', 00H, 'C', 00H, '\', 00H, '1', 00H, '4' DB 00H, '.', 00H, '2', 00H, '9', 00H, '.', 00H, '3', 00H, '0', 00H DB '1', 00H, '3', 00H, '3', 00H, '\', 00H, 'i', 00H, 'n', 00H, 'c' DB 00H, 'l', 00H, 'u', 00H, 'd', 00H, 'e', 00H, '\', 00H, 'x', 00H DB 'm', 00H, 'e', 00H, 'm', 00H, 'o', 00H, 'r', 00H, 'y', 00H, 00H DB 00H $SG43633 DB 00H, 00H ORG $+2 $SG43634 DB '"', 00H, 'i', 00H, 'n', 00H, 'v', 00H, 'a', 00H, 'l', 00H DB 'i', 00H, 'd', 00H, ' ', 00H, 'a', 00H, 'r', 00H, 'g', 00H, 'u' DB 00H, 'm', 00H, 'e', 00H, 'n', 00H, 't', 00H, '"', 00H, 00H, 00H ORG $+2 ?a@@3HB DD 064H ; a $SG43670 DB 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Comm' DB 'unity\VC\Tools\MSVC\14.29.30133\include\xlocale', 00H CONST ENDS PUBLIC ?__empty_global_delete@@YAXPAX@Z ; __empty_global_delete PUBLIC ?__empty_global_delete@@YAXPAXI@Z ; __empty_global_delete PUBLIC ?getFunctionStaticValRef@@YAPAHXZ ; getFunctionStaticValRef PUBLIC ?staticInNonStaticClassFunc@ClassA@@QAEPAHXZ ; ClassA::staticInNonStaticClassFunc PUBLIC ?staticInStaticClassFunc@ClassA@@SAPAHXZ ; ClassA::staticInStaticClassFunc PUBLIC ?staticInNonStaticTemplateClassFunc@?$TemplateClass@H@@QAEPAHXZ ; TemplateClass::staticInNonStaticTemplateClassFunc PUBLIC ?staticInStaticTemplateClassFunc@?$TemplateClass@H@@SAPAHXZ ; TemplateClass::staticInStaticTemplateClassFunc PUBLIC _main PUBLIC ?unInitstaticVar@?1??staticInNonStaticClassFunc@ClassA@@QAEPAHXZ@4HA ; `ClassA::staticInNonStaticClassFunc'::`2'::unInitstaticVar PUBLIC ?staticVar@?1??staticInStaticClassFunc@ClassA@@SAPAHXZ@4HA ; `ClassA::staticInStaticClassFunc'::`2'::staticVar PUBLIC ?staticVar@?1??staticInStaticTemplateClassFunc@?$TemplateClass@H@@SAPAHXZ@4HA ; `TemplateClass::staticInStaticTemplateClassFunc'::`2'::staticVar PUBLIC ?staticVar@?1??staticInNonStaticTemplateClassFunc@?$TemplateClass@H@@QAEPAHXZ@4HA ; `TemplateClass::staticInNonStaticTemplateClassFunc'::`2'::staticVar EXTRN ??2@YAPAXI@Z:PROC ; operator new EXTRN @_RTC_CheckStackVars@8:PROC EXTRN __RTC_CheckEsp:PROC EXTRN __RTC_InitBase:PROC EXTRN __RTC_Shutdown:PROC _BSS SEGMENT ?unB@@3HA DD 01H DUP (?) ; unB _BSS ENDS ; COMDAT ?unInitstaticVar@?1??staticInNonStaticClassFunc@ClassA@@QAEPAHXZ@4HA _BSS SEGMENT ?unInitstaticVar@?1??staticInNonStaticClassFunc@ClassA@@QAEPAHXZ@4HA DD 01H DUP (?) ; `ClassA::staticInNonStaticClassFunc'::`2'::unInitstaticVar _BSS ENDS ; COMDAT rtc$TMZ rtc$TMZ SEGMENT __RTC_Shutdown.rtc$TMZ DD FLAT:__RTC_Shutdown rtc$TMZ ENDS ; COMDAT rtc$IMZ rtc$IMZ SEGMENT __RTC_InitBase.rtc$IMZ DD FLAT:__RTC_InitBase rtc$IMZ ENDS ; COMDAT ?staticVar@?1??staticInNonStaticTemplateClassFunc@?$TemplateClass@H@@QAEPAHXZ@4HA _DATA SEGMENT ?staticVar@?1??staticInNonStaticTemplateClassFunc@?$TemplateClass@H@@QAEPAHXZ@4HA DD 03e8H ; `TemplateClass::staticInNonStaticTemplateClassFunc'::`2'::staticVar _DATA ENDS ; COMDAT ?staticVar@?1??staticInStaticTemplateClassFunc@?$TemplateClass@H@@SAPAHXZ@4HA _DATA SEGMENT ?staticVar@?1??staticInStaticTemplateClassFunc@?$TemplateClass@H@@SAPAHXZ@4HA DD 044cH ; `TemplateClass::staticInStaticTemplateClassFunc'::`2'::staticVar _DATA ENDS ; COMDAT ?staticVar@?1??staticInStaticClassFunc@ClassA@@SAPAHXZ@4HA _DATA SEGMENT ?staticVar@?1??staticInStaticClassFunc@ClassA@@SAPAHXZ@4HA DD 0384H ; `ClassA::staticInStaticClassFunc'::`2'::staticVar _DATA ENDS ; COMDAT ?staticValInStaticFunc@?1??staticFunctionWithStaticVar@@YAPAHXZ@4HA _DATA SEGMENT ?staticValInStaticFunc@?1??staticFunctionWithStaticVar@@YAPAHXZ@4HA DD 02bcH ; `staticFunctionWithStaticVar'::`2'::staticValInStaticFunc _DATA ENDS ; COMDAT ?c@?1??getFunctionStaticValRef@@YAPAHXZ@4HA _DATA SEGMENT ?c@?1??getFunctionStaticValRef@@YAPAHXZ@4HA DD 012cH ; `getFunctionStaticValRef'::`2'::c _DATA ENDS ; Function compile flags: /Odtp /RTCsu ; File D:\Works\Project-Quaint\Modules\Core\Types\Source\Main.cpp _TEXT SEGMENT tv143 = -116 ; size = 4 tv133 = -112 ; size = 4 tv92 = -108 ; size = 4 tv85 = -104 ; size = 4 tv77 = -100 ; size = 4 tv70 = -96 ; size = 4 $T1 = -92 ; size = 4 $T2 = -88 ; size = 4 $T3 = -84 ; size = 4 $T4 = -80 ; size = 4 $T5 = -76 ; size = 4 $T6 = -72 ; size = 4 _ref_t_staticInStaticClassFunc$ = -68 ; size = 4 _ref_t_staticInNonStaticClassFunc$ = -64 ; size = 4 _ref_t_mA$ = -60 ; size = 4 _heapObj2$ = -56 ; size = 4 _ref_staticInStaticClassFunc$ = -52 ; size = 4 _ref_staticInNonStaticClassFunc$ = -48 ; size = 4 _ref_mA$ = -44 ; size = 4 _heapObj$ = -40 ; size = 4 _ref_staticWithNormalVar$ = -36 ; size = 4 _ref_staticValInStaticFunc$ = -32 ; size = 4 _heapAlloc4$ = -28 ; size = 4 _heapAlloc3$ = -24 ; size = 4 _refC$ = -20 ; size = 4 _heapAlloc2$ = -16 ; size = 4 _heapAlloc1$ = -12 ; size = 4 _refB$ = -8 ; size = 4 _refA$ = -4 ; size = 4 _main PROC ; 73 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 74 sub esp, 116 ; 00000074H 00006 57 push edi 00007 8d 7d 8c lea edi, DWORD PTR [ebp-116] 0000a b9 1d 00 00 00 mov ecx, 29 ; 0000001dH 0000f b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00014 f3 ab rep stosd ; 74 : //Static tests ; 75 : const int* refA = &a; 00016 c7 45 fc 00 00 00 00 mov DWORD PTR _refA$[ebp], OFFSET ?a@@3HB ; 76 : int* refB = &unB; 0001d c7 45 f8 00 00 00 00 mov DWORD PTR _refB$[ebp], OFFSET ?unB@@3HA ; 77 : ; 78 : int* heapAlloc1 = new int(10); 00024 6a 04 push 4 00026 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new 0002b 83 c4 04 add esp, 4 0002e 89 45 b8 mov DWORD PTR $T6[ebp], eax 00031 83 7d b8 00 cmp DWORD PTR $T6[ebp], 0 00035 74 11 je SHORT $LN3@main 00037 8b 45 b8 mov eax, DWORD PTR $T6[ebp] 0003a c7 00 0a 00 00 00 mov DWORD PTR [eax], 10 ; 0000000aH 00040 8b 4d b8 mov ecx, DWORD PTR $T6[ebp] 00043 89 4d a0 mov DWORD PTR tv70[ebp], ecx 00046 eb 07 jmp SHORT $LN4@main $LN3@main: 00048 c7 45 a0 00 00 00 00 mov DWORD PTR tv70[ebp], 0 $LN4@main: 0004f 8b 55 a0 mov edx, DWORD PTR tv70[ebp] 00052 89 55 f4 mov DWORD PTR _heapAlloc1$[ebp], edx ; 79 : int* heapAlloc2 = new int(10); 00055 6a 04 push 4 00057 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new 0005c 83 c4 04 add esp, 4 0005f 89 45 b4 mov DWORD PTR $T5[ebp], eax 00062 83 7d b4 00 cmp DWORD PTR $T5[ebp], 0 00066 74 11 je SHORT $LN5@main 00068 8b 45 b4 mov eax, DWORD PTR $T5[ebp] 0006b c7 00 0a 00 00 00 mov DWORD PTR [eax], 10 ; 0000000aH 00071 8b 4d b4 mov ecx, DWORD PTR $T5[ebp] 00074 89 4d 9c mov DWORD PTR tv77[ebp], ecx 00077 eb 07 jmp SHORT $LN6@main $LN5@main: 00079 c7 45 9c 00 00 00 00 mov DWORD PTR tv77[ebp], 0 $LN6@main: 00080 8b 55 9c mov edx, DWORD PTR tv77[ebp] 00083 89 55 f0 mov DWORD PTR _heapAlloc2$[ebp], edx ; 80 : ; 81 : int* refC = getFunctionStaticValRef(); 00086 e8 00 00 00 00 call ?getFunctionStaticValRef@@YAPAHXZ ; getFunctionStaticValRef 0008b 89 45 ec mov DWORD PTR _refC$[ebp], eax ; 82 : ; 83 : int* heapAlloc3 = new int(10); 0008e 6a 04 push 4 00090 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new 00095 83 c4 04 add esp, 4 00098 89 45 b0 mov DWORD PTR $T4[ebp], eax 0009b 83 7d b0 00 cmp DWORD PTR $T4[ebp], 0 0009f 74 11 je SHORT $LN7@main 000a1 8b 45 b0 mov eax, DWORD PTR $T4[ebp] 000a4 c7 00 0a 00 00 00 mov DWORD PTR [eax], 10 ; 0000000aH 000aa 8b 4d b0 mov ecx, DWORD PTR $T4[ebp] 000ad 89 4d 98 mov DWORD PTR tv85[ebp], ecx 000b0 eb 07 jmp SHORT $LN8@main $LN7@main: 000b2 c7 45 98 00 00 00 00 mov DWORD PTR tv85[ebp], 0 $LN8@main: 000b9 8b 55 98 mov edx, DWORD PTR tv85[ebp] 000bc 89 55 e8 mov DWORD PTR _heapAlloc3$[ebp], edx ; 84 : int* heapAlloc4 = new int(10); 000bf 6a 04 push 4 000c1 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new 000c6 83 c4 04 add esp, 4 000c9 89 45 ac mov DWORD PTR $T3[ebp], eax 000cc 83 7d ac 00 cmp DWORD PTR $T3[ebp], 0 000d0 74 11 je SHORT $LN9@main 000d2 8b 45 ac mov eax, DWORD PTR $T3[ebp] 000d5 c7 00 0a 00 00 00 mov DWORD PTR [eax], 10 ; 0000000aH 000db 8b 4d ac mov ecx, DWORD PTR $T3[ebp] 000de 89 4d 94 mov DWORD PTR tv92[ebp], ecx 000e1 eb 07 jmp SHORT $LN10@main $LN9@main: 000e3 c7 45 94 00 00 00 00 mov DWORD PTR tv92[ebp], 0 $LN10@main: 000ea 8b 55 94 mov edx, DWORD PTR tv92[ebp] 000ed 89 55 e4 mov DWORD PTR _heapAlloc4$[ebp], edx ; 85 : ; 86 : const int* ref_staticValInStaticFunc = staticFunctionWithStaticVar(); 000f0 e8 00 00 00 00 call ?staticFunctionWithStaticVar@@YAPAHXZ ; staticFunctionWithStaticVar 000f5 89 45 e0 mov DWORD PTR _ref_staticValInStaticFunc$[ebp], eax ; 87 : ; 88 : const int* ref_staticWithNormalVar = staticFuncWithNormalVar(); 000f8 e8 00 00 00 00 call ?staticFuncWithNormalVar@@YAPAHXZ ; staticFuncWithNormalVar 000fd 89 45 dc mov DWORD PTR _ref_staticWithNormalVar$[ebp], eax ; 89 : ; 90 : ClassA* heapObj = new ClassA(); 00100 6a 01 push 1 00102 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new 00107 83 c4 04 add esp, 4 0010a 89 45 a8 mov DWORD PTR $T2[ebp], eax 0010d 83 7d a8 00 cmp DWORD PTR $T2[ebp], 0 00111 74 08 je SHORT $LN11@main 00113 8b 45 a8 mov eax, DWORD PTR $T2[ebp] 00116 89 45 90 mov DWORD PTR tv133[ebp], eax 00119 eb 07 jmp SHORT $LN12@main $LN11@main: 0011b c7 45 90 00 00 00 00 mov DWORD PTR tv133[ebp], 0 $LN12@main: 00122 8b 4d 90 mov ecx, DWORD PTR tv133[ebp] 00125 89 4d d8 mov DWORD PTR _heapObj$[ebp], ecx ; 91 : int* ref_mA = &ClassA::m_a; 00128 c7 45 d4 00 00 00 00 mov DWORD PTR _ref_mA$[ebp], OFFSET ?m_a@ClassA@@2HA ; ClassA::m_a ; 92 : ; 93 : const int* ref_staticInNonStaticClassFunc = heapObj->staticInNonStaticClassFunc(); 0012f 8b 4d d8 mov ecx, DWORD PTR _heapObj$[ebp] 00132 e8 00 00 00 00 call ?staticInNonStaticClassFunc@ClassA@@QAEPAHXZ ; ClassA::staticInNonStaticClassFunc 00137 89 45 d0 mov DWORD PTR _ref_staticInNonStaticClassFunc$[ebp], eax ; 94 : const int* ref_staticInStaticClassFunc = ClassA::staticInStaticClassFunc(); 0013a e8 00 00 00 00 call ?staticInStaticClassFunc@ClassA@@SAPAHXZ ; ClassA::staticInStaticClassFunc 0013f 89 45 cc mov DWORD PTR _ref_staticInStaticClassFunc$[ebp], eax ; 95 : ; 96 : TemplateClass* heapObj2 = new TemplateClass(); 00142 6a 01 push 1 00144 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new 00149 83 c4 04 add esp, 4 0014c 89 45 a4 mov DWORD PTR $T1[ebp], eax 0014f 83 7d a4 00 cmp DWORD PTR $T1[ebp], 0 00153 74 08 je SHORT $LN13@main 00155 8b 55 a4 mov edx, DWORD PTR $T1[ebp] 00158 89 55 8c mov DWORD PTR tv143[ebp], edx 0015b eb 07 jmp SHORT $LN14@main $LN13@main: 0015d c7 45 8c 00 00 00 00 mov DWORD PTR tv143[ebp], 0 $LN14@main: 00164 8b 45 8c mov eax, DWORD PTR tv143[ebp] 00167 89 45 c8 mov DWORD PTR _heapObj2$[ebp], eax ; 97 : int* ref_t_mA = &TemplateClass::m_t_a; 0016a c7 45 c4 00 00 00 00 mov DWORD PTR _ref_t_mA$[ebp], OFFSET ?m_t_a@?$TemplateClass@H@@2HA ; TemplateClass::m_t_a ; 98 : ; 99 : const int* ref_t_staticInNonStaticClassFunc = heapObj2->staticInNonStaticTemplateClassFunc(); 00171 8b 4d c8 mov ecx, DWORD PTR _heapObj2$[ebp] 00174 e8 00 00 00 00 call ?staticInNonStaticTemplateClassFunc@?$TemplateClass@H@@QAEPAHXZ ; TemplateClass::staticInNonStaticTemplateClassFunc 00179 89 45 c0 mov DWORD PTR _ref_t_staticInNonStaticClassFunc$[ebp], eax ; 100 : const int* ref_t_staticInStaticClassFunc = TemplateClass::staticInStaticTemplateClassFunc(); 0017c e8 00 00 00 00 call ?staticInStaticTemplateClassFunc@?$TemplateClass@H@@SAPAHXZ ; TemplateClass::staticInStaticTemplateClassFunc 00181 89 45 bc mov DWORD PTR _ref_t_staticInStaticClassFunc$[ebp], eax ; 101 : ; 102 : return 0; 00184 33 c0 xor eax, eax ; 103 : } 00186 5f pop edi 00187 83 c4 74 add esp, 116 ; 00000074H 0018a 3b ec cmp ebp, esp 0018c e8 00 00 00 00 call __RTC_CheckEsp 00191 8b e5 mov esp, ebp 00193 5d pop ebp 00194 c3 ret 0 _main ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu ; File D:\Works\Project-Quaint\Modules\Core\Types\Source\Main.cpp ; COMDAT ?staticInStaticTemplateClassFunc@?$TemplateClass@H@@SAPAHXZ _TEXT SEGMENT ?staticInStaticTemplateClassFunc@?$TemplateClass@H@@SAPAHXZ PROC ; TemplateClass::staticInStaticTemplateClassFunc, COMDAT ; 65 : { 00000 55 push ebp 00001 8b ec mov ebp, esp ; 66 : static int staticVar = 1100; ; 67 : return &staticVar; 00003 b8 00 00 00 00 mov eax, OFFSET ?staticVar@?1??staticInStaticTemplateClassFunc@?$TemplateClass@H@@SAPAHXZ@4HA ; `TemplateClass::staticInStaticTemplateClassFunc'::`2'::staticVar ; 68 : } 00008 5d pop ebp 00009 c3 ret 0 ?staticInStaticTemplateClassFunc@?$TemplateClass@H@@SAPAHXZ ENDP ; TemplateClass::staticInStaticTemplateClassFunc _TEXT ENDS ; Function compile flags: /Odtp /RTCsu ; File D:\Works\Project-Quaint\Modules\Core\Types\Source\Main.cpp ; COMDAT ?staticInNonStaticTemplateClassFunc@?$TemplateClass@H@@QAEPAHXZ _TEXT SEGMENT _this$ = -4 ; size = 4 ?staticInNonStaticTemplateClassFunc@?$TemplateClass@H@@QAEPAHXZ PROC ; TemplateClass::staticInNonStaticTemplateClassFunc, COMDAT ; _this$ = ecx ; 59 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 51 push ecx 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 60 : static int staticVar = 1000; ; 61 : return &staticVar; 00007 b8 00 00 00 00 mov eax, OFFSET ?staticVar@?1??staticInNonStaticTemplateClassFunc@?$TemplateClass@H@@QAEPAHXZ@4HA ; `TemplateClass::staticInNonStaticTemplateClassFunc'::`2'::staticVar ; 62 : } 0000c 8b e5 mov esp, ebp 0000e 5d pop ebp 0000f c3 ret 0 ?staticInNonStaticTemplateClassFunc@?$TemplateClass@H@@QAEPAHXZ ENDP ; TemplateClass::staticInNonStaticTemplateClassFunc _TEXT ENDS ; Function compile flags: /Odtp /RTCsu ; File D:\Works\Project-Quaint\Modules\Core\Types\Source\Main.cpp ; COMDAT ?staticInStaticClassFunc@ClassA@@SAPAHXZ _TEXT SEGMENT ?staticInStaticClassFunc@ClassA@@SAPAHXZ PROC ; ClassA::staticInStaticClassFunc, COMDAT ; 43 : { 00000 55 push ebp 00001 8b ec mov ebp, esp ; 44 : static int staticVar = 900; ; 45 : return &staticVar; 00003 b8 00 00 00 00 mov eax, OFFSET ?staticVar@?1??staticInStaticClassFunc@ClassA@@SAPAHXZ@4HA ; `ClassA::staticInStaticClassFunc'::`2'::staticVar ; 46 : } 00008 5d pop ebp 00009 c3 ret 0 ?staticInStaticClassFunc@ClassA@@SAPAHXZ ENDP ; ClassA::staticInStaticClassFunc _TEXT ENDS ; Function compile flags: /Odtp /RTCsu ; File D:\Works\Project-Quaint\Modules\Core\Types\Source\Main.cpp ; COMDAT ?staticInNonStaticClassFunc@ClassA@@QAEPAHXZ _TEXT SEGMENT _this$ = -4 ; size = 4 ?staticInNonStaticClassFunc@ClassA@@QAEPAHXZ PROC ; ClassA::staticInNonStaticClassFunc, COMDAT ; _this$ = ecx ; 37 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 51 push ecx 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx ; 38 : static int unInitstaticVar; ; 39 : return &unInitstaticVar; 00007 b8 00 00 00 00 mov eax, OFFSET ?unInitstaticVar@?1??staticInNonStaticClassFunc@ClassA@@QAEPAHXZ@4HA ; `ClassA::staticInNonStaticClassFunc'::`2'::unInitstaticVar ; 40 : } 0000c 8b e5 mov esp, ebp 0000e 5d pop ebp 0000f c3 ret 0 ?staticInNonStaticClassFunc@ClassA@@QAEPAHXZ ENDP ; ClassA::staticInNonStaticClassFunc _TEXT ENDS ; Function compile flags: /Odtp /RTCsu ; File D:\Works\Project-Quaint\Modules\Core\Types\Source\Main.cpp _TEXT SEGMENT _normalVar$ = -8 ; size = 4 ?staticFuncWithNormalVar@@YAPAHXZ PROC ; staticFuncWithNormalVar ; 23 : { 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 83 ec 0c sub esp, 12 ; 0000000cH 00006 c7 45 f4 cc cc cc cc mov DWORD PTR [ebp-12], -858993460 ; ccccccccH 0000d c7 45 f8 cc cc cc cc mov DWORD PTR [ebp-8], -858993460 ; ccccccccH 00014 c7 45 fc cc cc cc cc mov DWORD PTR [ebp-4], -858993460 ; ccccccccH ; 24 : int normalVar = 800; 0001b c7 45 f8 20 03 00 00 mov DWORD PTR _normalVar$[ebp], 800 ; 00000320H ; 25 : return &normalVar; // This is just wrong! Please don't do this. 00022 8d 45 f8 lea eax, DWORD PTR _normalVar$[ebp] ; 26 : } 00025 52 push edx 00026 8b cd mov ecx, ebp 00028 50 push eax 00029 8d 15 00 00 00 00 lea edx, DWORD PTR $LN5@staticFunc 0002f e8 00 00 00 00 call @_RTC_CheckStackVars@8 00034 58 pop eax 00035 5a pop edx 00036 8b e5 mov esp, ebp 00038 5d pop ebp 00039 c3 ret 0 0003a 66 90 npad 2 $LN5@staticFunc: 0003c 01 00 00 00 DD 1 00040 00 00 00 00 DD $LN4@staticFunc $LN4@staticFunc: 00044 f8 ff ff ff DD -8 ; fffffff8H 00048 04 00 00 00 DD 4 0004c 00 00 00 00 DD $LN3@staticFunc $LN3@staticFunc: 00050 6e DB 110 ; 0000006eH 00051 6f DB 111 ; 0000006fH 00052 72 DB 114 ; 00000072H 00053 6d DB 109 ; 0000006dH 00054 61 DB 97 ; 00000061H 00055 6c DB 108 ; 0000006cH 00056 56 DB 86 ; 00000056H 00057 61 DB 97 ; 00000061H 00058 72 DB 114 ; 00000072H 00059 00 DB 0 ?staticFuncWithNormalVar@@YAPAHXZ ENDP ; staticFuncWithNormalVar _TEXT ENDS ; Function compile flags: /Odtp /RTCsu ; File D:\Works\Project-Quaint\Modules\Core\Types\Source\Main.cpp _TEXT SEGMENT ?staticFunctionWithStaticVar@@YAPAHXZ PROC ; staticFunctionWithStaticVar ; 16 : { 00000 55 push ebp 00001 8b ec mov ebp, esp ; 17 : static int staticValInStaticFunc = 700; ; 18 : return &staticValInStaticFunc; 00003 b8 00 00 00 00 mov eax, OFFSET ?staticValInStaticFunc@?1??staticFunctionWithStaticVar@@YAPAHXZ@4HA ; 19 : } 00008 5d pop ebp 00009 c3 ret 0 ?staticFunctionWithStaticVar@@YAPAHXZ ENDP ; staticFunctionWithStaticVar _TEXT ENDS ; Function compile flags: /Odtp /RTCsu ; File D:\Works\Project-Quaint\Modules\Core\Types\Source\Main.cpp _TEXT SEGMENT ?getFunctionStaticValRef@@YAPAHXZ PROC ; getFunctionStaticValRef ; 9 : { 00000 55 push ebp 00001 8b ec mov ebp, esp ; 10 : static int c = 300; ; 11 : return &c; 00003 b8 00 00 00 00 mov eax, OFFSET ?c@?1??getFunctionStaticValRef@@YAPAHXZ@4HA ; 12 : } 00008 5d pop ebp 00009 c3 ret 0 ?getFunctionStaticValRef@@YAPAHXZ ENDP ; getFunctionStaticValRef _TEXT ENDS ; Function compile flags: /Odtp /RTCsu ; File D:\Works\Project-Quaint\Modules\Core\Types\Source\Main.cpp ; COMDAT ?__empty_global_delete@@YAXPAXI@Z _TEXT SEGMENT ___formal$ = 8 ; size = 4 ___formal$ = 12 ; size = 4 ?__empty_global_delete@@YAXPAXI@Z PROC ; __empty_global_delete, COMDAT 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 5d pop ebp 00004 c3 ret 0 ?__empty_global_delete@@YAXPAXI@Z ENDP ; __empty_global_delete _TEXT ENDS ; Function compile flags: /Odtp /RTCsu ; File D:\Works\Project-Quaint\Modules\Core\Types\Source\Main.cpp ; COMDAT ?__empty_global_delete@@YAXPAX@Z _TEXT SEGMENT ___formal$ = 8 ; size = 4 ?__empty_global_delete@@YAXPAX@Z PROC ; __empty_global_delete, COMDAT 00000 55 push ebp 00001 8b ec mov ebp, esp 00003 5d pop ebp 00004 c3 ret 0 ?__empty_global_delete@@YAXPAX@Z ENDP ; __empty_global_delete _TEXT ENDS END