Function at 0xdda1b0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov esi, dword [esp + edx*4 + 0x24]
shl esi, cl
add eax, esi
dec edx
inc ecx
cmp edx, 1
ja entry0
mov edx, 1
mov ecx, ebx
shl edx, cl
cmp eax, edx
jne 0xdda44d
jmp 0xdda1f3
shl ebp, 5
mov esi, dword [esp + 0x10]
lea eax, [esi + ebp]
add eax, 0x8f12
push 0x120
push 0
push eax
call fcn.00dda710
add esp, 0xc
mov eax, dword [esp + 0x20]
add eax, esi
add eax, 0x8852
push 0x240
push 0
push eax
call fcn.00dda710
add esp, 0xc
test ebx, ebx
jle 0xdda2ff
add edi, 0xfffffffe
mov eax, 1
add ebp, dword [esp + 0x10]
jmp 0xdda263
mov esi, dword [esp]
mov dword [esp], esi
lea ecx, [eax + 1]
cmp eax, ebx
mov eax, ecx
je 0xdda2ff
mov ecx, dword [esp + eax*4 + 0x28]
test ecx, ecx
jle 0xdda250
mov edx, ecx
and edx, 3
je 0xdda2b0
mov dword [esp + 8], ecx
mov ecx, dword [esp]
lea ebx, [edi + ecx*4]
xor esi, esi
nop
nop
mov ecx, ebp
movzx ebp, word [ebx]
mov byte [ebp + ecx + 0x8f12], al
mov ebp, ecx
inc esi
add ebx, 0xfffffffc
cmp edx, esi
jne 0xdda280
sub dword [esp], esi
mov ecx, dword [esp + 8]
mov edx, ecx
sub edx, esi
mov ebx, dword [esp + 0x15c4]
jmp 0xdda2b2
mov edx, ecx
cmp ecx, 4
mov esi, dword [esp]
jb 0xdda253
dec edx
nop
nop
nop
nop
nop
movzx ecx, word [edi + esi*4]
mov byte [ecx + ebp + 0x8f12], al
movzx ecx, word [edi + esi*4 - 4]
mov byte [ecx + ebp + 0x8f12], al
movzx ecx, word [edi + esi*4 - 8]
mov byte [ecx + ebp + 0x8f12], al
movzx ecx, word [edi + esi*4 - 0xc]
add esi, 0xfffffffc
mov byte [ecx + ebp + 0x8f12], al
add edx, 0xfffffffc
cmp edx, 0xfffffffe
jb 0xdda2c0
jmp 0xdda253
mov ecx, dword [esp + 0x15c0]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x530], 0
cmp ebx, 2
jl 0xdda37d
lea ecx, [ebx - 1]
cmp ebx, 2
jne 0xdda32b
xor eax, eax
mov edx, 2
jmp 0xdda364
mov ebx, ecx
and ebx, 0xfffffffe
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add eax, dword [esp + edx*4 + 0x2c]
add eax, eax
mov dword [esp + edx*4 + 0x534], eax
add eax, dword [esp + edx*4 + 0x30]
add eax, eax
mov dword [esp + edx*4 + 0x538], eax
add edx, 2
cmp ebx, edx
jne 0xdda340
add edx, 2
test cl, 1
mov ecx, dword [esp + 0x15c0]
je 0xdda37d
add eax, dword [esp + edx*4 + 0x24]
add eax, eax
mov dword [esp + edx*4 + 0x52c], eax
test ecx, ecx
jle 0xdda442
xor eax, eax
mov ecx, dword [esp + 0x14]
lea ecx, [ecx + ecx*8]
mov edx, ecx
shl edx, 5
add edx, edi
shl ecx, 6
add ecx, edi
mov dword [esp + 8], ecx
jmp 0xdda3c4
mov ecx, dword [esp + 8]
mov word [ecx + eax*2 + 0x8852], di
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, dword [esp + 0x15c0]
jge 0xdda442
movzx ebx, byte [eax + edx + 0x8f12]
test ebx, ebx
je 0xdda3ac
mov ecx, dword [esp + ebx*4 + 0x52c]
lea edi, [ecx + 1]
mov dword [esp + ebx*4 + 0x52c], edi
xor edi, edi
cmp bl, 4
jb 0xdda41f
mov ebp, ebx
and ebp, 0xfffffffc
xor edi, edi
nop
mov esi, ecx
and esi, 1
shl esi, 2
lea esi, [esi + edi*8]
mov edi, ecx
and edi, 2
or edi, esi
mov esi, ecx
shr esi, 2
and esi, 1
or esi, edi
mov edi, ecx
shr edi, 3
and edi, 1
lea edi, [edi + esi*2]
shr ecx, 4
add ebp, 0xfffffffc
jne 0xdda3f0
and ebx, 3
je 0xdda3a0
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 1
lea edi, [esi + edi*2]
shr ecx, 1
dec ebx
jne 0xdda430
jmp 0xdda3a0
add esp, 0x15ac
pop esi
pop edi
pop ebx
pop ebp
ret
dec dword [esp + ebx*4 + 0x28]
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp ecx, 2
jl 0xdda485
mov esi, dword [esp + ecx*4 + 0x24]
dec ecx
test esi, esi
je 0xdda460
mov ebx, esi
not ebx
lea esi, [ebx + esi*2]
mov ebx, dword [esp + 0x15c4]
mov dword [esp + ecx*4 + 0x28], esi
add dword [esp + ecx*4 + 0x2c], 2
mov ecx, eax
not ecx
lea eax, [ecx + eax*2]
cmp eax, edx
jne 0xdda44d
jmp 0xdda1f3