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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
xor eax, eax
mov dword [ebp - 0x48], ecx
mov ecx, 0xe38
mov dword [ebp - 0x14], 0x21
mov dword [ebp - 0x10], 0x54
mov edx, eax
mov dword [ebp - 0xc], 0xcbf
sub ecx, dword [ebp + edx*4 - 0x14]
inc edx
cmp edx, 3
jl 0xdde385
push ebx
push esi
push edi
mov dword [ebp - 0x44], ecx
lea edi, [ebp - 0x194]
push 0xb
pop ecx
mov esi, 0xdd18ac
mov dword [ebp - 0x38], 0x92a2696a
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x34], 0x26af3c8c
mov ecx, eax
mov dword [ebp - 0x30], 0x8dfcc836
mov dword [ebp - 0x2c], 0xa25fa91b
movsw word es:[edi], word [esi]
mov dword [ebp - 0x28], 0x220b1b6e
mov dword [ebp - 0x24], 0xe0789f3f
mov dword [ebp - 4], eax
movsb byte es:[edi], byte [esi]
mov byte [ebp + ecx - 0x148], cl
inc ecx
cmp ecx, 0x100
jb 0xdde3d7
mov esi, dword [0xe1a358]
mov edi, eax
xor edx, edx
mov bl, byte [ebp + edi - 0x148]
push 0x2e
mov eax, edi
and esi, 0xb4eb8679
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x194]
add eax, dword [ebp - 4]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 4], ecx
mov al, byte [ebp + ecx - 0x148]
mov byte [ebp + edi - 0x148], al
inc edi
mov byte [ebp + ecx - 0x148], bl
cmp edi, 0x100
jb 0xdde3ef
mov edi, dword [0xe1a394]
xor ebx, ebx
mov dword [ebp - 8], ebx
mov eax, ebx
mov edx, ebx
inc eax
movzx eax, al
mov dword [ebp - 4], eax
mov cl, byte [ebp + eax - 0x148]
mov eax, dword [ebp - 8]
movzx ebx, cl
add eax, ebx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 4]
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x148]
mov byte [ebp + ebx - 0x148], al
xor ebx, ebx
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x148], cl
mov eax, ebx
mov ecx, 0xdd1c00
add ecx, 2
inc eax
cmp eax, 0x594
jl 0xdde4b5
cmp word [ecx], bx
jne 0xdde48b
cmp eax, 0x128b
jle 0xdde4b5
push ecx
push ecx
mov ecx, esi
call fcn.00ddd9e1
pop ecx
pop ecx
lea edi, [esi + 0x7208a06f]
jmp 0xdde4bd
mov esi, edi
xor esi, 0x6fb00d5c
mov eax, dword [ebp - 4]
or edi, 0x47241e79
movzx eax, byte [ebp + eax - 0x148]
add eax, dword [ebp - 0xc]
movzx eax, al
mov al, byte [ebp + eax - 0x148]
xor al, byte [ebp + edx - 0x38]
mov byte [ebp + edx - 0x164], al
inc edx
mov eax, dword [ebp - 4]
cmp edx, 0x18
jb 0xdde448
mov byte [ebp - 0x14c], bl
mov ecx, ebx
mov dword [ebp - 8], 0x65613758
mov eax, 0xdd1d00
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x1102
je 0xdde51a
cmp word [eax], bx
jne 0xdde507
jmp 0xdde51f
call fcn.00ddd94c
and esi, 0xa0427da4
mov dword [ebp - 0xc], esi
mov dword [0xe1a394], esi
mov esi, 0xdd18dc
lea edi, [ebp - 0x30]
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x148], al
inc eax
cmp eax, 0x100
jb 0xdde53e
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x148]
push 0xc
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x30]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x148]
mov byte [ebp + esi - 0x148], al
inc esi
mov byte [ebp + edi - 0x148], bl
cmp esi, 0x100
jb 0xdde54f
xor ebx, ebx
imul edi, dword [ebp - 0xc], 0x91f4097c
mov dword [ebp - 4], ebx
mov esi, ebx
lea eax, [ebx + 1]
and edi, 0xbf5bf59b
movzx ebx, al
add edi, 0x3136552d
mov eax, dword [ebp - 4]
mov cl, byte [ebp + ebx - 0x148]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x148]
mov byte [ebp + ebx - 0x148], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x148], cl
movzx eax, byte [ebp + ebx - 0x148]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x148]
xor al, byte [ebp + esi - 8]
mov byte [ebp + esi - 0x40], al
inc esi
cmp esi, 4
jb 0xdde59a
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x40]
add eax, eax
mov dword [0xe1a358], edi
mov dword [ebp - 0x44], eax
xor ebx, ebx
lea eax, [ebp - 0x44]
mov byte [ebp - 0x3c], bl
push eax
push dword [ebp - 0x48]
call fcn.00dee9eb
mov edx, eax
lea ecx, [ebp - 0x164]
call fcn.00dee9ca
call eax
test eax, eax
jne 0xdde79b
mov esi, 0xdd18ec
mov dword [ebp - 0x20], 0xa070549d
lea edi, [ebp - 0x34]
mov dword [ebp - 0x1c], 0x38fba39e
mov dword [ebp - 0x18], 0xe66398e9
mov eax, ebx
mov dword [ebp - 0x14], 0x42b00cb
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0x6766ee47
mov dword [ebp - 0xc], 0xdd1f49d7
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp + eax - 0x148], al
inc eax
cmp eax, 0x100
jb 0xdde66d
imul esi, dword [0xe1a358], 0xe2e2a15a
mov edi, ebx
mov dword [ebp - 8], esi
mov dword [0xe1a394], esi
mov esi, ebx
mov dl, byte [ebp + edi - 0x148]
mov eax, edi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x34]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x148]
mov byte [ebp + edi - 0x148], al
inc edi
mov byte [ebp + esi - 0x148], dl
cmp edi, 0x100
jb 0xdde693
or dword [ebp - 8], 0x316fe30a
mov edi, ebx
mov dword [ebp - 4], ebx
mov esi, ebx
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 4]
mov cl, byte [ebp + esi - 0x148]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x148]
mov byte [ebp + esi - 0x148], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x148], cl
movzx eax, byte [ebp + esi - 0x148]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x148]
xor al, byte [ebp + edi - 0x20]
mov byte [ebp + edi - 0x180], al
inc edi
cmp edi, 0x18
jb 0xdde6da
mov esi, dword [ebp - 8]
push 0x2a
xor esi, 0x34dc4740
mov byte [ebp - 0x168], bl
pop edi
mov dword [ebp - 0x10], 0x44
mov dword [ebp - 0xc], 0xffffff92
mov dword [0xe1a358], esi
add edi, dword [ebp + ebx*4 - 0x10]
inc ebx
cmp ebx, 2
jl 0xdde758
lea ecx, [ebp - 0x180]
call fcn.00e0523e
mov esi, eax
mov ecx, esi
call fcn.00e05897
add eax, eax
push eax
push esi
push dword [ebp - 0x48]
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
pop ebx
leave
ret