Created
February 7, 2017 21:20
-
-
Save BillyONeal/d767ae2311ac16f429250f2b1a9414b6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; Function compile flags: /Ogtpy | |
; COMDAT ?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z | |
_TEXT SEGMENT | |
__Right$ = 8 ; size = 4 | |
?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::swap, COMDAT | |
; _this$ = ecx | |
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring | |
; Line 1857 | |
00000 56 push esi | |
00001 57 push edi | |
; Line 1858 | |
00002 8b 7c 24 0c mov edi, DWORD PTR __Right$[esp+4] | |
00006 8b f1 mov esi, ecx | |
00008 3b f7 cmp esi, edi | |
0000a 74 1e je SHORT $LN83@swap | |
; Line 1862 | |
0000c 57 push edi | |
0000d e8 00 00 00 00 call ?_Swap_bx@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Swap_bx | |
; Line 1863 | |
00012 8b 4e 10 mov ecx, DWORD PTR [esi+16] | |
00015 8b 47 10 mov eax, DWORD PTR [edi+16] | |
00018 89 46 10 mov DWORD PTR [esi+16], eax | |
0001b 89 4f 10 mov DWORD PTR [edi+16], ecx | |
; Line 1864 | |
0001e 8b 4e 14 mov ecx, DWORD PTR [esi+20] | |
00021 8b 47 14 mov eax, DWORD PTR [edi+20] | |
00024 89 46 14 mov DWORD PTR [esi+20], eax | |
00027 89 4f 14 mov DWORD PTR [edi+20], ecx | |
$LN83@swap: | |
; Line 1866 | |
0002a 5f pop edi | |
0002b 5e pop esi | |
0002c c2 04 00 ret 4 | |
?swap@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::swap | |
_TEXT ENDS | |
; Function compile flags: /Ogtpy | |
; COMDAT ?_Swap_bx@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z | |
_TEXT SEGMENT | |
__Right$ = 8 ; size = 4 | |
?_Swap_bx@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Swap_bx, COMDAT | |
; _this$ = ecx | |
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring | |
; Line 1829 | |
00000 56 push esi | |
00001 8b f1 mov esi, ecx | |
00003 57 push edi | |
; Line 1830 | |
00004 83 7e 14 10 cmp DWORD PTR [esi+20], 16 ; 00000010H | |
00008 72 35 jb SHORT $LN2@Swap_bx | |
; Line 1831 | |
0000a 8b 7c 24 0c mov edi, DWORD PTR __Right$[esp+4] | |
0000e 83 7f 14 10 cmp DWORD PTR [edi+20], 16 ; 00000010H | |
00012 72 0d jb SHORT $LN4@Swap_bx | |
; Line 1832 | |
00014 8b 16 mov edx, DWORD PTR [esi] | |
00016 8b 07 mov eax, DWORD PTR [edi] | |
00018 89 06 mov DWORD PTR [esi], eax | |
0001a 89 17 mov DWORD PTR [edi], edx | |
0001c 5f pop edi | |
0001d 5e pop esi | |
; Line 1852 | |
0001e c2 04 00 ret 4 | |
$LN4@Swap_bx: | |
; Line 1837 | |
00021 8b 47 10 mov eax, DWORD PTR [edi+16] | |
00024 53 push ebx | |
00025 8b 1e mov ebx, DWORD PTR [esi] | |
00027 83 c0 01 add eax, 1 | |
0002a 74 0b je SHORT $LN117@Swap_bx | |
0002c 50 push eax | |
0002d 57 push edi | |
0002e 56 push esi | |
0002f e8 00 00 00 00 call _memcpy | |
00034 83 c4 0c add esp, 12 ; 0000000cH | |
$LN117@Swap_bx: | |
; Line 1839 | |
00037 89 1f mov DWORD PTR [edi], ebx | |
00039 5b pop ebx | |
0003a 5f pop edi | |
0003b 5e pop esi | |
; Line 1852 | |
0003c c2 04 00 ret 4 | |
$LN2@Swap_bx: | |
; Line 1842 | |
0003f 8b 44 24 0c mov eax, DWORD PTR __Right$[esp+4] | |
00043 83 78 14 10 cmp DWORD PTR [eax+20], 16 ; 00000010H | |
00047 73 0f jae SHORT $LN6@Swap_bx | |
; Line 1843 | |
00049 50 push eax | |
0004a 56 push esi | |
0004b e8 00 00 00 00 call ??$swap@D$0BA@X@std@@YAXAAY0BA@D0@Z ; std::swap<char,16,void> | |
00050 83 c4 08 add esp, 8 | |
00053 5f pop edi | |
00054 5e pop esi | |
; Line 1852 | |
00055 c2 04 00 ret 4 | |
$LN6@Swap_bx: | |
; Line 1848 | |
00058 8b 4e 10 mov ecx, DWORD PTR [esi+16] | |
0005b 8b 38 mov edi, DWORD PTR [eax] | |
0005d 83 c1 01 add ecx, 1 | |
00060 74 0b je SHORT $LN239@Swap_bx | |
00062 51 push ecx | |
00063 56 push esi | |
00064 50 push eax | |
00065 e8 00 00 00 00 call _memcpy | |
0006a 83 c4 0c add esp, 12 ; 0000000cH | |
$LN239@Swap_bx: | |
; Line 1850 | |
0006d 89 3e mov DWORD PTR [esi], edi | |
0006f 5f pop edi | |
00070 5e pop esi | |
; Line 1852 | |
00071 c2 04 00 ret 4 | |
?_Swap_bx@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXAAV12@@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Swap_bx | |
_TEXT ENDS | |
; Function compile flags: /Ogtpy | |
; COMDAT ??$swap@D$0BA@X@std@@YAXAAY0BA@D0@Z | |
_TEXT SEGMENT | |
__Left$ = 8 ; size = 4 | |
__Right$ = 12 ; size = 4 | |
??$swap@D$0BA@X@std@@YAXAAY0BA@D0@Z PROC ; std::swap<char,16,void>, COMDAT | |
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\utility | |
; Line 33 | |
00000 8b 44 24 04 mov eax, DWORD PTR __Left$[esp-4] | |
00004 57 push edi | |
00005 8b 7c 24 0c mov edi, DWORD PTR __Right$[esp] | |
00009 3b c7 cmp eax, edi | |
0000b 74 2e je SHORT $LN3@swap | |
; Line 36 | |
0000d 53 push ebx | |
0000e 8d 48 10 lea ecx, DWORD PTR [eax+16] | |
00011 56 push esi | |
00012 33 f6 xor esi, esi | |
00014 3b c8 cmp ecx, eax | |
00016 1b db sbb ebx, ebx | |
00018 83 e3 f0 and ebx, -16 ; fffffff0H | |
0001b 83 c3 10 add ebx, 16 ; 00000010H | |
0001e 3b c1 cmp eax, ecx | |
; Line 38 | |
00020 77 17 ja SHORT $LN25@swap | |
00022 2b f8 sub edi, eax | |
$LL4@swap: | |
; Line 39 | |
00024 8a 0c 07 mov cl, BYTE PTR [edi+eax] | |
00027 8d 40 01 lea eax, DWORD PTR [eax+1] | |
0002a 8a 50 ff mov dl, BYTE PTR [eax-1] | |
0002d 46 inc esi | |
0002e 88 48 ff mov BYTE PTR [eax-1], cl | |
00031 88 54 07 ff mov BYTE PTR [edi+eax-1], dl | |
00035 3b f3 cmp esi, ebx | |
00037 75 eb jne SHORT $LL4@swap | |
$LN25@swap: | |
00039 5e pop esi | |
0003a 5b pop ebx | |
$LN3@swap: | |
0003b 5f pop edi | |
; Line 41 | |
0003c c3 ret 0 | |
??$swap@D$0BA@X@std@@YAXAAY0BA@D0@Z ENDP ; std::swap<char,16,void> | |
_TEXT ENDS |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment