Function at 0x10008860
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x100110b4]
mov word [ebp - 0x10], ax
mov eax, dword [0x100110b4]
mov word [ebp - 8], ax
mov eax, 0xcb
mov word [ebp - 0xc], ax
mov byte [ebp - 1], 0xc3
push ebx
push esi
mov esi, edx
mov dword [ebp - 0x1c], ecx
mov edx, dword [0x10011028]
mov eax, dword [0x1001102c]
mov word [ebp - 0x10], dx
movsx eax, byte [0x1001103b]
cdq
mov dword [ebp - 0x18], eax
movzx eax, byte [0x1001109c]
mov dword [ebp - 0x14], edx
mov byte [ebp - 2], al
mov dword [ebp - 0x20], 0x2746e9ca
mov al, byte [0x1001103b]
mov cx, word [0x10011098]
mov byte [ebp - 3], al
movsx eax, al
cdq
push edi
mov edi, eax
mov ebx, edx
movzx eax, byte [0x10011033]
cdq
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov cl, byte [0x10011033]
movzx eax, byte [0x10011006]
cdq
mov dword [ebp - 0x18], eax
mov eax, 0x4027
mov dword [ebp - 0x14], edx
mov dl, byte [0x10011005]
mov word [ebp - 0x14], ax
mov eax, dword [0x10011018]
mov ecx, dword [0x1001101c]
mov dword [ebp - 0x18], eax
mov eax, 0xe5
mov dword [ebp - 0x14], ecx
mov word [ebp - 0x14], ax
movsx eax, byte [0x10011004]
mov dword [ebp - 0x18], 0xae
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x14], eax
mov ecx, dword [0x10011010]
mov eax, dword [0x10011014]
mov word [ebp - 0x14], cx
mov ax, word [ebp - 8]
mov eax, dword [0x1001465c]
mov dword [0x100110c4], eax
mov ax, word [ebp - 0xc]
mov eax, dword [0x100110c0]
mov ecx, dword [0x10011018]
mov eax, dword [0x1001101c]
or ecx, eax
je 0x10008978
movsx eax, byte [ebp - 0x10]
imul eax, eax, 0x2a
mov byte [0x1001103b], al
jmp 0x100089e2
cmp dword [ebp - 0x20], 0
jne 0x10008989
test dl, dl
jne 0x10008989
mov ecx, 1
jmp 0x1000898b
xor ecx, ecx
movzx eax, byte [0x10011033]
cmp word [0x10011038], ax
sbb eax, eax
inc eax
cmp ecx, eax
jb 0x100089c3
mov eax, dword [0x100110c0]
sub edi, eax
movzx eax, byte [0x10011006]
cdq
sbb ebx, 0
add eax, edi
mov dword [0x10011060], eax
adc edx, ebx
mov dword [0x10011064], edx
jmp 0x100089e2
cmp byte [ebp - 2], 0
jne 0x100089e2
mov cl, byte [ebp - 2]
mov eax, 0x8d
mov word [0x10011044], ax
mov al, byte [ebp - 1]
add cl, al
xor cl, byte [ebp - 1]
mov byte [ebp - 1], cl
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x10008af3
mov al, byte [ebp - 3]
mov ecx, 0x18b1
mov edi, dword [ebp - 0x1c]
cbw
sub ax, cx
sub esi, edi
mov word [ebp + 0xa], ax
mov dword [ebp - 0x20], esi
nop word [eax + eax]
mov eax, dword [0x10011068]
mov ecx, dword [0x1001106c]
and eax, 0x9f
mov dword [ebp - 0x18], eax
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov dword [0x10011008], 0x3488187a
mov dword [0x1001100c], 0xc475d
movsx eax, word [ebp - 8]
mov ecx, dword [0x10011008]
mov esi, dword [0x1001100c]
cdq
add ecx, eax
movzx eax, byte [0x10011033]
adc esi, edx
cdq
cmp eax, ecx
jne 0x10008ac1
cmp edx, esi
jne 0x10008ac1
movzx ecx, word [ebp - 0xc]
movsx eax, byte [0x10011005]
inc ecx
cmp eax, ecx
jne 0x10008ac1
mov dword [0x10011088], 4
mov dword [0x1001108c], 0
mov al, byte [ebp - 2]
mov dword [0x10011008], 0x3488187a
mov dword [0x1001100c], 0xc475d
movsx eax, word [ebp - 8]
mov esi, dword [0x10011008]
mov ecx, dword [0x1001100c]
cdq
add esi, eax
movzx eax, byte [0x10011033]
adc ecx, edx
cdq
cmp eax, esi
jne 0x10008ac1
cmp edx, ecx
je 0x10008a61
mov ax, word [ebp + 0xa]
mov word [0x10011094], ax
movzx eax, byte [ebp - 1]
cdq
add eax, 0x834f3acd
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
adc edx, 0x39222
mov dword [ebp - 0x14], edx
mov al, byte [eax + edi]
mov byte [edi], al
inc edi
sub ebx, 1
jne 0x10008a10
mov eax, dword [ebp - 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret