Function at 0x4d69040
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffbc
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov edi, dword [ebp + 0xc]
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.04ae786c
mov dl, 6
mov eax, dword [ebp - 8]
call fcn.04ae786c
movzx eax, bl
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
fdiv dword [0x7a9e28]
fstp qword [ebp - 0x20]
wait
fld1
fsub qword [ebp - 0x20]
fstp qword [ebp - 0x28]
wait
cmp dword [ebp + 0x10], 0
jge 0x4d6908e
xor eax, eax
jmp 0x4d69091
mov eax, dword [ebp + 0x10]
mov esi, eax
cmp dword [ebp + 0x14], 0
jge 0x4d6909d
xor eax, eax
jmp 0x4d690a0
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x30]
dec eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x30]
add eax, dword [ebp + 0x14]
dec eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x38]
jge 0x4d690cb
mov eax, dword [ebp - 0x34]
jmp 0x4d690ce
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x24]
dec eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x24]
add eax, dword [ebp + 0x10]
dec eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x40]
jge 0x4d690f9
mov eax, dword [ebp - 0x3c]
jmp 0x4d690fc
mov eax, dword [ebp - 0x40]
mov edx, edi
and dl, 0xff
mov byte [ebp - 0x15], dl
mov edx, edi
shr edx, 8
mov ecx, edx
and cl, 0xff
mov byte [ebp - 0x16], cl
shr edx, 8
and dl, 0xff
mov byte [ebp - 0x17], dl
sub eax, esi
jl 0x4d6921f
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xc], esi
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.04ae6668
mov esi, eax
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
call fcn.04ae6668
mov edi, eax
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*2]
add esi, eax
cmp dword [ebp + 0x14], 0
jge 0x4d69161
mov eax, dword [ebp + 0x14]
cdq
xor eax, edx
sub eax, edx
lea eax, [eax + eax*2]
add edi, eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
sub edx, eax
jl 0x4d69213
inc edx
mov dword [ebp - 0x30], edx
cmp byte [ebp + 8], 0
je 0x4d69199
movzx eax, byte [edi + 2]
shl eax, 0x10
mov ax, word [edi]
push eax
movzx eax, byte [ebp - 0x15]
shl eax, 0x10
mov ax, word [ebp - 0x17]
push eax
call fcn.04d69018
test al, al
jne 0x4d69204
mov ebx, edi
movzx eax, byte [esi]
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
fmul qword [ebp - 0x20]
movzx eax, byte [ebx]
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
fmul qword [ebp - 0x28]
faddp st(1)
call fcn.049c6634
mov byte [ebx], al
movzx eax, byte [esi + 1]
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
fmul qword [ebp - 0x20]
movzx eax, byte [ebx + 1]
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
fmul qword [ebp - 0x28]
faddp st(1)
call fcn.049c6634
mov byte [ebx + 1], al
movzx eax, byte [esi + 2]
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
fmul qword [ebp - 0x20]
movzx eax, byte [ebx + 2]
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
fmul qword [ebp - 0x28]
faddp st(1)
call fcn.049c6634
mov byte [ebx + 2], al
add edi, 3
add esi, 3
dec dword [ebp - 0x30]
jne 0x4d69173
inc dword [ebp - 0xc]
dec dword [ebp - 0x2c]
jne 0x4d69129
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10