Function at 0x10001190
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov edi, ecx
mov eax, edi
nop dword [eax]
movzx edx, byte [eax]
inc eax
cmp byte [edx + str.________________________________________________456789:_________], 0x3f
jbe 0x100011a0
sub eax, edi
add eax, 2
cdq
and edx, 3
add eax, edx
sar eax, 2
lea eax, [eax + eax*2]
inc eax
push eax
call fcn.10007336
mov esi, eax
add esp, 4
mov dword [ebp - 4], esi
mov ecx, edi
nop
movzx edx, byte [ecx]
inc ecx
cmp byte [edx + str.________________________________________________456789:_________], 0x3f
jbe 0x100011d0
sub ecx, edi
dec ecx
lea eax, [ecx + 3]
cdq
and edx, 3
add eax, edx
sar eax, 2
lea ebx, [eax + eax*2]
mov dword [ebp - 0xc], ebx
cmp ecx, 4
jle 0x10001279
lea eax, [ecx - 5]
shr eax, 2
inc eax
mov dword [ebp - 8], eax
neg eax
mov ebx, dword [ebp - 8]
lea ecx, [ecx + eax*4]
nop dword [eax]
movzx eax, byte [edi]
movzx edx, byte [eax + str.________________________________________________456789:_________]
movzx eax, byte [edi + 1]
shl dl, 2
movzx eax, byte [eax + str.________________________________________________456789:_________]
shr al, 4
or dl, al
mov byte [esi], dl
movzx eax, byte [edi + 1]
movzx edx, byte [eax + str.________________________________________________456789:_________]
movzx eax, byte [edi + 2]
shl dl, 4
movzx eax, byte [eax + str.________________________________________________456789:_________]
shr al, 2
or dl, al
mov byte [esi + 1], dl
movzx eax, byte [edi + 2]
movzx edx, byte [edi + 3]
add edi, 4
movzx eax, byte [eax + str.________________________________________________456789:_________]
shl al, 6
or al, byte [edx + str.________________________________________________456789:_________]
mov byte [esi + 2], al
add esi, 3
sub ebx, 1
jne 0x10001210
mov ebx, dword [ebp - 0xc]
cmp ecx, 1
jle 0x100012df
movzx eax, byte [edi]
mov dl, byte [eax + str.________________________________________________456789:_________]
movzx eax, byte [edi + 1]
shl dl, 2
mov al, byte [eax + str.________________________________________________456789:_________]
shr al, 4
or dl, al
mov byte [esi], dl
inc esi
cmp ecx, 2
jle 0x100012df
movzx eax, byte [edi + 2]
mov dl, byte [eax + str.________________________________________________456789:_________]
movzx eax, byte [edi + 1]
shr dl, 2
mov al, byte [eax + str.________________________________________________456789:_________]
shl al, 4
or dl, al
mov byte [esi], dl
inc esi
cmp ecx, 3
jle 0x100012df
movzx eax, byte [edi + 2]
mov dl, byte [eax + str.________________________________________________456789:_________]
movzx eax, byte [edi + 3]
shl dl, 6
or dl, byte [eax + str.________________________________________________456789:_________]
mov byte [esi], dl
inc esi
neg ecx
mov byte [esi], 0
and ecx, 3
sub ebx, ecx
lea eax, [ebx + 1]
push eax
call fcn.10007336
add esp, 4
xor esi, esi
mov edi, eax
test ebx, ebx
jle 0x10001324
sub dword [ebp - 4], edi
mov dword [ebp - 0xc], 0xa
xor edx, edx
lea ecx, [esi + edi]
mov eax, esi
inc esi
div dword [ebp - 0xc]
mov al, byte [edx + 0x1001a90c]
mov edx, dword [ebp - 4]
xor al, byte [ecx + edx]
mov byte [ecx], al
cmp esi, ebx
jl 0x10001307
mov byte [edi + ebx], 0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret