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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b0
push ebx
push esi
push edi
mov dword [ebp - 0x60], ecx
mov edx, 0x71c
xor ecx, ecx
mov dword [ebp - 0x80], 0x45
push 5
mov dword [ebp - 0x7c], 0x23
mov eax, ecx
mov dword [ebp - 0x78], 0x2e
mov dword [ebp - 0x74], 4
mov dword [ebp - 0x70], 0x57e
pop ebx
sub edx, dword [ebp + eax*4 - 0x80]
inc eax
cmp eax, ebx
jl 0xdde7de
mov eax, dword [0xdd1900]
mov edi, ecx
mov dword [ebp - 0x68], eax
mov ax, word [0xdd1904]
mov word [ebp - 0x64], ax
mov eax, ecx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x3c], 0x65bf062c
mov dword [ebp - 0x38], 0x236c3b27
mov dword [ebp - 0x34], 0x3a636b7
mov dword [ebp - 0x30], 0x21a9b736
mov dword [ebp - 0x2c], 0x6d9251a2
mov dword [ebp - 0x28], 0xf489f8f8
mov dword [ebp - 0x24], 0x96493020
mov dword [ebp - 0x20], 0xfab63bca
mov dword [ebp - 0x1c], 0xe7257251
mov dword [ebp - 0x18], 0x2d7e13be
mov dword [ebp - 0x14], 0x9f749653
mov byte [ebp + eax - 0x180], al
inc eax
cmp eax, 0x100
jb 0xdde84d
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x180]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x68]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x180]
mov byte [ebp + esi - 0x180], al
inc esi
mov byte [ebp + edi - 0x180], bl
cmp esi, 0x100
jb 0xdde85e
mov esi, dword [0xe1a2f0]
xor ebx, ebx
mov ecx, ebx
mov edi, ebx
lea eax, [ebx + 1]
movzx ebx, al
mov al, byte [ebp + ebx - 0x180]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0xc], eax
add eax, ecx
movzx eax, al
mov ecx, 0xdd1d70
mov dword [ebp - 8], eax
mov al, 0x6d
sub al, 0x30
cmp al, 9
ja 0xdde8db
inc ecx
mov al, byte [ecx]
test al, al
jne 0xdde8cc
jmp 0xdde8e1
imul esi, esi, 0x9c37b084
xor esi, 0x6b575408
call fcn.00ddd94c
mov edx, dword [ebp - 8]
mov ecx, 0xe1a3c4
mov al, byte [ebp + edx - 0x180]
mov byte [ebp + ebx - 0x180], al
mov al, byte [0xe1a3c4]
jmp 0xdde912
sub al, 0x30
cmp al, 9
ja 0xdde918
inc ecx
mov al, byte [ecx]
test al, al
jne 0xdde909
jmp 0xdde91e
add esi, 0xacc50d2
mov al, byte [ebp - 1]
xor esi, 0xb9e96107
push 0x6e
mov byte [ebp + edx - 0x180], al
mov ecx, 0xdd1df4
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0xdde950
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0xdde936
jmp 0xdde956
xor esi, 0x6bf9fb7b
push ecx
sub esi, 0x2a36ba0f
push ecx
mov ecx, esi
call fcn.00ddd9e1
movzx eax, byte [ebp + ebx - 0x180]
add eax, dword [ebp - 0xc]
movzx eax, al
pop ecx
pop ecx
mov ecx, dword [ebp - 8]
mov al, byte [ebp + eax - 0x180]
xor al, byte [ebp + edi - 0x3c]
mov byte [ebp + edi - 0x1b0], al
inc edi
cmp edi, 0x2c
jb 0xdde8a7
mov dword [ebp - 0x58], esi
lea edi, [ebp - 0x6c]
mov esi, 0xdd10b8
mov dword [ebp - 0x10], 0xacbbcb93
xor ebx, ebx
mov byte [ebp - 0x184], bl
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, ebx
mov byte [ebp + eax - 0x180], al
inc eax
cmp eax, 0x100
jb 0xdde9b5
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x180]
push 0xb
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x6c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x180]
mov byte [ebp + esi - 0x180], al
inc esi
mov byte [ebp + edi - 0x180], bl
cmp esi, 0x100
jb 0xdde9c6
mov esi, dword [ebp - 0x58]
xor ebx, ebx
mov dword [ebp - 8], ebx
mov edi, ebx
mov dword [ebp - 0xc], ebx
movzx ebx, byte [0xe1a3c4]
lea eax, [edi + 1]
mov edx, 0x972
movzx edi, al
mov eax, 0xe1a3c4
mov ecx, ebx
test ebx, ebx
je 0xddea4d
add edx, ecx
inc eax
cmp edx, 0x33c
ja 0xddea47
movzx ecx, byte [eax]
test ecx, ecx
jne 0xddea2d
and esi, 0x43f88aa3
jmp 0xddea5e
or esi, 0x52bbc89a
push ecx
push ecx
mov ecx, esi
call fcn.00ddd9e1
pop ecx
pop ecx
and esi, 0xc2edaeac
call fcn.00ddd94c
mov cl, byte [ebp + edi - 0x180]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
imul esi, esi, 0xd8abddea
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x180]
xor esi, 0x206b292d
mov byte [ebp + edi - 0x180], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x180], cl
movzx eax, byte [ebp + edi - 0x180]
mov ecx, dword [ebp - 0xc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x180]
xor al, byte [ebp + ecx - 0x10]
mov byte [ebp + ecx - 0x68], al
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, 4
jb 0xddea17
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x68]
add eax, eax
mov dword [0xe1a2f0], esi
mov dword [ebp - 0x5c], eax
xor ebx, ebx
lea eax, [ebp - 0x5c]
mov byte [ebp - 0x64], bl
push eax
push dword [ebp - 0x60]
call fcn.00dee9eb
mov edx, eax
lea ecx, [ebp - 0x1b0]
call fcn.00dee9ca
call eax
test eax, eax
jne 0xddecd2
mov esi, 0xdd1908
mov dword [ebp - 0x54], 0xe5a872b9
lea edi, [ebp - 0x7c]
mov dword [ebp - 0x50], 0x3ad4fbaf
mov dword [ebp - 0x4c], 0xd4083697
mov eax, ebx
mov dword [ebp - 0x48], 0xd0708c2a
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x44], 0xa3af270a
mov dword [ebp - 0x40], 0xc62ec1e3
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x180], al
inc eax
cmp eax, 0x100
jb 0xddeb3d
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x180]
push 0xe
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x7c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x180]
mov byte [ebp + esi - 0x180], al
inc esi
mov byte [ebp + edi - 0x180], bl
cmp esi, 0x100
jb 0xddeb4e
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x180]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x180]
mov byte [ebp + edi - 0x180], al
mov byte [ebp + ebx - 0x180], cl
movzx eax, byte [ebp + edi - 0x180]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x180]
xor al, byte [ebp + esi - 0x54]
mov byte [ebp + esi - 0x2c], al
inc esi
cmp esi, 0x18
jb 0xddeb91
movzx eax, byte [0xe1a3c4]
xor ebx, ebx
mov byte [ebp - 0x14], bl
mov ecx, 0xb47
mov dword [ebp - 0x7c], 0x4d
mov dword [ebp - 0x78], 0xa
mov dword [ebp - 0x74], 0x21
mov dword [ebp - 0x70], 0xffffff88
test eax, eax
je 0xddec26
mov edx, 0xe1a3c4
add ecx, eax
inc edx
cmp ecx, 0x203
ja 0xddec67
movzx eax, byte [edx]
test eax, eax
jne 0xddec14
mov edx, dword [0xe1a2f0]
sub esp, 0xc
add edx, 0xe3878aa3
or edx, 0x16850960
call fcn.00ddd906
add esp, 0xc
mov esi, ebx
push 0x6e
mov ecx, 0xdd1df4
pop edi
lea eax, [edi - 0x30]
push 9
pop edi
cmp ax, di
ja 0xddec75
add ecx, 2
movzx eax, word [ecx]
mov edi, eax
test ax, ax
jne 0xddec4d
jmp 0xddec7b
mov edx, dword [0xe1a2f0]
or edx, 0x1191be02
jmp 0xddec2c
and edx, 0x3bccd5de
sub esp, 0xc
or edx, 0x213eb8be
call fcn.00ddd906
sub ebx, dword [ebp + esi*4 - 0x7c]
add esp, 0xc
inc esi
cmp esi, 4
jl 0xddec45
lea ecx, [ebp - 0x2c]
mov dword [0xe1a2f0], edx
call fcn.00e0523e
mov esi, eax
mov ecx, esi
call fcn.00e05897
add eax, eax
push eax
push esi
push dword [ebp - 0x60]
call fcn.00e05084
mov ecx, esi
call fcn.00e05897
push eax
push ebx
push esi
call fcn.00e05117
add esp, 0x18
mov ecx, esi
call fcn.00dee98d
pop edi
pop esi
pop ebx
leave
ret