Function at 0x480c36
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffed4
push ebx
push esi
push edi
mov ebx, dword [ebp + 0x24]
mov edi, dword [ebp + 0x10]
mov eax, 0x4d795d
call fcn.004c1e68
mov dword [ebp - 0x28], 0x7fffffff
mov word [ebp - 0x14], 8
cmp dword [ebp + 0x14], 0
jne 0x480e67
xor esi, esi
jmp 0x480c7e
mov byte [ebx + esi + 0x164e7], 0
mov byte [ebx + esi + 0x15547], 1
inc esi
cmp esi, dword [ebx + 0x22]
jl 0x480c6d
xor esi, esi
jmp 0x480e48
xor edi, edi
xor eax, eax
mov al, byte [ebx + esi + 0x346]
and eax, 0xff
dec eax
shl eax, 2
imul edx, edi, 0x320
add eax, edx
push 4
lea eax, [eax + ebx + 0x41c6]
push eax
lea edx, [ebp - 0x2c]
push edx
call fcn.0047b5a4
add esp, 0xc
cmp dword [ebp - 0x2c], 0
jne 0x480cc8
inc edi
cmp edi, 0x19
jle 0x480c8c
cmp edi, 0x1a
je 0x480e47
push 0
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffffc
push ecx
push dword [ebx + 0xc]
call fcn.004c35b8
add esp, 0xc
inc eax
je 0x480d00
push 1
push 2
lea eax, [ebp - 0x2e]
push eax
push dword [ebx + 0xc]
call fcn.0047b5ba
add esp, 0x10
cmp eax, 2
je 0x480d13
xor eax, eax
push eax
lea edx, [ebp - 0x24]
push edx
call fcn.004c1013
pop ecx
pop eax
jmp 0x480fc4
movsx edx, word [ebp - 0x2e]
add edx, 0xfffffffc
add dword [ebp - 0x2c], edx
xor eax, eax
mov al, byte [ebx + esi + 0x12e6]
and eax, 0xff
add eax, eax
add eax, dword [ebp - 0x2c]
push 0
push eax
push dword [ebx + 0xc]
call fcn.004c35b8
add esp, 0xc
inc eax
jne 0x480d54
xor eax, eax
push eax
lea edx, [ebp - 0x24]
push edx
call fcn.004c1013
pop ecx
pop eax
jmp 0x480fc4
push 1
push 2
lea edx, [ebp - 0x30]
push edx
push dword [ebx + 0xc]
call fcn.0047b5ba
add esp, 0x10
cmp eax, 2
je 0x480d7f
xor eax, eax
push eax
lea edx, [ebp - 0x24]
push edx
call fcn.004c1013
pop ecx
pop eax
jmp 0x480fc4
movsx edx, word [ebp - 0x2e]
mov ecx, dword [ebp - 0x2c]
sub ecx, edx
movzx eax, word [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x2c], ecx
push 0
push dword [ebp - 0x2c]
push dword [ebx + 0xc]
call fcn.004c35b8
add esp, 0xc
inc eax
jne 0x480db7
xor eax, eax
push eax
lea edx, [ebp - 0x24]
push edx
call fcn.004c1013
pop ecx
pop eax
jmp 0x480fc4
push dword [ebx + 0xc]
call fcn.004c5608
pop ecx
mov edi, eax
sub edi, dword [ebp - 0x2c]
cmp edi, 0xfa
jge 0x480df9
push 0
push edi
lea eax, [ebp - 0x12c]
push eax
push dword [ebx + 0xc]
call fcn.0047b5ba
add esp, 0x10
cmp edi, eax
je 0x480e2c
xor eax, eax
push eax
lea edx, [ebp - 0x24]
push edx
call fcn.004c1013
pop ecx
pop eax
jmp 0x480fc4
push 0
push 0xfa
lea edx, [ebp - 0x12c]
push edx
push dword [ebx + 0xc]
call fcn.0047b5ba
add esp, 0x10
cmp eax, 0xfa
je 0x480e2c
xor eax, eax
push eax
lea edx, [ebp - 0x24]
push edx
call fcn.004c1013
pop ecx
pop eax
jmp 0x480fc4
cmp byte [ebp - 0x12c], 0
je 0x480e47
xor edx, edx
mov dl, byte [ebp - 0x12b]
sar edx, 4
mov byte [ebx + esi + 0x164e7], dl
inc esi
cmp esi, dword [ebx + 0x22]
jl 0x480c8a
mov eax, 1
push eax
lea edx, [ebp - 0x24]
push edx
call fcn.004c1013
pop ecx
pop eax
jmp 0x480fc4
xor esi, esi
jmp 0x480eca
cmp byte [ebx + esi + 0x15547], 2
je 0x480ec9
cmp byte [ebx + esi + 0x15547], 3
je 0x480ec9
cmp byte [ebx + esi + 0x3226], 0
jne 0x480e93
mov byte [ebx + esi + 0x15547], 2
jmp 0x480ec9
mov al, byte [ebx + esi + 0x164e7]
cmp al, byte [ebx + esi + 0x2286]
jne 0x480ead
mov byte [ebx + esi + 0x15547], 3
jmp 0x480ec9
mov eax, edi
cdq
xor eax, edx
sub eax, edx
xor ecx, ecx
mov cl, byte [ebx + esi + 0x164e7]
cmp eax, ecx
jle 0x480ec9
mov byte [ebx + esi + 0x15547], 2
inc esi
cmp esi, dword [ebx + 0x22]
jl 0x480e6b
xor eax, eax
mov dword [ebx + 0x15543], eax
xor esi, esi
jmp 0x480f10
cmp byte [ebx + esi + 0x15547], 2
je 0x480f0f
cmp byte [ebx + esi + 0x15547], 1
je 0x480f0f
xor eax, eax
mov al, byte [ebx + esi + 0x164e7]
cmp eax, dword [ebx + 0x15543]
jle 0x480f0f
xor edx, edx
mov dl, byte [ebx + esi + 0x164e7]
mov dword [ebx + 0x15543], edx
inc esi
cmp esi, dword [ebx + 0x22]
jl 0x480edb
mov ecx, dword [ebx + 0x15543]
mov eax, dword [ebp + 0x1c]
mov dword [eax], ecx
xor esi, esi
xor eax, eax
jmp 0x480f70
cmp byte [ebx + esi + 0x15547], 3
jne 0x480f6f
xor edx, edx
mov dl, byte [ebx + esi + 0x164e7]
cmp edx, dword [ebx + 0x15543]
jne 0x480f6f
mov cl, byte [ebx + esi + 0x346]
mov edx, dword [ebp + 8]
mov byte [edx + eax], cl
mov cl, byte [ebx + esi + 0x12e6]
mov edx, dword [ebp + 0xc]
mov byte [edx + eax], cl
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
xor edx, edx
mov dl, byte [ebx + esi + 0x3226]
mov ecx, dword [ebp + 0x20]
mov dword [ecx], edx
inc eax
inc esi
cmp esi, dword [ebx + 0x22]
jl 0x480f26
cmp dword [ebx + 0x15543], 0
jle 0x480f91
mov eax, 1
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004c1013
pop ecx
pop eax
jmp 0x480fc4
xor eax, eax
push eax
lea edx, [ebp - 0x24]
push edx
call fcn.004c1013
pop ecx
pop eax
jmp 0x480fc4
mov edi, dword [ebp - 0x138]
mov esi, dword [ebp - 0x134]
mov ebx, dword [ebp - 0x130]
mov esp, ebp
pop ebp
ret