Function at 0x4f5550
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 8
mov esi, ecx
mov eax, 0x400
xor ecx, ecx
jmp 0x4f55a7
movzx edi, di
movzx edi, byte [edx + edi]
movzx ebx, bx
movzx ebx, byte [edx + ebx]
shl edi, 0x10
shl ebx, 8
or ebx, edi
movzx edi, bp
movzx edi, byte [edx + edi]
or edi, ebx
shl edi, 8
movzx ebx, cx
movzx ebx, byte [edx + ebx]
or ebx, edi
xor dword [esi + eax*4], ebx
inc ecx
inc eax
cmp eax, 0x412
je 0x4f5606
cmp cx, 0x40
jb 0x4f55c0
xor edi, edi
lea ebx, [edi + 1]
cmp bx, 0x40
jae 0x4f55cb
jmp 0x4f55cd
mov edi, ecx
lea ebx, [edi + 1]
cmp bx, 0x40
jb 0x4f55cd
xor ebx, ebx
lea ebp, [ebx + 1]
cmp bp, 0x40
jae 0x4f55f0
lea ecx, [ebp + 1]
cmp cx, 0x40
jb 0x4f5570
jmp 0x4f55ff
xor ebp, ebp
lea ecx, [ebp + 1]
cmp cx, 0x40
jb 0x4f5570
xor ecx, ecx
jmp 0x4f5570
mov dword [esp], 0
mov dword [esp + 4], 0
lea ebx, [esp + 4]
mov edi, esp
mov ecx, esi
mov edx, edi
push ebx
call fcn.004f5830
add esp, 4
mov eax, dword [esp]
mov dword [esi + 0x1000], eax
mov eax, dword [esp + 4]
mov dword [esi + 0x1004], eax
mov ecx, esi
mov edx, edi
push ebx
call fcn.004f5830
add esp, 4
mov eax, dword [esp]
mov dword [esi + 0x1008], eax
mov eax, dword [esp + 4]
mov dword [esi + 0x100c], eax
mov ecx, esi
mov edx, edi
push ebx
call fcn.004f5830
add esp, 4
mov eax, dword [esp]
mov dword [esi + 0x1010], eax
mov eax, dword [esp + 4]
mov dword [esi + 0x1014], eax
mov ecx, esi
mov edx, edi
push ebx
call fcn.004f5830
add esp, 4
mov eax, dword [esp]
mov dword [esi + 0x1018], eax
mov eax, dword [esp + 4]
mov dword [esi + 0x101c], eax
mov ecx, esi
mov edx, edi
push ebx
call fcn.004f5830
add esp, 4
mov eax, dword [esp]
mov dword [esi + 0x1020], eax
mov eax, dword [esp + 4]
mov dword [esi + 0x1024], eax
mov ecx, esi
mov edx, edi
push ebx
call fcn.004f5830
add esp, 4
mov eax, dword [esp]
mov dword [esi + 0x1028], eax
mov eax, dword [esp + 4]
mov dword [esi + 0x102c], eax
mov ecx, esi
mov edx, edi
push ebx
call fcn.004f5830
add esp, 4
mov eax, dword [esp]
mov dword [esi + 0x1030], eax
mov eax, dword [esp + 4]
mov dword [esi + 0x1034], eax
mov ecx, esi
mov edx, edi
push ebx
call fcn.004f5830
add esp, 4
mov eax, dword [esp]
mov dword [esi + 0x1038], eax
mov eax, dword [esp + 4]
mov dword [esi + 0x103c], eax
mov ecx, esi
mov edx, edi
push ebx
call fcn.004f5830
add esp, 4
mov eax, dword [esp]
mov dword [esi + 0x1040], eax
mov eax, dword [esp + 4]
mov dword [esi + 0x1044], eax
mov ebp, 0xfffffffe
mov ecx, esi
mov edx, edi
push ebx
call fcn.004f5830
add esp, 4
mov eax, dword [esp]
mov dword [esi + ebp*4 + 8], eax
mov eax, dword [esp + 4]
mov dword [esi + ebp*4 + 0xc], eax
add ebp, 2
cmp ebp, 0xfe
jb 0x4f5740
mov ebp, 0xfffffffe
mov edi, esp
nop
mov ecx, esi
mov edx, edi
push ebx
call fcn.004f5830
add esp, 4
mov eax, dword [esp]
mov dword [esi + ebp*4 + 0x408], eax
mov eax, dword [esp + 4]
mov dword [esi + ebp*4 + 0x40c], eax
add ebp, 2
cmp ebp, 0xfe
jb 0x4f5770
mov ebp, 0xfffffffe
mov edi, esp
nop word cs:[eax + eax]
mov ecx, esi
mov edx, edi
push ebx
call fcn.004f5830
add esp, 4
mov eax, dword [esp]
mov dword [esi + ebp*4 + 0x808], eax
mov eax, dword [esp + 4]
mov dword [esi + ebp*4 + 0x80c], eax
add ebp, 2
cmp ebp, 0xfe
jb 0x4f57b0
mov ebp, 0xfffffffe
mov edi, esp
nop word cs:[eax + eax]
mov ecx, esi
mov edx, edi
push ebx
call fcn.004f5830
add esp, 4
mov eax, dword [esp]
mov dword [esi + ebp*4 + 0xc08], eax
mov eax, dword [esp + 4]
mov dword [esi + ebp*4 + 0xc0c], eax
add ebp, 2
cmp ebp, 0xfe
jb 0x4f57f0
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret