Function at 0xddecd7
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x19c
add dword [0xe1a354], 0x7ec667d1
xorps xmm1, xmm1
mov dword [ebp - 0x1c], 0xa
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x14], 0x57
mov dword [ebp - 0x10], 0xbc6
movups xmm0, xmmword [ebp - 0x1c]
push esi
push edi
psubd xmm1, xmm0
mov dword [ebp - 0x6c], ecx
movaps xmm0, xmm1
mov dword [ebp - 0x54], 0xb9843d86
psrldq xmm0, 8
xor edi, edi
paddd xmm1, xmm0
mov dword [ebp - 0x50], 0xf38161a4
movups xmm0, xmm1
mov dword [ebp - 0x4c], 0xf8958cff
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x48], 0x2d260bef
movd eax, xmm1
mov dword [ebp - 0x44], 0xfa2929e8
mov dword [ebp - 0x40], 0xee0bcd53
add eax, 0xd34
mov dword [ebp - 0x3c], 0xf2225092
mov dword [ebp - 0x58], eax
mov eax, dword [0xdd1918]
mov dword [ebp - 0x60], eax
mov ax, word [0xdd191c]
mov word [ebp - 0x5c], ax
xor eax, eax
mov dword [ebp - 0x38], 0x9ef9efb1
mov dword [ebp - 0x34], 0xca35844c
mov dword [ebp - 0x30], 0x373aa406
mov dword [ebp - 0x2c], 0xfcbdf03c
mov byte [ebp + eax - 0x16c], al
inc eax
cmp eax, 0x100
jb 0xdded9d
xor esi, esi
mov dword [ebp - 0x28], 5
xor edx, edx
mov cl, byte [ebp + esi - 0x16c]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x28]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x60]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x16c]
mov byte [ebp + esi - 0x16c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x16c], al
cmp esi, 0x100
jb 0xddedb5
and dword [ebp - 8], 0
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x16c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x16c]
mov byte [ebp + edi - 0x16c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x16c], cl
movzx eax, byte [ebp + edi - 0x16c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x16c]
xor al, byte [ebp + esi - 0x54]
mov byte [ebp + esi - 0x19c], al
inc esi
cmp esi, 0x2c
jb 0xddedfe
mov esi, 0xdd1920
mov byte [ebp - 0x170], 0
lea edi, [ebp - 0x1c]
mov dword [ebp - 8], 0xead6e0f5
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x16c], al
inc eax
cmp eax, 0x100
jb 0xddee75
xor esi, esi
xor edx, edx
mov dword [ebp - 0xc], 0xd
mov eax, esi
mov cl, byte [ebp + esi - 0x16c]
div dword [ebp - 0xc]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x1c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x16c]
mov byte [ebp + esi - 0x16c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x16c], al
cmp esi, 0x100
jb 0xddee86
mov eax, dword [0xe1a354]
xor edi, edi
and dword [ebp - 0xc], 0
xor esi, esi
add eax, 0x66e0fa63
mov dword [0xe1a3d0], eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp + edi - 0x16c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x16c]
mov byte [ebp + edi - 0x16c], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x16c], cl
movzx eax, byte [ebp + edi - 0x16c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x16c]
xor al, byte [ebp + esi - 8]
mov byte [ebp + esi - 0x60], al
inc esi
cmp esi, 4
jb 0xddeee5
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x60]
add eax, eax
mov byte [ebp - 0x5c], 0
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x6c]
push 2
call fcn.00dee9eb
mov edx, eax
lea ecx, [ebp - 0x19c]
call fcn.00dee9ca
call eax
test eax, eax
jne 0xddf15f
mov eax, dword [0xdd1930]
xor edi, edi
mov dword [ebp - 0x68], eax
mov ax, word [0xdd1934]
mov word [ebp - 0x64], ax
xor eax, eax
mov dword [ebp - 0x24], 0x9b1a8dcd
mov dword [ebp - 0x20], 0xe49841b1
mov dword [ebp - 0x1c], 0xf93d8d71
mov dword [ebp - 0x18], 0x623454c7
mov dword [ebp - 0x14], 0xca736964
mov dword [ebp - 0x10], 0x697ad12d
mov byte [ebp + eax - 0x16c], al
inc eax
cmp eax, 0x100
jb 0xddefae
xor esi, esi
xor edx, edx
mov cl, byte [ebp + esi - 0x16c]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x28]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x68]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x16c]
mov byte [ebp + esi - 0x16c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x16c], al
cmp esi, 0x100
jb 0xddefbf
and dword [ebp - 0xc], 0
xor ecx, ecx
mov eax, dword [0xe1a3d0]
xor edi, edi
mov esi, dword [0xe1a354]
mov dword [ebp - 0x28], eax
lea eax, [ecx + 1]
movzx eax, al
mov dword [ebp - 8], eax
push 0x66
mov cl, byte [ebp + eax - 0x16c]
mov eax, dword [ebp - 0xc]
movzx edx, cl
add eax, edx
mov dword [ebp - 0x68], edx
mov edx, dword [ebp - 8]
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x16c]
mov byte [ebp + edx - 0x16c], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x16c], cl
mov eax, edx
mov ecx, 0xbba
pop edx
movzx eax, byte [ebp + eax - 0x16c]
add eax, dword [ebp - 0x68]
movzx eax, al
mov al, byte [ebp + eax - 0x16c]
mov byte [ebp - 1], al
mov eax, 0xdd1cc0
add ecx, edx
lea eax, [eax + 2]
cmp ecx, 0x1880
ja 0xddf08f
movzx edx, word [eax]
test edx, edx
jne 0xddf079
jmp 0xddf0a0
push ecx
push ecx
mov ecx, esi
call fcn.00ddd9e1
pop ecx
pop ecx
xor esi, 0x426a2996
mov edx, dword [ebp - 0x28]
xor edx, 0x47bc77aa
mov dword [ebp - 0x28], edx
sub esp, 0xc
imul esi, esi, 0x18fa9993
call fcn.00ddd906
mov al, byte [ebp + edi - 0x24]
add esp, 0xc
xor al, byte [ebp - 1]
mov ecx, dword [ebp - 8]
mov byte [ebp + edi - 0x44], al
inc edi
cmp edi, 0x18
jb 0xddf016
mov dword [ebp - 0x1c], 0x16
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x18], 0x2e
mov dword [ebp - 0x14], 0x61
mov dword [ebp - 0x10], 0xfffffefb
movups xmm1, xmmword [ebp - 0x1c]
mov dword [0xe1a354], esi
imul eax, edx, 0xc7dd3c91
movaps xmm0, xmm1
mov byte [ebp - 0x2c], 0
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [0xe1a3d0], eax
movd edi, xmm1
add edi, 0x60
call fcn.00e0523e
mov esi, eax
mov ecx, esi
call fcn.00e05897
add eax, eax
push eax
push esi
push dword [ebp - 0x6c]
call fcn.00e05084
mov ecx, esi
call fcn.00e05897
push eax
push edi
push esi
call fcn.00e05117
add esp, 0x18
mov ecx, esi
call fcn.00dee98d
pop edi
pop esi
leave
ret