Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- XOR
- void Swap(int* x, int* y)
- {
- 01043CE0 push ebp
- 01043CE1 mov ebp,esp
- 01043CE3 sub esp,0C0h
- 01043CE9 push ebx
- 01043CEA push esi
- 01043CEB push edi
- 01043CEC lea edi,[ebp-0C0h]
- 01043CF2 mov ecx,30h
- 01043CF7 mov eax,0CCCCCCCCh
- 01043CFC rep stos dword ptr es:[edi]
- if (x != y)
- 01043CFE mov eax,dword ptr [x]
- 01043D01 cmp eax,dword ptr [y]
- 01043D04 je Swap+53h (01043D33h)
- {
- (*x) ^= (*y);
- 01043D06 mov eax,dword ptr [x]
- 01043D09 mov ecx,dword ptr [y]
- 01043D0C mov edx,dword ptr [eax]
- 01043D0E xor edx,dword ptr [ecx]
- 01043D10 mov eax,dword ptr [x]
- 01043D13 mov dword ptr [eax],edx
- (*y) ^= (*x);
- 01043D15 mov eax,dword ptr [y]
- 01043D18 mov ecx,dword ptr [x]
- 01043D1B mov edx,dword ptr [eax]
- 01043D1D xor edx,dword ptr [ecx]
- 01043D1F mov eax,dword ptr [y]
- 01043D22 mov dword ptr [eax],edx
- (*x) ^= (*y);
- 01043D24 mov eax,dword ptr [x]
- 01043D27 mov ecx,dword ptr [y]
- 01043D2A mov edx,dword ptr [eax]
- 01043D2C xor edx,dword ptr [ecx]
- 01043D2E mov eax,dword ptr [x]
- 01043D31 mov dword ptr [eax],edx
- }
- }
- 01043D33 pop edi
- 01043D34 pop esi
- 01043D35 pop ebx
- 01043D36 mov esp,ebp
- 01043D38 pop ebp
- 01043D39 ret
- ===============================================================================
- TEMP
- void Swap(int* x, int* y)
- {
- 000A3CE0 push ebp
- 000A3CE1 mov ebp,esp
- 000A3CE3 sub esp,0CCh
- 000A3CE9 push ebx
- 000A3CEA push esi
- 000A3CEB push edi
- 000A3CEC lea edi,[ebp-0CCh]
- 000A3CF2 mov ecx,33h
- 000A3CF7 mov eax,0CCCCCCCCh
- 000A3CFC rep stos dword ptr es:[edi]
- int temp = (*x);
- 000A3CFE mov eax,dword ptr [x]
- 000A3D01 mov ecx,dword ptr [eax]
- 000A3D03 mov dword ptr [temp],ecx
- (*x) = (*y);
- 000A3D06 mov eax,dword ptr [x]
- 000A3D09 mov ecx,dword ptr [y]
- 000A3D0C mov edx,dword ptr [ecx]
- 000A3D0E mov dword ptr [eax],edx
- (*y) = temp;
- 000A3D10 mov eax,dword ptr [y]
- 000A3D13 mov ecx,dword ptr [temp]
- 000A3D16 mov dword ptr [eax],ecx
- }
- 000A3D18 pop edi
- 000A3D19 pop esi
- 000A3D1A pop ebx
- 000A3D1B mov esp,ebp
- 000A3D1D pop ebp
- 000A3D1E ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement