diff options
Diffstat (limited to 'crypto/rc5/asm/r5-win32.asm')
-rw-r--r-- | crypto/rc5/asm/r5-win32.asm | 574 |
1 files changed, 0 insertions, 574 deletions
diff --git a/crypto/rc5/asm/r5-win32.asm b/crypto/rc5/asm/r5-win32.asm deleted file mode 100644 index f43d3711f0..0000000000 --- a/crypto/rc5/asm/r5-win32.asm +++ /dev/null @@ -1,574 +0,0 @@ - ; Don't even think of reading this code - ; It was automatically generated by rc5-586.pl - ; Which is a perl program used to generate the x86 assember for - ; any of elf, a.out, BSDI,Win32, or Solaris - ; eric <eay@cryptsoft.com> - ; - TITLE rc5-586.asm - .386 -.model FLAT -_TEXT SEGMENT -PUBLIC _RC5_32_encrypt - -_RC5_32_encrypt PROC NEAR - ; - push ebp - push esi - push edi - mov edx, DWORD PTR 16[esp] - mov ebp, DWORD PTR 20[esp] - ; Load the 2 words - mov edi, DWORD PTR [edx] - mov esi, DWORD PTR 4[edx] - push ebx - mov ebx, DWORD PTR [ebp] - add edi, DWORD PTR 4[ebp] - add esi, DWORD PTR 8[ebp] - xor edi, esi - mov eax, DWORD PTR 12[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 16[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - xor edi, esi - mov eax, DWORD PTR 20[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 24[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - xor edi, esi - mov eax, DWORD PTR 28[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 32[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - xor edi, esi - mov eax, DWORD PTR 36[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 40[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - xor edi, esi - mov eax, DWORD PTR 44[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 48[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - xor edi, esi - mov eax, DWORD PTR 52[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 56[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - xor edi, esi - mov eax, DWORD PTR 60[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 64[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - xor edi, esi - mov eax, DWORD PTR 68[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 72[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - cmp ebx, 8 - je $L000rc5_exit - xor edi, esi - mov eax, DWORD PTR 76[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 80[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - xor edi, esi - mov eax, DWORD PTR 84[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 88[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - xor edi, esi - mov eax, DWORD PTR 92[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 96[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - xor edi, esi - mov eax, DWORD PTR 100[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 104[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - cmp ebx, 12 - je $L000rc5_exit - xor edi, esi - mov eax, DWORD PTR 108[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 112[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - xor edi, esi - mov eax, DWORD PTR 116[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 120[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - xor edi, esi - mov eax, DWORD PTR 124[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 128[ebp] - mov ecx, edi - rol esi, cl - add esi, eax - xor edi, esi - mov eax, DWORD PTR 132[ebp] - mov ecx, esi - rol edi, cl - add edi, eax - xor esi, edi - mov eax, DWORD PTR 136[ebp] - mov ecx, edi - rol esi, cl - add esi, eax -$L000rc5_exit: - mov DWORD PTR [edx],edi - mov DWORD PTR 4[edx],esi - pop ebx - pop edi - pop esi - pop ebp - ret -_RC5_32_encrypt ENDP -_TEXT ENDS -_TEXT SEGMENT -PUBLIC _RC5_32_decrypt - -_RC5_32_decrypt PROC NEAR - ; - push ebp - push esi - push edi - mov edx, DWORD PTR 16[esp] - mov ebp, DWORD PTR 20[esp] - ; Load the 2 words - mov edi, DWORD PTR [edx] - mov esi, DWORD PTR 4[edx] - push ebx - mov ebx, DWORD PTR [ebp] - cmp ebx, 12 - je $L001rc5_dec_12 - cmp ebx, 8 - je $L002rc5_dec_8 - mov eax, DWORD PTR 136[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 132[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - mov eax, DWORD PTR 128[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 124[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - mov eax, DWORD PTR 120[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 116[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - mov eax, DWORD PTR 112[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 108[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi -$L001rc5_dec_12: - mov eax, DWORD PTR 104[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 100[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - mov eax, DWORD PTR 96[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 92[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - mov eax, DWORD PTR 88[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 84[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - mov eax, DWORD PTR 80[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 76[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi -$L002rc5_dec_8: - mov eax, DWORD PTR 72[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 68[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - mov eax, DWORD PTR 64[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 60[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - mov eax, DWORD PTR 56[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 52[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - mov eax, DWORD PTR 48[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 44[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - mov eax, DWORD PTR 40[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 36[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - mov eax, DWORD PTR 32[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 28[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - mov eax, DWORD PTR 24[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 20[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - mov eax, DWORD PTR 16[ebp] - sub esi, eax - mov ecx, edi - ror esi, cl - xor esi, edi - mov eax, DWORD PTR 12[ebp] - sub edi, eax - mov ecx, esi - ror edi, cl - xor edi, esi - sub esi, DWORD PTR 8[ebp] - sub edi, DWORD PTR 4[ebp] -L003rc5_exit: - mov DWORD PTR [edx],edi - mov DWORD PTR 4[edx],esi - pop ebx - pop edi - pop esi - pop ebp - ret -_RC5_32_decrypt ENDP -_TEXT ENDS -_TEXT SEGMENT -PUBLIC _RC5_32_cbc_encrypt - -_RC5_32_cbc_encrypt PROC NEAR - ; - push ebp - push ebx - push esi - push edi - mov ebp, DWORD PTR 28[esp] - ; getting iv ptr from parameter 4 - mov ebx, DWORD PTR 36[esp] - mov esi, DWORD PTR [ebx] - mov edi, DWORD PTR 4[ebx] - push edi - push esi - push edi - push esi - mov ebx, esp - mov esi, DWORD PTR 36[esp] - mov edi, DWORD PTR 40[esp] - ; getting encrypt flag from parameter 5 - mov ecx, DWORD PTR 56[esp] - ; get and push parameter 3 - mov eax, DWORD PTR 48[esp] - push eax - push ebx - cmp ecx, 0 - jz $L004decrypt - and ebp, 4294967288 - mov eax, DWORD PTR 8[esp] - mov ebx, DWORD PTR 12[esp] - jz $L005encrypt_finish -L006encrypt_loop: - mov ecx, DWORD PTR [esi] - mov edx, DWORD PTR 4[esi] - xor eax, ecx - xor ebx, edx - mov DWORD PTR 8[esp],eax - mov DWORD PTR 12[esp],ebx - call _RC5_32_encrypt - mov eax, DWORD PTR 8[esp] - mov ebx, DWORD PTR 12[esp] - mov DWORD PTR [edi],eax - mov DWORD PTR 4[edi],ebx - add esi, 8 - add edi, 8 - sub ebp, 8 - jnz L006encrypt_loop -$L005encrypt_finish: - mov ebp, DWORD PTR 52[esp] - and ebp, 7 - jz $L007finish - xor ecx, ecx - xor edx, edx - mov ebp, DWORD PTR $L008cbc_enc_jmp_table[ebp*4] - jmp ebp -L009ej7: - mov dh, BYTE PTR 6[esi] - shl edx, 8 -L010ej6: - mov dh, BYTE PTR 5[esi] -L011ej5: - mov dl, BYTE PTR 4[esi] -L012ej4: - mov ecx, DWORD PTR [esi] - jmp $L013ejend -L014ej3: - mov ch, BYTE PTR 2[esi] - shl ecx, 8 -L015ej2: - mov ch, BYTE PTR 1[esi] -L016ej1: - mov cl, BYTE PTR [esi] -$L013ejend: - xor eax, ecx - xor ebx, edx - mov DWORD PTR 8[esp],eax - mov DWORD PTR 12[esp],ebx - call _RC5_32_encrypt - mov eax, DWORD PTR 8[esp] - mov ebx, DWORD PTR 12[esp] - mov DWORD PTR [edi],eax - mov DWORD PTR 4[edi],ebx - jmp $L007finish -$L004decrypt: - and ebp, 4294967288 - mov eax, DWORD PTR 16[esp] - mov ebx, DWORD PTR 20[esp] - jz $L017decrypt_finish -L018decrypt_loop: - mov eax, DWORD PTR [esi] - mov ebx, DWORD PTR 4[esi] - mov DWORD PTR 8[esp],eax - mov DWORD PTR 12[esp],ebx - call _RC5_32_decrypt - mov eax, DWORD PTR 8[esp] - mov ebx, DWORD PTR 12[esp] - mov ecx, DWORD PTR 16[esp] - mov edx, DWORD PTR 20[esp] - xor ecx, eax - xor edx, ebx - mov eax, DWORD PTR [esi] - mov ebx, DWORD PTR 4[esi] - mov DWORD PTR [edi],ecx - mov DWORD PTR 4[edi],edx - mov DWORD PTR 16[esp],eax - mov DWORD PTR 20[esp],ebx - add esi, 8 - add edi, 8 - sub ebp, 8 - jnz L018decrypt_loop -$L017decrypt_finish: - mov ebp, DWORD PTR 52[esp] - and ebp, 7 - jz $L007finish - mov eax, DWORD PTR [esi] - mov ebx, DWORD PTR 4[esi] - mov DWORD PTR 8[esp],eax - mov DWORD PTR 12[esp],ebx - call _RC5_32_decrypt - mov eax, DWORD PTR 8[esp] - mov ebx, DWORD PTR 12[esp] - mov ecx, DWORD PTR 16[esp] - mov edx, DWORD PTR 20[esp] - xor ecx, eax - xor edx, ebx - mov eax, DWORD PTR [esi] - mov ebx, DWORD PTR 4[esi] -L019dj7: - ror edx, 16 - mov BYTE PTR 6[edi],dl - shr edx, 16 -L020dj6: - mov BYTE PTR 5[edi],dh -L021dj5: - mov BYTE PTR 4[edi],dl -L022dj4: - mov DWORD PTR [edi],ecx - jmp $L023djend -L024dj3: - ror ecx, 16 - mov BYTE PTR 2[edi],cl - shl ecx, 16 -L025dj2: - mov BYTE PTR 1[esi],ch -L026dj1: - mov BYTE PTR [esi], cl -$L023djend: - jmp $L007finish -$L007finish: - mov ecx, DWORD PTR 60[esp] - add esp, 24 - mov DWORD PTR [ecx],eax - mov DWORD PTR 4[ecx],ebx - pop edi - pop esi - pop ebx - pop ebp - ret -$L008cbc_enc_jmp_table: - DD 0 - DD L016ej1 - DD L015ej2 - DD L014ej3 - DD L012ej4 - DD L011ej5 - DD L010ej6 - DD L009ej7 -L027cbc_dec_jmp_table: - DD 0 - DD L026dj1 - DD L025dj2 - DD L024dj3 - DD L022dj4 - DD L021dj5 - DD L020dj6 - DD L019dj7 -_RC5_32_cbc_encrypt ENDP -_TEXT ENDS -END |