Function at 0x7a9c40
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.0052846c
mov dl, 6
mov eax, dword [ebp - 8]
call fcn.0052846c
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 0x7a9c8e
xor eax, eax
jmp 0x7a9c91
mov eax, dword [ebp + 0x10]
mov esi, eax
cmp dword [ebp + 0x14], 0
jge 0x7a9c9d
xor eax, eax
jmp 0x7a9ca0
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 0x7a9ccb
mov eax, dword [ebp - 0x34]
jmp 0x7a9cce
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 0x7a9cf9
mov eax, dword [ebp - 0x3c]
jmp 0x7a9cfc
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 0x7a9e1f
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xc], esi
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00527268
mov esi, eax
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
call fcn.00527268
mov edi, eax
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*2]
add esi, eax
cmp dword [ebp + 0x14], 0
jge 0x7a9d61
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 0x7a9e13
inc edx
mov dword [ebp - 0x30], edx
cmp byte [ebp + 8], 0
je 0x7a9d99
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.007a9c18
test al, al
jne 0x7a9e04
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.00407234
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.00407234
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.00407234
mov byte [ebx + 2], al
add edi, 3
add esi, 3
dec dword [ebp - 0x30]
jne 0x7a9d73
inc dword [ebp - 0xc]
dec dword [ebp - 0x2c]
jne 0x7a9d29
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10