Function at 0x10008f33
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
and dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0x1f
jmp 0x10008f4d
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jl 0x10009313
mov dword [ebp - 0x18], 0xc6
cmp dword [ebp - 0x18], 0x1b11
jle 0x10009056
shr dword [esi], cl
adc esp, 0xaca412
inc edi
sub dword [eax + ebx*8], 0xb42f6714
loop 0x10008fa4
insb byte es:[edi], dx
mov eax, dword [ebx + 0x6a]
test byte [ebp + 6], al
ljmp 0xb6f8
std
mov edx, 0x84ac2c1e
ror eax, 0x62
movsd dword es:[edi], dword [esi]
ret 0xb809
xor eax, eax
inc eax
mov ecx, dword [ebp - 0xc]
shl eax, cl
and eax, dword [ebp + 8]
je 0x10009069
mov byte [ebp - 1], 1
jmp 0x1000906d
mov byte [ebp - 1], 0
mov al, byte [ebp - 1]
mov byte [ebp - 3], al
mov dword [ebp - 0x1c], 0x768
cmp dword [ebp - 0x1c], 0x265c
jle 0x100090f1
pop eax
mov dl, byte [edi]
jmp 0xa88cab28
xor eax, eax
inc eax
mov ecx, dword [ebp - 0xc]
shl eax, cl
and eax, dword [ebp + 0xc]
je 0x10009104
mov byte [ebp - 2], 1
jmp 0x10009108
mov byte [ebp - 2], 0
mov al, byte [ebp - 2]
mov byte [ebp - 4], al
mov dword [ebp - 0x20], 0xb45
cmp dword [ebp - 0x20], 0x1afd
jle 0x10009196
das
fadd dword [esi + 0x21d96f3d]
movsd dword es:[edi], dword [esi]
xor eax, dword [ecx]
std
add dword [eax + ecx*4], eax
invalid
movzx eax, byte [ebp - 3]
movzx ecx, byte [ebp - 4]
and eax, ecx
je 0x100091a8
and dword [ebp - 0x14], 0
jmp 0x100091b5
movzx eax, byte [ebp - 3]
movzx ecx, byte [ebp - 4]
or eax, ecx
mov dword [ebp - 0x14], eax
mov al, byte [ebp - 0x14]
mov byte [ebp - 5], al
mov dword [ebp - 0x24], 0x1072
cmp dword [ebp - 0x24], 0x1d9a
jle 0x1000927e
invalid
mov eax, dword [ebp - 0x10]
shl eax, 1
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 0x12c2
cmp dword [ebp - 0x28], 0x171e
jle 0x10009304
loop 0x1000931e
sbb ecx, dword [edx]
or edi, dword [ecx - 0x48]
jge 0x10009314
xchg dword [eax + 0x5abd611e], edi
jmp 0x100092e2
inc esi
aad 0x1e
push es
movsb byte es:[edi], byte [esi]
shr byte [eax + 0xad02522], cl
test eax, 0xf18942b0
mov al, 0x60
ja 0x100092a7
les eax, [ecx + 0x18]
aad 0xa9
sbb al, 0x35
pop ebp
xor edx, dword [ebp + 0x5c]
inc ecx
sbb ch, dl
test eax, 0x335d351c
push ebp
pop esp
ret 0x6df6
movzx eax, byte [ebp - 5]
or eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jmp 0x10008f46
mov dword [ebp - 0x2c], 0x411
cmp dword [ebp - 0x2c], 0x1776
inc ebp
aam 0x11
add al, 0
add byte [ecx + 0x1776d47d], al
pop ss
add byte [eax], al
jle 0x10009373
sub al, 0
rol dword [esi + 0x7c], 1
jbe 0x10009387
mov eax, dword fs:[0xf8c59f7a]
dec esp
mov ecx, 0xccb7133c
in al, dx
cmpsd dword [esi], dword es:[edi]
or eax, 0xc8716814
in eax, 2
or esp, esp
fld xword [edi]
jns 0x100092cf
popal
outsb dx, byte [esi]
adc dword [ecx - 0x37], esi
sbb dword [ecx - 0x6db3ac99], 0x48
add al, 0x8e
fbld tbyte [ebx]
out 0x27, al
out 0x80, eax
inc edi
dec edi
push esp
or ecx, dword [ecx + edx + 0x35ddacb]
in eax, dx
call dword [edi]
imul dl
push ebp
add byte [esp + edi*4], bl
inc dword [edi]
jle 0x100093a3
ljmp 0xe58b:0xf0458b44
mov eax, dword [ebp - 0x10]
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x100093ac
push 0x2c
pop ecx
xor edx, edx
mov eax, esi
div ecx
mov eax, dword [ebp + 8]
push dword [eax + edx*4]
push dword [ebx + esi*4]
call fcn.10008f33
mov dword [ebx + esi*4], eax
add al, 0xb3
inc esi
pop ecx
pop ecx
cmp esi, edi
jb 0x1000938b
pop edi
pop esi
pop ebx
pop ebp
ret