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

Disassembly:
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x188
xor eax, eax
mov dword [ebp - 0x6c], edx
push esi
mov dword [ebp - 0x60], ecx
mov edx, eax
push edi
mov ecx, eax
mov dword [ebp - 0x20], 0x35
mov dword [ebp - 0x1c], 0x52
mov dword [ebp - 0x18], 0x20
mov dword [ebp - 0x14], 0x38
mov dword [ebp - 0x10], 0xffffff21
sub ecx, dword [ebp + edx*4 - 0x20]
inc edx
cmp edx, 5
jl 0xde5c7e
mov dword [ebp - 0x50], ecx
mov edx, eax
mov dword [ebp - 0x20], 0x4c
mov ecx, eax
mov dword [ebp - 0x1c], 0x58
mov dword [ebp - 0x18], 0xd
mov dword [ebp - 0x14], 0x3b
mov dword [ebp - 0x10], 0xffffff14
sub edx, dword [ebp + ecx*4 - 0x20]
inc ecx
cmp ecx, 5
jl 0xde5cb2
push 0x22
mov dword [ebp - 0x64], edx
mov ecx, eax
pop edx
mov dword [ebp - 0x18], 0x18
mov dword [ebp - 0x14], 0x2d
mov dword [ebp - 0x10], 0xff98
add edx, dword [ebp + ecx*4 - 0x18]
inc ecx
cmp ecx, 3
jl 0xde5cd9
mov esi, 0xdd1f94
mov dword [ebp - 0x68], edx
lea edi, [ebp - 0x18]
mov word [ebp - 0x44], 0x4860
push 0x1d
pop ecx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0x41], cl
mov ecx, eax
mov byte [ebp - 0x42], 0xdf
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x40], 0x25471af5
mov dword [ebp - 0x3c], 0x5e50f16c
mov dword [ebp - 0x38], 0xf25e4fe3
movsw word es:[edi], word [esi]
mov dword [ebp - 0x34], 0xe7d1e782
mov edi, eax
mov dword [ebp - 0x30], 0xabea7b43
mov byte [ebp + ecx - 0x188], cl
inc ecx
cmp ecx, 0x100
jb 0xde5d2c
mov esi, eax
xor edx, edx
mov dword [ebp - 4], 9
mov eax, esi
mov cl, byte [ebp + esi - 0x188]
div dword [ebp - 4]
mov byte [ebp - 5], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x18]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x188]
mov byte [ebp + esi - 0x188], al
inc esi
mov al, byte [ebp - 5]
mov byte [ebp + edi - 0x188], al
cmp esi, 0x100
jb 0xde5d3e
mov esi, dword [0xe1a484]
xor eax, eax
mov dword [ebp - 4], eax
mov edi, eax
mov dword [ebp - 0xc], eax
push 0x69
mov edx, 0x1a2
mov eax, 0xdd2498
pop ecx
add edx, ecx
inc eax
cmp edx, 0x6cc
ja 0xde5dbf
movsx ecx, byte [eax]
test ecx, ecx
jne 0xde5da3
mov edx, esi
xor edx, 0x4e9d5e2d
jmp 0xde5dd8
call fcn.00de5af5
push esi
mov edx, esi
mov ecx, 0xdd2450
call fcn.00de59b0
pop ecx
imul edx, esi, 0x9d4a7d23
push esi
add edx, 0x26c20d60
mov ecx, 0xdd2498
call fcn.00de5bd6
mov eax, dword [ebp - 0xc]
inc eax
movzx eax, al
mov dword [ebp - 0xc], eax
mov esi, dword [ebp - 0xc]
pop ecx
mov cl, byte [ebp + eax - 0x188]
mov eax, dword [ebp - 4]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x188]
mov byte [ebp + esi - 0x188], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x188], cl
mov eax, esi
mov esi, dword [0xe1a484]
movzx eax, byte [ebp + eax - 0x188]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x188]
xor al, byte [ebp + edi - 0x44]
mov byte [ebp + edi - 0x88], al
inc edi
cmp edi, 0x18
jb 0xde5d96
push 7
pop ecx
mov esi, 0xdd1fa0
mov dword [ebp - 0xc], 0xfdd52eaa
lea edi, [ebp - 0x48]
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x70], al
mov ecx, eax
mov dword [ebp - 4], eax
movsw word es:[edi], word [esi]
mov byte [ebp + ecx - 0x188], cl
inc ecx
cmp ecx, 0x100
jb 0xde5e75
mov edi, dword [0xe1a484]
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x188]
mov eax, esi
mov byte [ebp - 5], cl
div dword [ebp - 0x28]
movzx ecx, cl
imul edi, edi, 0xdf73cbd3
movzx eax, byte [ebp + edx - 0x48]
add eax, dword [ebp - 4]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 4], ecx
mov al, byte [ebp + ecx - 0x188]
mov byte [ebp + esi - 0x188], al
inc esi
mov al, byte [ebp - 5]
mov byte [ebp + ecx - 0x188], al
cmp esi, 0x100
jb 0xde5e8d
xor eax, eax
mov dword [0xe1a484], edi
imul esi, edi, 0x4f270df3
mov edi, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], esi
mov dword [0xe1a488], esi
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 4]
mov cl, byte [ebp + edi - 0x188]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x188]
mov byte [ebp + edi - 0x188], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x188], cl
movzx eax, byte [ebp + edi - 0x188]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x188]
xor al, byte [ebp + esi - 0xc]
mov byte [ebp + esi - 0x28], al
inc esi
cmp esi, 4
jb 0xde5ef6
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov esi, dword [ebp - 0x10]
mov edi, dword [0xe1a484]
mov byte [ebp - 0x24], al
cmp ecx, dword [ebp - 0x50]
je 0xde6147
push 0x6b
mov dword [ebp - 4], 0x17da
mov ecx, 0xdd2450
pop edx
add dword [ebp - 4], edx
lea ecx, [ecx + 2]
cmp dword [ebp - 4], 0x965
ja 0xde5f8c
movzx edx, word [ecx]
test edx, edx
jne 0xde5f74
jmp 0xde5faa
mov esi, edi
mov edx, edi
and esi, 0xbc34dcdd
mov ecx, 0xdd2450
push esi
mov dword [0xe1a488], esi
call fcn.00de59b0
pop ecx
xor eax, eax
push 0x48
mov dword [ebp - 0x14], 3
mov ecx, eax
mov dword [ebp - 0x10], 0xffffffb5
pop edx
add edx, dword [ebp + ecx*4 - 0x14]
inc ecx
cmp ecx, 2
jl 0xde5fbd
push 0x4e
mov dword [ebp - 0x10], edx
mov edi, eax
pop edx
mov dword [ebp - 0x58], 0x5d
mov ecx, eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], 0xffffff55
sub edi, dword [ebp + ecx*4 - 0x58]
inc ecx
cmp ecx, 3
jl 0xde5fe2
mov dword [ebp - 0x54], 0x2b
mov ecx, eax
mov dword [ebp - 0x50], 0xffffff87
add edx, dword [ebp + ecx*4 - 0x54]
inc ecx
cmp ecx, 2
jl 0xde5ffc
mov dword [ebp - 0x50], 0xfffffec4
mov dword [ebp - 0x5c], 0x64
mov dword [ebp - 0x58], 0x50
mov dword [ebp - 0x54], 0x4d
movups xmm1, xmmword [ebp - 0x5c]
mov dword [ebp - 0x40], 0x31
mov dword [ebp - 0x3c], 0x14
movaps xmm0, xmm1
mov dword [ebp - 0x38], 0x44
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x34], 0x1c
movups xmm0, xmm1
mov dword [ebp - 0x30], 0xffffff5b
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, 0x3b
mov dword [ebp - 0x50], ecx
mov ecx, eax
sub eax, dword [ebp + ecx*4 - 0x40]
inc ecx
cmp ecx, 5
jl 0xde606d
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x44], 0x18
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], edx
xor esi, 0xe5d2bb5e
mov dword [0xe1a484], esi
call fcn.00de5af5
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x68]
or eax, 0x1f0000
push eax
lea eax, [ebp - 4]
push eax
call 0xe1a659
add esp, 0x10
cmp dword [ebp - 4], 0
jne 0xde6121
mov eax, dword [ebx + 8]
xorps xmm1, xmm1
mov dword [ebp - 0x1c], 0x13
mov dword [ebp - 0x18], 0x4e
mov dword [ebp - 0x14], 0x4c
mov dword [ebp - 0x10], 0xffffff53
movups xmm0, xmmword [ebp - 0x1c]
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [eax], xmm1
jmp 0xde6147
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x28]
push dword [ebp - 4]
call fcn.00dee9eb
mov edx, eax
lea ecx, [ebp - 0x88]
call fcn.00dee9ca
call eax
push dword [ebp - 4]
call 0xe1a64f
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret