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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2b8
push esi
mov esi, dword [0xe1a2a0]
push edi
push 0x1f
mov dword [ebp - 0x20], ecx
xor edi, edi
mov ecx, dword [0xe1a2b4]
pop eax
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x9c], 0x52
mov dword [ebp - 0x98], 0xffffff8f
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], ecx
xor esi, esi
inc esi
cmp esi, 0x1fa7
jl 0xddcfa9
cmp byte [esi + 0xdd1810], 0
jne 0xddcf95
jmp 0xddcfcd
push ecx
mov edx, 0xdd16e0
call fcn.00ddc2d2
mov eax, dword [ebp - 0x10]
or eax, 0xa5249b29
mov dword [ebp - 8], eax
mov dword [0xe1a2a0], eax
pop ecx
cmp esi, 0x4a6
jle 0xddcfdc
push ecx
mov edx, 0xdd1710
call fcn.00ddc2d2
mov eax, dword [ebp - 8]
pop ecx
lea ecx, [eax - 0x3a839236]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x1c]
and eax, 0xeffe3868
add edx, dword [ebp + edi*4 - 0x9c]
inc edi
mov dword [ebp - 8], eax
mov dword [0xe1a2a0], eax
mov dword [ebp - 0x1c], edx
cmp edi, 2
jl 0xddcf93
and dword [ebp - 0x10], 0
lea edi, [ebp - 0x84]
mov dword [ebp - 0xac], 0x12
mov esi, 0xdd1748
mov dword [ebp - 0xa8], 0x1c
mov dword [ebp - 0xa4], 0x60
mov dword [ebp - 0xa0], 0x30
movups xmm1, xmmword [ebp - 0xac]
push 5
mov dword [ebp - 0x64], 0xf2a2804a
movaps xmm0, xmm1
mov dword [ebp - 0x60], 0xea503a01
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x5c], 0x224b5054
movups xmm0, xmm1
mov dword [ebp - 0x58], 0x63b8d16
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x54], 0x1bcf0362
movd ecx, xmm1
mov dword [ebp - 0x50], 0x27fddc4e
mov dword [ebp - 0x4c], 0xf6856046
add ecx, 0x46
mov dword [ebp - 0x48], 0xa3a8a305
mov dword [ebp - 0x24], ecx
pop ecx
rep movsd dword es:[edi], dword [esi]
imul edi, eax, 0x884a50af
xor eax, eax
mov dword [ebp - 0x44], 0x2a96aad3
mov dword [ebp - 0x40], 0x7a9bbb21
mov dword [ebp - 0x3c], 0x880e1fb6
mov dword [ebp - 0x38], 0x9066bac5
mov dword [ebp - 0x34], 0xd84b01fb
mov dword [ebp - 0x30], 0xda5359c4
mov dword [ebp - 0x2c], 0x4e30473
mov dword [ebp - 0x28], 0x70a04d78
mov byte [ebp + eax - 0x2b8], al
inc eax
cmp eax, 0x100
jb 0xddd0e2
mov esi, dword [ebp - 8]
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov al, byte [ebp + ecx - 0x2b8]
xor edx, edx
mov byte [ebp - 1], al
mov eax, ecx
push 0x13
pop ecx
div ecx
movzx ecx, byte [ebp - 1]
movzx eax, byte [ebp + edx - 0x84]
add eax, dword [ebp - 0x10]
add ecx, eax
xor eax, eax
movzx edx, cl
mov dword [ebp - 0x10], edx
cmp byte [0xe1a2c0], al
je 0xddd153
inc eax
cmp eax, 0x11c2
jg 0xddd140
cmp byte [eax + 0xe1a2c0], 0
jne 0xddd12d
jmp 0xddd153
sub esi, 0x3f084a6f
cmp eax, 0x18a9
jle 0xddd153
imul edi, esi, 0x71520a0d
mov ecx, dword [ebp - 0xc]
lea esi, [edi - 0x6f78cb86]
mov al, byte [ebp + edx - 0x2b8]
mov dword [0xe1a2a0], esi
mov byte [ebp + ecx - 0x2b8], al
xor eax, eax
inc eax
cmp eax, 0x1629
je 0xddd185
cmp byte [eax + 0xdd1810], 0
jne 0xddd172
jmp 0xddd191
add esi, 0x49a04f03
mov dword [0xe1a2a0], esi
mov al, byte [ebp - 1]
mov edi, esi
or edi, 0x7d38e9ab
mov byte [ebp + edx - 0x2b8], al
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, 0x100
jb 0xddd0f9
and dword [ebp - 8], 0
mov dword [0xe1a2b4], edi
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x2b8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2b8]
mov byte [ebp + edi - 0x2b8], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2b8], cl
movzx eax, byte [ebp + edi - 0x2b8]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2b8]
xor al, byte [ebp + esi - 0x64]
mov byte [ebp + esi - 0x1b8], al
inc esi
cmp esi, 0x40
jb 0xddd1c1
push 0x49
mov byte [ebp - 0x178], 0
xor eax, eax
pop esi
mov dword [ebp - 0x90], 5
mov dword [ebp - 0x8c], 0x64
mov dword [ebp - 0x88], 0xffffff4e
add esi, dword [ebp + eax*4 - 0x90]
inc eax
cmp eax, 3
jl 0xddd243
push 0x26
mov dword [ebp - 8], esi
xor eax, eax
pop edi
mov dword [ebp - 0x90], 0x43
mov dword [ebp - 0x8c], 0x3b
mov dword [ebp - 0x88], 0xffffff5c
add edi, dword [ebp + eax*4 - 0x90]
inc eax
cmp eax, 3
jl 0xddd276
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], edi
call fcn.00dee8ce
lea edx, [ebp - 0x1b8]
mov dword [ebp - 0x24], eax
mov ecx, eax
call fcn.00e0597f
cmp edi, dword [ebp - 0x94]
jae 0xddd8f1
mov edi, dword [0xe1a2a0]
mov dword [ebp - 0x104], 0x2f
mov dword [ebp - 0x100], 0x1d
mov dword [ebp - 0xfc], 0xa
mov dword [ebp - 0xf8], 0xffffff4a
mov dword [ebp - 0xd0], 0x25
mov dword [ebp - 0xcc], 0x16
mov dword [ebp - 0xc8], 0xffffffc0
mov dword [ebp - 0x14], edi
xor esi, esi
mov dword [ebp - 0xc], 0x60
imul edi, edi, 0x39cb419e
mov al, byte [0xe1a2c0]
mov ecx, 0xe1a2c0
jmp 0xddd31d
sub al, 0x30
cmp al, 9
ja 0xddd323
inc ecx
mov al, byte [ecx]
test al, al
jne 0xddd314
jmp 0xddd329
mov dword [0xe1a2b4], edi
sub dword [ebp - 0x14], 0x48ea97a5
mov edx, 0xdd1810
add edi, 0x71de832a
call fcn.00ddc179
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp + esi*4 - 0x104]
inc esi
mov dword [ebp - 0xc], ecx
cmp esi, 4
jl 0xddd308
push 0x45
pop edx
xor eax, eax
add edx, dword [ebp + eax*4 - 0xd0]
inc eax
cmp eax, 3
jl 0xddd358
push 0x34
mov dword [ebp - 0x68], edx
xor eax, eax
pop esi
mov dword [ebp - 0x84], 0x26
mov dword [ebp - 0x80], 8
mov dword [ebp - 0x7c], 0x59
mov dword [ebp - 0x78], 0x35
mov dword [ebp - 0x74], 0xffffff74
sub esi, dword [ebp + eax*4 - 0x84]
inc eax
cmp eax, 5
jl 0xddd393
mov edi, dword [ebp - 0x14]
xor edi, 0xcc764d69
movzx eax, cl
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x14], edi
mov dword [0xe1a2a0], edi
cmp eax, edx
jge 0xddd3e8
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x20]
mov cl, byte [ecx + esi]
mov esi, dword [ebp - 0x24]
mov byte [ebp - 1], cl
mov ecx, dword [ebp - 0xc]
mov dl, byte [ebp - 1]
cmp byte [eax + esi], dl
mov edx, dword [ebp - 0x68]
je 0xddd3e2
inc cl
movzx eax, cl
cmp eax, edx
jl 0xddd3ce
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
movzx eax, dl
inc dl
mov dword [ebp - 0x1c], edx
mov byte [ebp + eax - 0x18], cl
movzx eax, dl
cmp eax, esi
jne 0xddd8db
mov dword [ebp - 0x114], 0xd
mov dword [ebp - 0x110], 0x58
mov dword [ebp - 0x10c], 0x53
mov dword [ebp - 0x108], 0xffffff2b
movups xmm1, xmmword [ebp - 0x114]
push 0x38
imul edi, edi, 0x775d671d
xor eax, eax
movaps xmm0, xmm1
mov dword [ebp - 0xdc], 0x54
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0xd4], 0xffffff24
movups xmm0, xmm1
pop ecx
psrldq xmm0, 4
push 0x52
paddd xmm1, xmm0
mov dword [ebp - 0x14], edi
pop esi
movd edx, xmm1
mov dword [0xe1a2a0], edi
mov dword [ebp - 0xd8], esi
add ecx, dword [ebp + eax*4 - 0xdc]
inc eax
cmp eax, 3
jl 0xddd47e
mov dword [ebp - 0x124], 0x3e
mov dword [ebp - 0x120], 0x62
mov dword [ebp - 0x11c], 0x45
mov dword [ebp - 0x118], 0xffffff1a
movups xmm1, xmmword [ebp - 0x124]
push 0x28
mov dword [ebp - 0x6c], ecx
movaps xmm0, xmm1
mov dword [ebp - 0x84], 0x55
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x80], 9
movups xmm0, xmm1
mov dword [ebp - 0x7c], esi
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x78], 0x4a
movd eax, xmm1
pop ecx
mov dword [ebp - 0x74], 0xffffff2a
add eax, 2
mov dword [ebp - 0x68], eax
xor eax, eax
sub ecx, dword [ebp + eax*4 - 0x84]
inc eax
cmp eax, 5
jl 0xddd506
push 0x13
pop esi
mov dword [ebp - 0xc], ecx
xor eax, eax
mov ecx, esi
mov dword [ebp - 0xc4], 0x5a
mov dword [ebp - 0xc0], 0xffffff95
add ecx, dword [ebp + eax*4 - 0xc4]
inc eax
cmp eax, 2
jl 0xddd531
xorps xmm1, xmm1
mov dword [ebp - 0x134], 0x2b
mov dword [ebp - 0x130], 0x3f
mov dword [ebp - 0x12c], 0x5d
mov dword [ebp - 0x128], 0x139
movups xmm0, xmmword [ebp - 0x134]
mov dword [ebp - 0x144], esi
mov dword [ebp - 0x140], 0x5b
psubd xmm1, xmm0
mov dword [ebp - 0x13c], 0x33
movaps xmm0, xmm1
mov dword [ebp - 0x138], 0xffffff4e
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x1c], ecx
movups xmm0, xmm1
mov dword [ebp - 0xbc], 0xc
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0xb8], 0x1e
movd eax, xmm1
movups xmm1, xmmword [ebp - 0x144]
push 0x16
add eax, 0x240
movaps xmm0, xmm1
mov dword [ebp - 0x70], eax
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop ecx
add eax, 0x14
mov dword [ebp - 0xb0], eax
xor eax, eax
add ecx, dword [ebp + eax*4 - 0xbc]
inc eax
cmp eax, 2
jl 0xddd604
push 0x64
mov dword [ebp - 0xb4], ecx
pop ecx
mov esi, edi
mov dword [ebp - 0xe8], 0x21
and esi, 0x717f30d1
mov dword [ebp - 0xe4], 0x30
mov dword [0xe1a2b4], esi
xor eax, eax
mov dword [ebp - 0xe0], 0xffffff4b
add ecx, dword [ebp + eax*4 - 0xe8]
inc eax
cmp eax, 3
jl 0xddd648
mov eax, dword [ebp - 0x68]
mov dl, byte [ebp + edx + 5]
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebp - 0x6c]
mov al, byte [ebp + eax - 0x18]
shl dl, cl
mov cl, byte [ebp - 0xc]
shr al, cl
mov ecx, dword [ebp - 0x20]
add dl, al
mov eax, dword [ebp - 8]
mov byte [eax + ecx], dl
inc eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x18]
cmp eax, dword [ebp - 0x70]
je 0xddd816
mov dword [ebp - 0xc], 7
xor edi, edi
mov dword [ebp - 0x154], 0x1b
mov dword [ebp - 0x150], 0x64
mov dword [ebp - 0x14c], 0x38
mov dword [ebp - 0x148], 0xffffff4f
movzx eax, byte [0xe1a2c0]
mov edx, 0x25a
mov ecx, 0xe1a2c0
jmp 0xddd6e2
add edx, eax
inc ecx
cmp edx, 0x3da
ja 0xddd6e8
movzx eax, byte [ecx]
test eax, eax
jne 0xddd6d4
jmp 0xddd6f4
sub esi, 0x28f94881
mov dword [0xe1a2b4], esi
mov eax, esi
mov edx, 0xe1a2c0
and eax, 0x31301073
mov dword [ebp - 0x14], eax
mov dword [0xe1a2a0], eax
call fcn.00ddc179
mov edx, dword [ebp - 0xc]
sub edx, dword [ebp + edi*4 - 0x154]
inc edi
mov dword [ebp - 0xc], edx
cmp edi, 4
jl 0xddd6c1
xorps xmm1, xmm1
mov dword [ebp - 0x164], 0x4e
mov dword [ebp - 0x160], 0x3c
xor eax, eax
mov dword [ebp - 0x15c], 0x12
mov dword [ebp - 0x158], 0xffffff88
movups xmm0, xmmword [ebp - 0x164]
mov dword [ebp - 0x174], 0x4d
mov dword [ebp - 0x170], 0x53
psubd xmm1, xmm0
mov dword [ebp - 0x16c], 0x59
movaps xmm0, xmm1
mov dword [ebp - 0x168], 0xfffffee5
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0xf4], 0x1b
movups xmm0, xmm1
mov dword [ebp - 0xf0], 0x4a
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0xec], 0xffffffad
movd esi, xmm1
movups xmm1, xmmword [ebp - 0x174]
push 0x14
pop ecx
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd edi, xmm1
sub ecx, dword [ebp + eax*4 - 0xf4]
inc eax
cmp eax, 3
jl 0xddd7e0
mov dl, byte [ebp + edx - 0x18]
mov al, byte [ebp + edi + 0xc]
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x70], ecx
lea ecx, [esi + 0x28]
mov esi, dword [ebp - 8]
shl dl, cl
mov cl, byte [ebp - 0x70]
shr al, cl
add dl, al
mov eax, dword [ebp - 0x20]
mov byte [esi + eax], dl
inc esi
mov dword [ebp - 8], esi
jmp 0xddd819
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0xb0]
movzx eax, byte [ebp + eax - 0x18]
cmp eax, dword [ebp - 0xb4]
je 0xddd8d0
push 0x54
pop esi
mov dword [ebp - 0x8c], 0x52
xor eax, eax
mov dword [ebp - 0x88], 0xffffff5c
add esi, dword [ebp + eax*4 - 0x8c]
inc eax
cmp eax, 2
jl 0xddd849
push 0x36
pop ecx
push 0x56
pop eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
xor eax, eax
mov dword [ebp - 0xa0], 0xffffff84
sub ecx, dword [ebp + eax*4 - 0xa8]
inc eax
cmp eax, 3
jl 0xddd874
push 0x15
pop edx
mov dword [ebp - 0x84], 0x5e
xor eax, eax
mov dword [ebp - 0x80], 0x58
mov dword [ebp - 0x7c], 0x54
mov dword [ebp - 0x78], 0x16
mov dword [ebp - 0x74], 0xfffffef2
sub edx, dword [ebp + eax*4 - 0x84]
inc eax
cmp eax, 5
jl 0xddd8ac
mov al, byte [ebp + esi - 0x18]
mov esi, dword [ebp - 8]
shl al, cl
mov ecx, dword [ebp - 0x20]
add al, byte [ebp + edx - 0x18]
mov byte [esi + ecx], al
inc esi
mov dword [ebp - 8], esi
mov al, byte [ebp - 0x98]
mov dword [ebp - 0x1c], eax
jmp 0xddd8de
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x94]
jb 0xddd2f9
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + eax], 0
call fcn.00dee98d
pop edi
mov eax, esi
pop esi
leave
ret