Function at 0x301a080
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov dword [esp + 8], 0x4bd145fa
mov dword [esp + 0xc], 0x4fd949de
mov dword [esp + 0x10], 0xb3eb4dd8
mov dword [esp + 0x14], 0xb71bb11b
mov dword [esp + 0x18], 0xbb10b50a
mov dword [esp + 0x1c], 0xbf12b911
mov dword [esp + 0x20], 0xa327bd19
mov dword [esp + 0x24], 0xa734a10e
lea eax, [esp + 0x28]
mov word [esp + 0x28], 0xa5a6
mov dword [esp + 0x2a], 0
mov dword [esp + 0x2e], 0
mov word [esp + 0x32], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x2b
ja 0x301a13f
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx + 0xf5]
and esi, edx
mov edi, 0x1fd17e0a
sub edi, ecx
or edi, edx
not edi
add edi, edx
sub edi, esi
mov dword [esp + 0x5c], edi
mov ecx, dword [esp + 0x5c]
add cl, 0x4d
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x2c
jb 0x301a100
mov ebx, dword [ebp + 8]
lea edi, [esp + 0x72]
lea edx, [esp + 8]
mov ecx, 8
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x92]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 4]
xor eax, eax
nop
nop
cmp word [edi + eax], 0
lea eax, [eax + 2]
jne 0x301a170
lea ecx, [edi + eax]
add ecx, 0xfffffffe
add eax, edi
mov edx, 1
sub edx, eax
and edx, edi
mov eax, edi
not eax
and eax, ecx
sub eax, edx
cmp eax, 0xffffffdd
jge 0x301a19f
mov eax, 0xffffffff
jmp 0x301a1a2
add eax, 0x22
push eax
call fcn.03008c00
add esp, 4
mov esi, eax
movzx ecx, word [edi]
test cx, cx
je 0x301a1d1
add edi, 2
mov eax, esi
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x301a1c0
mov word [eax], 0
movzx ecx, word [esp + 0x72]
test cx, cx
je 0x301a201
lea edx, [esp + 0x74]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x301a1f0
mov word [eax], 0
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], esi
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x6c], eax
mov dword [esp + 8], 0xd341d141
mov dword [esp + 0xc], 0xdf8bdd48
mov dword [esp + 0x10], 0xdb40d971
mov dword [esp + 0x14], 0xc76bc546
mov dword [esp + 0x18], 0xc35dc150
mov dword [esp + 0x1c], 0xcf5dcd69
mov dword [esp + 0x20], 0xcb9dc958
mov dword [esp + 0x24], 0x3761359f
mov dword [esp + 0x28], 0x3396315c
mov dword [esp + 0x2c], 0x3fa13dad
mov dword [esp + 0x30], 0x3baa3991
mov dword [esp + 0x34], 0x27b52577
mov dword [esp + 0x38], 0x23bc21b0
mov dword [esp + 0x3c], 0x2fb42d8d
mov dword [esp + 0x40], 0x2b6329b2
mov dword [esp + 0x44], 0x17531586
mov dword [esp + 0x48], 0x1310117c
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x4b
ja 0x301a30e
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax + ecx]
add edx, 0x75d4aa63
add eax, 0x75d4aa63
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp], edx
mov eax, dword [esp]
add al, 0x4b
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 8], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x4c
jb 0x301a2d0
lea eax, [esp + 0x5c]
push eax
push 0x301a700
lea eax, [esp + 0x10]
push eax
push esi
call fcn.0301af60
add esp, 0x10
mov ebx, eax
mov eax, dword [0x30432a8]
mov ecx, 0xc8d5dfce
xor ecx, dword [0x30432b0]
add eax, ecx
inc eax
jmp eax