All pastes #399633 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-03-18 03:24 UTC
rendered paste body
encode proc uses eax ebx ecx edx esi edi, output:dword, input:dword, in_len:dword, mem64k:dword
                sub     edx, edx                
                xchg    eax, edx
                pushad
                mov     ebp, esp
                and     ecx, eax
                mov     edi, [ebp+30h]
                cld
                mov     ch, 40h
                push    edi
                rep     stosd
                sub     edx, 2864E25Ch
                mov     esi, [ebp+28h]
                jnz     jq_e0
                dec     edx
         jq_e0: push    ecx
                sub     ax, 0AEB6h
                mov     edi, [ebp+24h]
                pop     ebx
                stosw
                xchg    eax, edx
                pop     ebp
                stosd
                push    edi
                xchg    eax, edx
                push    esp
         jq_e1: test    cl, 7
                lodsb
                jnz     jq_e3
                xchg    edx, [esp]
                adc     ah, dl
                pop     edx
                xchg    edi, [esp]
                ror     edx, 1
                mov     [edi], ah
                jc      jq_e2
                xor     edx, 2C047C3Eh
         jq_e2: pop     edi
                mov     ah, 0FFh
                push    edi
                xor     edx, 76C52B8Dh
                inc     edi
                push    edx
         jq_e3: cmp     al, [ebx+ebp]
                jz      jq_e5
                ror     edx, 1
                mov     [ebx+ebp], al
                jnc     jq_e4
                xor     edx, 2C047C3Eh
         jq_e4: mov     bh, al
                xor     edx, 5AC157B3h
                adc     al, dl
                stosb
                mov     al, bh
                stc
         jq_e5: inc     ecx
                mov     bh, bl
                rcl     ah, 1
                cmp     ecx, [esp+34h]
                mov     bl, al
                jc      jq_e1
                ror     ah, cl
                pop     ebx
                add     ah, bl
                pop     esi
                mov     ebp, esp
                sub     edi, [ebp+24h]
                mov     [ebp+14h], edx
                xchg    ah, [esi]
                add     [ebp+1Ch], edi
                popad
                ret     10h
encode endp