Function at 0xdd848a
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb8
push ebx
push esi
push edi
push 0xf
xor edi, edi
mov dword [ebp - 0xc], ecx
pop ebx
mov dword [ebp - 0x38], 0x18
mov eax, edi
mov dword [ebp - 0x34], 0x57
mov dword [ebp - 0x30], 0xffffff9f
sub ebx, dword [ebp + eax*4 - 0x38]
inc eax
cmp eax, 3
jl 0xdd84b5
mov dword [ebp - 0x2c], ebx
mov eax, edi
mov ecx, 0xdd1620
add ecx, 2
inc eax
cmp eax, 0xc5
jl 0xdd84ec
cmp word [ecx], di
jne 0xdd84c9
cmp eax, 0x1555
jle 0xdd84e5
call fcn.00dd513e
mov eax, dword [0xe1a228]
jmp 0xdd84f6
mov eax, dword [0xe1a228]
xor eax, 0xb338d5d5
imul esi, eax, 0x1a6cabf
mov edx, 0xdd1620
push ecx
push 0xe1a110
add esi, 0x4c0d8e52
mov ecx, esi
call fcn.00dd50bb
pop ecx
pop ecx
mov ecx, edi
mov eax, 0xdd1620
inc ecx
lea eax, [eax + 2]
cmp ecx, 0xd7
je 0xdd8530
cmp word [eax], di
jne 0xdd851d
jmp 0xdd8536
imul esi, esi, 0xc4dc3935
mov dword [ebp - 0x20], 0x26
xorps xmm1, xmm1
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x18], 0x2c
mov dword [ebp - 0x14], 0xffffffd7
movups xmm0, xmmword [ebp - 0x20]
imul edx, esi, 0x5d7b9a5d
psubd xmm1, xmm0
movzx esi, bl
movaps xmm0, xmm1
mov dword [ebp - 8], esi
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
mov dword [0xe1a228], edx
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x34
mov dword [ebp - 0x50], eax
cmp esi, eax
jge 0xdd88b0
mov dword [ebp - 0x20], 0x30
mov dword [ebp - 0x1c], 0x59
mov dword [ebp - 0x18], 0x31
mov dword [ebp - 0x14], 0xffffff46
movups xmm4, xmmword [ebp - 0x20]
xorps xmm1, xmm1
psubd xmm1, xmm4
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
cmp cl, bl
jae 0xdd889d
mov al, bl
mov dword [ebp - 0x94], 0x5c
sub al, cl
mov dword [ebp - 0x90], 0xf
mov dword [ebp - 0x8c], 0x38
mov dword [ebp - 0x88], 0xffffff91
movups xmm3, xmmword [ebp - 0x94]
movzx eax, al
mov dword [ebp - 0x58], 0x3a
mov dword [ebp - 0x54], 0xffffffb7
mov dword [ebp - 0x6c], 0x4d
mov dword [ebp - 0x68], 0x33
mov dword [ebp - 0x64], 0xffffff8b
mov dword [ebp - 0x78], 0x45
mov dword [ebp - 0x74], 0x3d
mov dword [ebp - 0x70], 0xffffff96
mov dword [ebp - 0x60], 0x3c
mov dword [ebp - 0x5c], 0xffffffc2
mov dword [ebp - 0x84], 0x19
mov dword [ebp - 0x80], 0x23
mov dword [ebp - 0x7c], 0xffffffca
mov dword [ebp - 0x28], eax
xorps xmm1, xmm1
sub edx, 0x5e6a9cd1
psubd xmm1, xmm3
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
push 0xf
pop ecx
add eax, 0x38
mov dword [ebp - 0x3c], eax
mov eax, edi
add ecx, dword [ebp + eax*4 - 0x58]
inc eax
cmp eax, 2
jl 0xdd86af
push 0xc
mov dword [ebp - 0x40], ecx
mov eax, edi
pop ebx
sub ebx, dword [ebp + eax*4 - 0x6c]
inc eax
cmp eax, 3
jl 0xdd86c1
xor eax, eax
mov dword [ebp - 0x10], ebx
push 0x1c
mov ecx, eax
mov eax, 0xdd1620
pop edi
inc ecx
lea eax, [eax + 2]
cmp ecx, 0x1cd0
je 0xdd86f2
xor esi, esi
cmp word [eax], si
mov esi, dword [ebp - 8]
jne 0xdd86da
jmp 0xdd86f8
add edx, 0x465b093d
and edx, 0xa49fcb3c
xor eax, eax
sub edi, dword [ebp + eax*4 - 0x78]
inc eax
cmp eax, 3
jl 0xdd8700
mov dword [ebp - 0x24], edi
xor edi, edi
push 6
pop ecx
mov eax, edi
add ecx, dword [ebp + eax*4 - 0x60]
inc eax
cmp eax, 2
jl 0xdd8714
push 0x38
mov dword [ebp - 0x48], ecx
mov eax, edi
pop ecx
mov dword [ebp - 0xb8], 8
mov dword [ebp - 0xb4], 0x31
mov dword [ebp - 0xb0], 0x12
mov dword [ebp - 0xac], 0x5b
mov dword [ebp - 0xa8], 0xffffff8e
sub ecx, dword [ebp + eax*4 - 0xb8]
inc eax
cmp eax, 5
jl 0xdd8758
push 7
mov dword [ebp - 0x4c], ecx
mov eax, edi
pop ecx
sub ecx, dword [ebp + eax*4 - 0x84]
inc eax
cmp eax, 3
jl 0xdd876d
mov edi, dword [ebp - 0xc]
mov eax, esi
imul eax, dword [ebp - 0x3c]
sub edx, 0x70032b68
mov dword [ebp - 0x44], ecx
mov dword [0xe1a228], edx
add eax, dword [ebp - 0x40]
mov al, byte [eax + edi]
movzx edi, bl
mov byte [ebp - 1], al
cmp edi, dword [ebp - 0x24]
jge 0xdd8876
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xa4], 0x51
mov dword [ebp - 0xa0], 0x25
mov dword [ebp - 0x9c], 0x12
mov dword [ebp - 0x98], 0xffffff85
movups xmm2, xmmword [ebp - 0xa4]
mov dword [ebp - 0x34], 0x13
mov dword [ebp - 0x30], 0xffffff9b
mov dword [ebp - 0x1c], 0x30
mov dword [ebp - 0x18], 0x59
mov dword [ebp - 0x14], 0xffffff8f
push 0x56
pop esi
xor eax, eax
add esi, dword [ebp + eax*4 - 0x34]
inc eax
cmp eax, 2
jl 0xdd8804
xorps xmm1, xmm1
psubd xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
push 0x1c
pop ecx
add eax, 0xe
mov dword [ebp - 0x10], eax
xor eax, eax
sub ecx, dword [ebp + eax*4 - 0x1c]
inc eax
cmp eax, 3
jl 0xdd883c
mov eax, ebx
imul eax, ecx
mov ecx, ebx
imul ecx, esi
mov esi, dword [ebp - 0xc]
add eax, edi
sub ecx, dword [ebp - 0x10]
add ecx, edi
inc dl
movzx edi, dl
mov al, byte [eax + esi]
mov byte [ecx + esi], al
cmp edi, dword [ebp - 0x24]
jl 0xdd87ff
mov edx, dword [0xe1a228]
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
mov eax, esi
imul eax, dword [ebp - 0x48]
push 0
pop edi
sub eax, ecx
mov cl, byte [ebp - 1]
add eax, dword [ebp - 0x4c]
sub dword [ebp - 0x28], 1
mov byte [eax + ebx], cl
jne 0xdd867b
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
inc bl
movzx esi, bl
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 8], esi
cmp esi, eax
jl 0xdd85b9
pop edi
pop esi
pop ebx
leave
ret