Function at 0x4834e0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub esp, 0x1c
push ebx
add ecx, 1
push ebp
mov ebp, dword [esp + 0x34]
push esi
mov esi, eax
mov eax, 1
shl eax, cl
mov dword [esi + 0x7664], ecx
mov dword [esi + 0x7654], ecx
add ecx, 0xffffffff
sub eax, 1
mov dword [esi + 0x765c], eax
xor eax, eax
mov edx, 1
shl edx, cl
mov dword [esi + 0x764c], eax
mov dword [esi + 0x7660], eax
mov dword [esi + 0x7658], eax
lea eax, [edx + 2]
mov word [esi + 0x7652], ax
push edi
or eax, 0xffffffff
lea edi, [esi + 8]
mov ecx, 0x138b
mov byte [esi + 0x7650], 0
lea ebx, [edx + 1]
rep stosd dword es:[edi], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ebx
xor eax, eax
mov ecx, 0x138b
lea ebx, [ebx]
add ecx, ecx
add eax, 1
cmp ecx, 0x10000
jl 0x483560
mov ecx, 8
sub ecx, eax
mov eax, dword [esp + 0x40]
push ebx
push edx
mov dword [esp + 0x30], ecx
call fcn.00483750
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
lea ebx, [edx - 1]
imul ebx, ebp
movzx di, byte [ebx + eax]
add edx, 0xfffffffe
imul edx, ebp
add ebx, eax
mov ecx, 1
add ebx, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], ecx
mov ecx, ebp
movzx edi, di
neg ecx
add edx, eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x34]
jne 0x4835f1
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x38]
jne 0x4835da
xor ebx, ebx
jmp 0x4835e9
add dword [esp + 0x10], 1
mov ebx, edx
add edx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
mov dword [esp + 0x30], 0
test ebx, ebx
je 0x483601
movzx eax, byte [ebx]
mov dword [esp + 0x14], eax
add ebx, 1
jmp 0x48360d
mov dword [esp + 0x14], 0xffffffff
mov eax, dword [esp + 0x14]
add dword [esp + 0x30], 1
cmp eax, 0xffffffff
je 0x483727
mov edi, dword [esp + 0x3c]
movsx ecx, di
mov ebp, eax
shl ebp, 0xc
add ebp, ecx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x28]
shl eax, cl
xor eax, edi
movzx edi, ax
movsx eax, di
mov ecx, dword [esi + eax*4 + 8]
cmp ecx, ebp
jne 0x483654
movzx ecx, word [esi + eax*2 + 0x4e34]
mov dword [esp + 0x3c], ecx
jmp 0x4835c2
test ecx, ecx
jl 0x48368c
mov eax, 0x138b
sub eax, edi
test di, di
movzx ecx, ax
jne 0x483670
mov ecx, 1
lea esp, [esp]
sub edi, ecx
test di, di
jge 0x48367d
add edi, 0x138b
movsx eax, di
mov eax, dword [esi + eax*4 + 8]
cmp eax, ebp
je 0x4836d5
test eax, eax
jg 0x483670
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
push ecx
push edx
call fcn.00483750
movzx eax, word [esp + 0x14]
mov dword [esp + 0x3c], eax
movzx eax, word [esi + 0x7652]
cmp ax, 0x1000
jge 0x4836e9
mov edx, dword [esp + 0x18]
movsx ecx, di
mov word [esi + ecx*2 + 0x4e34], ax
add word [esi + 0x7652], 1
mov dword [esi + ecx*4 + 8], ebp
jmp 0x4835c2
movsx ecx, di
movzx eax, word [esi + ecx*2 + 0x4e34]
mov dword [esp + 0x3c], eax
jmp 0x4835c2
mov edx, dword [esp + 0x20]
or eax, 0xffffffff
mov ecx, 0x138b
lea edi, [esi + 8]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
add eax, 2
push ecx
mov word [esi + 0x7652], ax
mov eax, dword [esp + 0x44]
push edx
mov byte [esi + 0x7650], 1
call fcn.00483750
mov edx, dword [esp + 0x18]
jmp 0x4835c2
movsx eax, word [esp + 0x3c]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x40]
push edi
push eax
mov eax, ebx
call fcn.00483750
push edi
push edi
mov eax, ebx
call fcn.00483750
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x14