Function at 0x10002c40
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push esi
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp + 0xc]
push eax
call fcn.10003bff
add esp, 4
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], 0
jmp 0x10002c71
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0x100
jge 0x10002c8b
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x10]
mov cl, byte [ebp - 0x10]
mov byte [eax + 0x104], cl
jmp 0x10002c68
mov dword [ebp - 0x10], 0x10
jmp 0x10002c9d
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0x100
jge 0x10002cc7
mov eax, dword [ebp - 0x10]
and eax, 0x8000000f
jns 0x10002cb5
dec eax
or eax, 0xfffffff0
inc eax
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x20]
mov al, byte [edx + eax + 4]
mov byte [ecx + 4], al
jmp 0x10002c94
mov byte [ebp - 9], 0
mov dword [ebp - 0x10], 0
jmp 0x10002cdd
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0x100
jge 0x10002d44
movzx edx, byte [ebp - 9]
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 0x104]
add edx, ecx
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 4]
add edx, ecx
mov byte [ebp - 9], dl
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x10]
mov al, byte [edx + 0x104]
mov byte [ebp - 1], al
movzx ecx, byte [ebp - 9]
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov cl, byte [eax + ecx + 0x104]
mov byte [edx + 0x104], cl
movzx edx, byte [ebp - 9]
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp - 1]
mov byte [eax + edx + 0x104], cl
jmp 0x10002cd4
mov byte [ebp - 1], 0
mov byte [ebp - 9], 0
mov dword [ebp - 0x10], 0
jmp 0x10002d5e
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp + 0xc]
jge 0x10002e11
movzx ecx, byte [ebp - 1]
add ecx, 1
mov byte [ebp - 1], cl
movzx edx, byte [ebp - 9]
movzx eax, byte [ebp - 1]
mov ecx, dword [ebp - 0x20]
movzx eax, byte [ecx + eax + 0x104]
add edx, eax
mov byte [ebp - 9], dl
movzx ecx, byte [ebp - 1]
mov edx, dword [ebp - 0x20]
mov al, byte [edx + ecx + 0x104]
mov byte [ebp - 0x11], al
movzx ecx, byte [ebp - 9]
movzx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x20]
mov cl, byte [esi + ecx + 0x104]
mov byte [eax + edx + 0x104], cl
movzx edx, byte [ebp - 9]
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp - 0x11]
mov byte [eax + edx + 0x104], cl
movzx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x20]
movzx ecx, byte [eax + edx + 0x104]
movzx edx, byte [ebp - 9]
mov eax, dword [ebp - 0x20]
movzx edx, byte [eax + edx + 0x104]
add ecx, edx
and ecx, 0x800000ff
jns 0x10002dfa
dec ecx
or ecx, 0xffffff00
inc ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x20]
mov cl, byte [edx + ecx + 0x104]
mov byte [eax], cl
jmp 0x10002d55
mov dword [ebp - 0x10], 0
jmp 0x10002e23
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp + 0xc]
jge 0x10002e49
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 0x10]
movzx edx, byte [ecx]
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x10]
movzx ecx, byte [eax]
xor ecx, edx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x10]
mov byte [edx], cl
jmp 0x10002e1a
mov eax, dword [ebp - 8]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.10002e62
add esp, 4
pop esi
mov esp, ebp
pop ebp
ret 8