Function at 0xce26c6
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, 0xd15715
call fcn.00cd4307
sub esp, 0x24
push ebx
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov eax, dword [0xd2a548]
xor eax, 0x26d6d9c0
xor edx, edx
inc edx
or eax, 0x1888638
push esi
mov esi, dword [ebp + 0xc]
or eax, edx
mov dword [ebp - 0x18], edx
mov dword [0xd2a548], eax
test esi, esi
jne 0xce271a
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [eax + 0x14], 7
mov dword [eax + 0x10], ebx
mov word [eax], cx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], edx
jmp 0xce29ad
xor eax, eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
push edi
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], ebx
mov word [ebp - 0x30], ax
mov dword [ebp - 4], edx
or dword [0xd2a578], edx
mov edi, dword [ebp + 0x10]
mov edx, dword [0xd2a568]
mov ecx, dword [0xd2a540]
mov bh, bl
mov dword [ebp - 0x14], 0x80000000
mov eax, ecx
not eax
test al, 0xfa
push 0
pop eax
cmove eax, dword [ebp - 0x14]
shr ecx, 1
or ecx, eax
mov dword [0xd2a540], ecx
test edi, edi
je 0xce2773
dec edi
sete bh
jmp 0xce27a2
cmp byte [esi], 0
je 0xce2988
mov eax, dword [0xd2a548]
test eax, eax
cmove eax, dword [ebp - 0x18]
mov dword [0xd2a548], eax
mov eax, ecx
not eax
test al, 0xfa
push 0
pop eax
setne al
add ecx, ecx
or ecx, eax
mov dword [0xd2a540], ecx
mov bl, byte [esi]
shl edx, 0x18
xor eax, eax
inc eax
or edx, eax
shl edx, 8
or edx, eax
inc esi
mov dword [0xd2a568], edx
test bl, bl
jns 0xce292e
cmp edi, 2
jb 0xce2874
mov al, bl
and al, 0xf0
cmp al, 0xe0
jne 0xce2871
mov ah, byte [esi]
mov al, ah
and al, 0xc0
cmp al, 0x80
jne 0xce2871
mov al, byte [esi + 1]
and al, 0xc0
cmp al, 0x80
jne 0xce2871
and ah, 0x3f
movsx cx, ah
movzx eax, bl
shl ax, 6
or cx, ax
mov al, byte [esi + 1]
and al, 0x3f
cbw
shl cx, 6
or cx, ax
movzx eax, cx
push eax
lea ecx, [ebp - 0x30]
call fcn.00ce2411
mov ecx, dword [0xd2a540]
mov eax, ecx
not eax
test al, 0xfa
push 0
pop eax
mov edx, 0x80000000
cmove eax, edx
shr ecx, 1
or ecx, eax
mov dword [0xd2a540], ecx
test edi, edi
je 0xce2845
dec edi
dec edi
sete bh
mov eax, dword [0xd2a550]
or dword [0xd2a554], eax
mov edx, dword [0xd2a568]
add esi, 2
cmp dword [0xd2a578], 0
jne 0xce2980
inc dword [0xd2a548]
jmp 0xce2980
xor eax, eax
inc eax
cmp edi, eax
jb 0xce2980
mov al, bl
and al, 0xe0
cmp al, 0xc0
jne 0xce28ef
mov ah, byte [esi]
mov al, ah
and al, 0xc0
cmp al, 0x80
jne 0xce28ef
and bl, 0x3f
and ah, 0x3f
movzx ecx, bl
movsx ax, ah
shl cx, 6
or cx, ax
movzx eax, cx
push eax
lea ecx, [ebp - 0x30]
call fcn.00ce2411
mov eax, dword [0xd2a548]
cmp eax, 0x30395fb8
mov ecx, 0x1f699f60
cmove eax, ecx
mov ecx, dword [0xd2a540]
mov dword [0xd2a548], eax
mov eax, ecx
not eax
test al, 0xfa
push 0
pop eax
setne al
add ecx, ecx
or ecx, eax
mov dword [0xd2a540], ecx
test edi, edi
je 0xce28e9
dec edi
sete bh
inc esi
jmp 0xce297a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0xce2980
test edi, edi
je 0xce2903
dec edi
sete bh
mov eax, ecx
not eax
test al, 0xfa
push 0
pop eax
setne al
add ecx, ecx
shl edx, 4
or ecx, eax
xor eax, eax
inc eax
or edx, eax
inc esi
mov dword [0xd2a540], ecx
mov dword [0xd2a568], edx
cmp edi, eax
jae 0xce28ef
jmp 0xce2980
mov eax, dword [0xd2a558]
xor eax, 0x9c6bdcf8
or eax, 0x6c06b0f0
mov dword [0xd2a558], eax
movzx eax, bl
push eax
lea ecx, [ebp - 0x30]
call fcn.00ce2411
mov ecx, dword [0xd2a540]
mov eax, ecx
not eax
test al, 0xfa
push 0
pop eax
mov edx, 0x80000000
cmove eax, edx
shr ecx, 1
or ecx, eax
mov eax, dword [0xd2a550]
or dword [0xd2a554], eax
mov dword [0xd2a540], ecx
mov edx, dword [0xd2a568]
test bh, bh
je 0xce2752
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x30]
push eax
call fcn.00ce16af
xor eax, eax
inc eax
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 0
push 0
push eax
lea ecx, [ebp - 0x30]
call fcn.00cd9db6
mov eax, dword [ebp + 8]
pop edi
mov ecx, dword [ebp - 0xc]
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret