Unnamed
public text v1 · immutableencode 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