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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
push 6
pop ecx
mov dword [ebp - 0x14], 0x2d
xor eax, eax
mov dword [ebp - 0x10], 0xfffffffd
add ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, 2
jl 0xddda0a
mov eax, dword [0xe1a30c]
push esi
push edi
mov esi, 0xdd1818
mov dword [ebp - 0x3c], ecx
lea edi, [ebp - 0x14]
mov dword [ebp - 0x2c], 0x276a906e
add eax, 0x40ca0e73
mov dword [ebp - 0x28], 0xce42cedc
mov dword [0xe1a2f4], eax
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24], 0xdc6bb918
mov dword [ebp - 0x20], 0x7e2b9077
mov dword [ebp - 0x1c], 0xda1aece9
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0x296d0f67
movsw word es:[edi], word [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x158], al
inc eax
cmp eax, 0x100
jb 0xddda62
xor esi, esi
push ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x158]
push 9
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x14]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x158]
mov byte [ebp + esi - 0x158], al
inc esi
mov byte [ebp + edi - 0x158], bl
cmp esi, 0x100
jb 0xddda74
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x158]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x158]
mov byte [ebp + edi - 0x158], al
mov byte [ebp + ebx - 0x158], cl
movzx eax, byte [ebp + edi - 0x158]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x158]
xor al, byte [ebp + esi - 0x2c]
mov byte [ebp + esi - 0x58], al
inc esi
cmp esi, 0x18
jb 0xdddab7
mov eax, dword [0xdd1824]
xor ebx, ebx
mov dword [ebp - 0x10], eax
mov ax, word [0xdd1828]
mov word [ebp - 0xc], ax
xor eax, eax
mov byte [ebp - 0x40], 0
mov dword [ebp - 8], 0x573f6a27
mov byte [ebp + eax - 0x158], al
inc eax
cmp eax, 0x100
jb 0xdddb25
mov edi, dword [0xe1a2f4]
xor esi, esi
add edi, 0x8ff53106
mov dword [ebp - 0x38], edi
xor edx, edx
mov dword [ebp - 0x34], 5
mov eax, esi
mov cl, byte [ebp + esi - 0x158]
div dword [ebp - 0x34]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x10]
add eax, ebx
add ecx, eax
movzx ebx, cl
mov al, byte [ebp + ebx - 0x158]
mov byte [ebp + esi - 0x158], al
xor eax, eax
inc eax
cmp eax, 0x142
je 0xdddb8f
cmp byte [eax + 0xdd1cac], 0
jne 0xdddb7c
jmp 0xdddb94
call fcn.00ddd94c
sub esp, 0xc
call fcn.00ddd906
mov al, byte [ebp - 1]
add esp, 0xc
inc esi
mov byte [ebp + ebx - 0x158], al
cmp esi, 0x100
jb 0xdddb45
xor edi, edi
xor ebx, ebx
xor esi, esi
lea eax, [ebx + 1]
movzx ebx, al
mov cl, byte [ebp + ebx - 0x158]
movzx edx, cl
lea eax, [edx + edi]
movzx edi, al
mov al, byte [ebp + edi - 0x158]
mov byte [ebp + ebx - 0x158], al
mov byte [ebp + edi - 0x158], cl
movzx eax, byte [ebp + ebx - 0x158]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x158]
xor al, byte [ebp + esi - 8]
mov byte [ebp + esi - 0x34], al
inc esi
cmp esi, 4
jb 0xdddbb8
mov bl, byte [0xe1a318]
xor esi, esi
mov edi, dword [ebp - 0x38]
push 0x58
mov byte [ebp - 0x30], 0
pop edx
mov dword [ebp - 0x14], 0x1f
mov dword [ebp - 0x10], 0xffffff8a
xor eax, eax
test bl, bl
je 0xdddc49
inc eax
cmp eax, 0xbd1
jl 0xdddc3e
cmp byte [eax + 0xe1a318], 0
jne 0xdddc2b
jmp 0xdddc49
push ecx
push ecx
mov ecx, edi
call fcn.00ddd9e1
pop ecx
pop ecx
sub edi, 0x5b4e1899
add edx, dword [ebp + esi*4 - 0x14]
inc esi
cmp esi, 2
jl 0xdddc25
mov ecx, dword [ebp - 0x3c]
mov edi, 0xe1a318
mov esi, dword [ebp + 8]
pop ebx
mov ecx, dword fs:[ecx]
mov eax, dword [ecx + 0xa4]
mov dword [esi], eax
mov eax, dword [ecx + 0xa8]
mov dword [esi + 4], eax
movzx eax, word [ecx + 0xac]
mov ecx, 0x147a
mov dword [esi + 8], eax
movzx eax, byte [0xe1a318]
jmp 0xdddc9f
add ecx, eax
inc edi
cmp ecx, 0x1978
ja 0xdddca5
movzx eax, byte [edi]
test eax, eax
jne 0xdddc91
jmp 0xdddcb0
sub esp, 0xc
call fcn.00ddd906
add esp, 0xc
mov ecx, dword [0xe1a2f4]
lea eax, [ecx - 0x3d2c37e2]
mov dword [0xe1a35c], eax
lea eax, [ecx - 0x79a6495a]
neg edx
mov dword [0xe1a30c], eax
lea ecx, [ebp - 0x34]
lea eax, [esi + 0xc]
push eax
push edx
call fcn.00dee9eb
mov edx, eax
lea ecx, [ebp - 0x58]
call fcn.00dee9ca
call eax
pop edi
mov eax, esi
pop esi
leave
ret