summaryrefslogtreecommitdiff
path: root/lib/libcrypto/rc4/asm
diff options
context:
space:
mode:
authorBob Beck <beck@cvs.openbsd.org>2000-04-15 06:18:52 +0000
committerBob Beck <beck@cvs.openbsd.org>2000-04-15 06:18:52 +0000
commit8023a8fe50e4963b4fba8c86d9623b97c27ce784 (patch)
tree970860d25d50d5f71198db33bd8bcfb6cf5a9864 /lib/libcrypto/rc4/asm
parentd6d4194cda8ed05473dc616aad0ba6818e9fa3a5 (diff)
OpenSSL 0.9.5a merge
Diffstat (limited to 'lib/libcrypto/rc4/asm')
-rw-r--r--lib/libcrypto/rc4/asm/r4-win32.asm314
1 files changed, 0 insertions, 314 deletions
diff --git a/lib/libcrypto/rc4/asm/r4-win32.asm b/lib/libcrypto/rc4/asm/r4-win32.asm
index 70b0f7484cd..e69de29bb2d 100644
--- a/lib/libcrypto/rc4/asm/r4-win32.asm
+++ b/lib/libcrypto/rc4/asm/r4-win32.asm
@@ -1,314 +0,0 @@
- ; Don't even think of reading this code
- ; It was automatically generated by rc4-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 rc4-586.asm
- .386
-.model FLAT
-_TEXT SEGMENT
-PUBLIC _RC4
-
-_RC4 PROC NEAR
- ;
- push ebp
- push ebx
- mov ebp, DWORD PTR 12[esp]
- mov ebx, DWORD PTR 16[esp]
- push esi
- push edi
- mov ecx, DWORD PTR [ebp]
- mov edx, DWORD PTR 4[ebp]
- mov esi, DWORD PTR 28[esp]
- inc ecx
- sub esp, 12
- add ebp, 8
- and ecx, 255
- lea ebx, DWORD PTR [esi+ebx-8]
- mov edi, DWORD PTR 44[esp]
- mov DWORD PTR 8[esp],ebx
- mov eax, DWORD PTR [ecx*4+ebp]
- cmp ebx, esi
- jl $L000end
-L001start:
- add esi, 8
- ; Round 0
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov eax, DWORD PTR [ecx*4+ebp]
- mov BYTE PTR [esp], bl
- ; Round 1
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov eax, DWORD PTR [ecx*4+ebp]
- mov BYTE PTR 1[esp],bl
- ; Round 2
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov eax, DWORD PTR [ecx*4+ebp]
- mov BYTE PTR 2[esp],bl
- ; Round 3
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov eax, DWORD PTR [ecx*4+ebp]
- mov BYTE PTR 3[esp],bl
- ; Round 4
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov eax, DWORD PTR [ecx*4+ebp]
- mov BYTE PTR 4[esp],bl
- ; Round 5
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov eax, DWORD PTR [ecx*4+ebp]
- mov BYTE PTR 5[esp],bl
- ; Round 6
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov eax, DWORD PTR [ecx*4+ebp]
- mov BYTE PTR 6[esp],bl
- ; Round 7
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- add edi, 8
- mov BYTE PTR 7[esp],bl
- ; apply the cipher text
- mov eax, DWORD PTR [esp]
- mov ebx, DWORD PTR [esi-8]
- xor eax, ebx
- mov ebx, DWORD PTR [esi-4]
- mov DWORD PTR [edi-8],eax
- mov eax, DWORD PTR 4[esp]
- xor eax, ebx
- mov ebx, DWORD PTR 8[esp]
- mov DWORD PTR [edi-4],eax
- mov eax, DWORD PTR [ecx*4+ebp]
- cmp esi, ebx
- jle L001start
-$L000end:
- ; Round 0
- add ebx, 8
- inc esi
- cmp ebx, esi
- jl $L002finished
- mov DWORD PTR 8[esp],ebx
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov eax, DWORD PTR [ecx*4+ebp]
- mov bh, BYTE PTR [esi-1]
- xor bl, bh
- mov BYTE PTR [edi], bl
- ; Round 1
- mov ebx, DWORD PTR 8[esp]
- cmp ebx, esi
- jle $L002finished
- inc esi
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov eax, DWORD PTR [ecx*4+ebp]
- mov bh, BYTE PTR [esi-1]
- xor bl, bh
- mov BYTE PTR 1[edi],bl
- ; Round 2
- mov ebx, DWORD PTR 8[esp]
- cmp ebx, esi
- jle $L002finished
- inc esi
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov eax, DWORD PTR [ecx*4+ebp]
- mov bh, BYTE PTR [esi-1]
- xor bl, bh
- mov BYTE PTR 2[edi],bl
- ; Round 3
- mov ebx, DWORD PTR 8[esp]
- cmp ebx, esi
- jle $L002finished
- inc esi
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov eax, DWORD PTR [ecx*4+ebp]
- mov bh, BYTE PTR [esi-1]
- xor bl, bh
- mov BYTE PTR 3[edi],bl
- ; Round 4
- mov ebx, DWORD PTR 8[esp]
- cmp ebx, esi
- jle $L002finished
- inc esi
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov eax, DWORD PTR [ecx*4+ebp]
- mov bh, BYTE PTR [esi-1]
- xor bl, bh
- mov BYTE PTR 4[edi],bl
- ; Round 5
- mov ebx, DWORD PTR 8[esp]
- cmp ebx, esi
- jle $L002finished
- inc esi
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov eax, DWORD PTR [ecx*4+ebp]
- mov bh, BYTE PTR [esi-1]
- xor bl, bh
- mov BYTE PTR 5[edi],bl
- ; Round 6
- mov ebx, DWORD PTR 8[esp]
- cmp ebx, esi
- jle $L002finished
- inc esi
- add edx, eax
- and edx, 255
- inc ecx
- mov ebx, DWORD PTR [edx*4+ebp]
- mov DWORD PTR [ecx*4+ebp-4],ebx
- add ebx, eax
- and ecx, 255
- and ebx, 255
- mov DWORD PTR [edx*4+ebp],eax
- nop
- mov ebx, DWORD PTR [ebx*4+ebp]
- mov bh, BYTE PTR [esi-1]
- xor bl, bh
- mov BYTE PTR 6[edi],bl
-$L002finished:
- dec ecx
- add esp, 12
- mov DWORD PTR [ebp-4],edx
- mov BYTE PTR [ebp-8],cl
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
-_RC4 ENDP
-_TEXT ENDS
-END