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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f0
push 0x23
mov dword [ebp - 0x5c], ecx
xor eax, eax
pop ecx
mov dword [ebp - 0x54], 0x17
mov dword [ebp - 0x50], 0x15
mov dword [ebp - 0x4c], 0xffffffe1
add ecx, dword [ebp + eax*4 - 0x54]
inc eax
cmp eax, 3
jl 0xdddd13
push esi
push edi
mov esi, 0xdd1818
mov dword [ebp - 0x48], ecx
lea edi, [ebp - 0x54]
mov dword [ebp - 0x34], 0x66a824f
mov dword [ebp - 0x30], 0xe417cbd5
mov dword [ebp - 0x2c], 0x9341ed34
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x28], 0x3e49dd4b
mov dword [ebp - 0x24], 0xda1beff1
mov dword [ebp - 0x20], 0x296d3969
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x15c], al
inc eax
cmp eax, 0x100
jb 0xdddd5c
push 9
pop ecx
xor esi, esi
push ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x15c]
mov eax, esi
div ecx
movzx ecx, bl
push 9
movzx eax, byte [ebp + edx - 0x54]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x15c]
mov byte [ebp + esi - 0x15c], al
inc esi
mov byte [ebp + edi - 0x15c], bl
cmp esi, 0x100
jb 0xdddd71
and dword [ebp - 4], 0
xor edi, edi
mov bh, byte [0xe1a360]
xor edx, edx
mov esi, dword [0xe1a374]
xor eax, eax
inc eax
cmp eax, 0xcd1
je 0xddddef
cmp byte [eax + 0xdd1e00], 0
jne 0xddddc4
cmp eax, 0x21de
jle 0xddddf5
push ecx
push ecx
mov ecx, esi
call fcn.00ddd9e1
pop ecx
pop ecx
xor esi, 0x9206fd62
jmp 0xddddfb
or esi, 0xe6a5fb1e
imul esi, esi, 0xd1cd73fe
lea eax, [edi + 1]
xor esi, 0xdbca2ad7
movzx edi, al
mov bl, byte [ebp + edi - 0x15c]
movzx eax, bl
add eax, dword [ebp - 4]
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x15c]
mov byte [ebp + edi - 0x15c], al
xor eax, eax
test bh, bh
je 0xddde43
inc eax
cmp eax, 0x5e6
jg 0xdde334
cmp byte [eax + 0xe1a360], 0
jne 0xddde2e
xor esi, 0xa0eca02d
mov eax, dword [ebp - 4]
add esi, 0xfd131406
mov byte [ebp + eax - 0x15c], bl
movzx ecx, byte [ebp + edi - 0x15c]
movzx eax, bl
add ecx, eax
movzx eax, cl
mov al, byte [ebp + eax - 0x15c]
xor al, byte [ebp + edx - 0x34]
mov byte [ebp + edx - 0x178], al
inc edx
cmp edx, 0x18
jb 0xddddc2
mov eax, dword [0xdd1848]
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov ax, word [0xdd184c]
mov word [ebp - 0x4c], ax
mov eax, ecx
mov dword [ebp - 0x20], esi
mov byte [ebp - 0x160], cl
mov dword [ebp - 4], 0xcfef0006
mov byte [ebp + eax - 0x15c], al
inc eax
cmp eax, 0x100
jb 0xdddeab
mov edi, ecx
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + edi - 0x15c]
push 5
mov eax, edi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x50]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x15c]
mov byte [ebp + edi - 0x15c], al
inc edi
mov byte [ebp + esi - 0x15c], bl
cmp edi, 0x100
jb 0xdddebe
and dword [ebp - 0x3c], 0
xor ebx, ebx
mov esi, dword [ebp - 0x20]
xor edi, edi
lea eax, [ebx + 1]
movzx ebx, al
mov eax, dword [ebp - 0x3c]
mov cl, byte [ebp + ebx - 0x15c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x3c], eax
mov al, byte [ebp + eax - 0x15c]
mov byte [ebp + ebx - 0x15c], al
mov eax, dword [ebp - 0x3c]
mov byte [ebp + eax - 0x15c], cl
movzx eax, byte [ebp + ebx - 0x15c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x15c]
xor al, byte [ebp + edi - 4]
mov byte [ebp + edi - 0x50], al
inc edi
cmp edi, 4
jb 0xdddf06
xor ecx, ecx
mov byte [ebp - 0x4c], 0
mov dword [ebp - 0x28], 0x25
xor eax, eax
mov dword [ebp - 0x24], 0x1d
mov dword [ebp - 0x20], 0xffffffbe
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 3
jl 0xdddf78
add esi, 0x6e4e51fc
mov dword [ebp - 0x58], ecx
push 0x34
mov dword [ebp - 0x20], esi
xor eax, eax
mov dword [ebp - 0x40], 0x12
mov dword [ebp - 0x3c], 0xffffffba
pop ecx
add ecx, dword [ebp + eax*4 - 0x40]
inc eax
cmp eax, 2
jl 0xdddfa1
mov esi, 0xdd1850
mov dword [ebp - 4], ecx
lea edi, [ebp - 0x44]
mov dword [ebp - 0x1c], 0x43fa749e
mov dword [ebp - 0x18], 0x1387871f
mov dword [ebp - 0x14], 0xe69b02c2
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0x3b892977
mov dword [ebp - 0xc], 0x657bd543
mov dword [ebp - 8], 0x2c3c8bf6
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x15c], al
inc eax
cmp eax, 0x100
jb 0xdddfe9
push 0xd
xor esi, esi
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x15c]
mov eax, esi
div ecx
movzx ecx, bl
push 0xd
movzx eax, byte [ebp + edx - 0x44]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x15c]
mov byte [ebp + esi - 0x15c], al
inc esi
mov byte [ebp + edi - 0x15c], bl
cmp esi, 0x100
jb 0xdddffd
and dword [ebp - 0x3c], 0
xor edi, edi
mov ebx, dword [ebp - 0x20]
xor esi, esi
lea eax, [edi + 1]
imul ebx, ebx, 0xf69d4040
movzx edi, al
mov eax, dword [ebp - 0x3c]
mov cl, byte [ebp + edi - 0x15c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x3c], eax
mov al, byte [ebp + eax - 0x15c]
mov byte [ebp + edi - 0x15c], al
mov eax, dword [ebp - 0x3c]
mov byte [ebp + eax - 0x15c], cl
movzx eax, byte [ebp + edi - 0x15c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x15c]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x194], al
inc esi
cmp esi, 0x18
jb 0xdde045
mov esi, 0xdd1860
mov byte [ebp - 0x17c], 0
lea edi, [ebp - 0x28]
mov dword [ebp - 0x1c], 0x4b6d06da
mov dword [ebp - 0x18], 0xd97ddba
mov dword [ebp - 0x14], 0x38bcd7cd
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], 0x211c3a9b
mov dword [ebp - 0xc], 0x4b5b0906
mov dword [ebp - 8], 0xc14ccbf4
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor edi, edi
xor eax, eax
add ebx, 0xda658ce4
mov byte [ebp + eax - 0x15c], al
inc eax
cmp eax, 0x100
jb 0xdde0e3
mov dword [0xe1a374], ebx
xor esi, esi
mov dl, byte [ebp + esi - 0x15c]
mov eax, esi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x28]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x15c]
mov byte [ebp + esi - 0x15c], al
inc esi
mov byte [ebp + edi - 0x15c], dl
cmp esi, 0x100
jb 0xdde100
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x15c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x15c]
mov byte [ebp + edi - 0x15c], al
mov byte [ebp + ebx - 0x15c], cl
movzx eax, byte [ebp + edi - 0x15c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x15c]
xor al, byte [ebp + esi - 0x1c]
mov byte [ebp + esi - 0x1b0], al
inc esi
cmp esi, 0x18
jb 0xdde13f
push 0xf
pop ecx
mov esi, 0xdd186c
mov byte [ebp - 0x198], 0
lea edi, [ebp - 0x1f0]
mov dword [ebp - 0x24], 0x264c54bf
rep movsd dword es:[edi], dword [esi]
mov word [ebp - 0x20], 0xbd29
movsw word es:[edi], word [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x15c], al
inc eax
cmp eax, 0x100
jb 0xdde1b9
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x15c]
push 0x3d
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x1f0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x15c]
mov byte [ebp + esi - 0x15c], al
inc esi
mov byte [ebp + edi - 0x15c], bl
cmp esi, 0x100
jb 0xdde1ca
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x15c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x15c]
mov byte [ebp + edi - 0x15c], al
mov byte [ebp + ebx - 0x15c], cl
movzx eax, byte [ebp + edi - 0x15c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x15c]
xor al, byte [ebp + esi - 0x24]
mov byte [ebp + esi - 0x40], al
inc esi
cmp esi, 6
jb 0xdde210
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x48]
pop ebx
mov dword [ebp - 0x2c], 0x38
xorps xmm1, xmm1
mov dword [ebp - 0x28], 0x3e
mov eax, dword fs:[eax]
mov dword [ebp - 0x24], 0x46
mov dword [ebp - 0x20], 0xffffff44
movups xmm0, xmmword [ebp - 0x2c]
push ecx
push dword [ebp - 4]
psubd xmm1, xmm0
mov byte [ebp - 0x3a], 0
push dword [ebp - 0x58]
movaps xmm0, xmm1
lea ecx, [ebp - 0x50]
push dword [eax + 0xa8]
psrldq xmm0, 8
push dword [eax + 0xa4]
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd edi, xmm1
call fcn.00dee9eb
mov edx, eax
lea ecx, [ebp - 0x178]
call fcn.00dee9ca
call eax
or dword [0xe1a374], 0x831e6b47
lea ecx, [ebp - 0x194]
call fcn.00e0523e
push dword [ebp - 0x48]
mov esi, eax
lea ecx, [ebp - 0x40]
push esi
push dword [ebp - 0x5c]
call fcn.00dee9eb
mov edx, eax
lea ecx, [ebp - 0x1b0]
call fcn.00dee9ca
call eax
mov ecx, esi
call fcn.00e05897
push eax
push edi
push esi
call fcn.00e05117
xor dword [0xe1a374], 0x27b329c7
add esp, 0x18
mov ecx, esi
call fcn.00dee98d
pop edi
pop esi
leave
ret
push ecx
push ecx
mov ecx, esi
call fcn.00ddd9e1
pop ecx
and esi, 0x34bfd412
pop ecx
cmp eax, 0x1181
jle 0xddde43
or esi, 0x1d50bd88
jmp 0xddde49