Function at 0x100dd20
Capabilities:
Encrypt data using rc4 prga

Disassembly:
dec eax
mov eax, esp
inc ecx
push esi
dec eax
sub esp, 0x110
movsd xmm0, qword [0x6f24]
dec esp
mov esi, ecx
comisd xmm0, xmm1
ja 0x100e2e6
movsd xmm4, qword [ecx + 0x30]
dec esp
mov eax, dword [esp + 0x158]
dec esp
mov dword [eax - 0x18], esp
inc esp
movaps xmmword [eax - 0x78], xmm2
inc esp
movups xmm2, xmmword [0x6c20]
inc ebp
mov esp, dword [eax + 0x24]
inc esp
movaps xmmword [eax - 0x88], xmm3
inc ecx
dec esp
inc esp
movaps xmm3, xmm4
inc esp
movaps xmmword [esp + 0x70], xmm5
inc esp
mulps xmm3, xmm2
movsd xmm2, qword [ecx + 0x38]
mulsd xmm4, xmm1
inc esp
movaps xmm5, xmm2
inc ecx
movaps xmm0, xmm3
inc esp
mulps xmm5, xmm3
mulsd xmm2, xmm1
subsd xmm0, xmm4
inc ecx
addps xmm4, xmm3
cvttsd2si edx, xmm0
inc ecx
addps xmm4, xmm2
cvttsd2si ecx, xmm4
inc ecx
cmp edx, esp
jg 0x100e2c6
test ecx, ecx
js 0x100e2c6
dec esp
mov dword [eax - 0x20], ebp
inc ecx
movaps xmm0, xmm5
inc ebp
mov ebp, dword [eax + 0x28]
subsd xmm0, xmm2
dec esp
mov dword [eax - 0x28], edi
inc ecx
addps xmm2, xmm5
inc ebp
xor edi, edi
test edx, edx
inc ebp
mov ecx, edi
inc esp
cmovns ecx, edx
inc ecx
cmp ecx, esp
cvttsd2si edx, xmm0
inc esp
cmovle esp, ecx
inc esp
mov dword [esp + 0x128], ecx
inc ecx
dec ebp
inc ecx
addps xmm2, xmm2
cvttsd2si ecx, xmm2
inc ecx
cmp edx, ebp
jg 0x100e2b6
test ecx, ecx
js 0x100e2b6
dec eax
mov dword [eax + 8], ebx
test edx, edx
movaps xmmword [eax - 0x48], xmm7
xorps xmm0, xmm0
inc esp
movaps xmmword [eax - 0x58], xmm0
movaps xmm7, xmm1
inc esp
cmovns edi, edx
inc esp
movaps xmmword [eax - 0x98], xmm4
inc esp
movaps xmmword [esp + 0x50], xmm7
inc ecx
cmp ecx, ebp
inc ebp
movaps xmm7, xmm2
mulsd xmm7, xmm1
inc esp
cmovle ebp, ecx
inc esp
divps xmm7, xmm1
inc ecx
subps xmm1, xmmword [esi + 0x10]
comisd xmm0, xmm1
inc esp
movaps xmm0, xmm1
inc esp
mulps xmm0, xmm1
jbe 0x100de6c
inc esp
xorps xmm0, xmmword [0x6b24]
dec eax
mov ebx, dword [esp + 0x148]
movaps xmm0, xmm7
inc esp
movups xmm4, xmmword [0x6af8]
inc ecx
subps xmm0, xmm0
movzx eax, bx
inc esp
divps xmm4, xmm7
inc esp
divps xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
inc esp
mulps xmm2, xmm0
inc ebp
cmp edi, ebp
jg 0x100e28e
dec eax
mov ecx, dword [esp + 0x150]
inc ecx
mov ebx, 0x8000
dec eax
mov dword [esp + 0x130], ebp
dec eax
mov dword [esp + 0x138], esi
dec eax
mov dword [esp + 0x108], edi
dec ecx
arpl cx, ax
movaps xmmword [esp + 0xe0], xmm6
inc cx
movd mm0, ecx
cvtdq2pd xmm0, xmm0
dec eax
lea edx, [eax*8]
dec esp
lea edx, [eax*4]
dec eax
mov dword [esp + 0x38], edx
dec esp
mov dword [esp + 0x40], edx
inc esp
movaps xmmword [esp + 0xb0], xmm1
inc esp
movaps xmmword [esp + 0x60], xmm6
inc esp
subps xmm3, xmm0
inc esp
movups xmm6, xmmword [0x6d1f]
nop dword [eax]
inc ecx
mov eax, edi
inc cx
movd mm0, edi
inc ecx
imul eax, dword [eax + 0x20]
inc ebp
movaps xmm1, xmm5
cvtdq2pd xmm0, xmm0
inc ecx
mov ebp, ecx
dec eax
arpl ax, di
inc ecx
mov eax, edi
dec ecx
add edi, dword [eax + 0x18]
imul eax, dword [ecx + 0x20]
inc ecx
movaps xmm6, xmm3
inc ecx
mulps xmm6, xmmword [esi + 0x20]
inc esp
subps xmm1, xmm0
dec eax
add edi, edx
dec eax
arpl ax, si
inc ebp
mulps xmm1, xmmword [esi + 0x28]
dec ecx
add esi, edx
dec eax
add esi, dword [ecx + 0x18]
inc ebp
mulps xmm1, xmm1
inc ebp
cmp ecx, esp
jg 0x100e253
nop word [eax + eax]
movaps xmm4, xmm6
mulsd xmm4, xmm6
inc ecx
addps xmm4, xmm1
comisd xmm4, xmm7
jae 0x100e218
mov edx, dword [esi]
movaps xmm0, xmm4
subsd xmm0, xmm7
dec eax
mov dword [esp + 0x20], ebx
xorps xmm1, xmm1
dec eax
mov eax, ebx
dec eax
shr eax, 0x10
inc ecx
movaps xmm2, xmm6
movzx eax, ax
inc ecx
movaps xmm3, xmm6
inc ecx
mulps xmm0, xmm7
addsd xmm0, qword [esp + 0x140]
mulsd xmm0, qword [0x6cd9]
cvttsd2si ecx, xmm0
movaps xmm0, xmm4
sub edx, ecx
inc ecx
mulps xmm0, xmm4
cvtsd2ss xmm1, xmm0
movd xmm0, eax
movzx eax, word [esp + 0x24]
minss xmm2, xmm1
cvtdq2ps xmm0, xmm0
subss xmm3, xmm2
mulss xmm0, xmm3
inc esp
cvttps2pi mm0, xmm0
movd xmm0, eax
movzx eax, word [esp + 0x26]
cvtdq2ps xmm0, xmm0
inc sp
mov dword [esp + 0x22], eax
mulss xmm0, xmm3
inc esp
cvttps2pi mm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
inc sp
mov dword [esp + 0x24], ecx
mulss xmm0, xmm3
inc esp
cvttps2pi mm2, xmm0
inc sp
mov dword [esp + 0x26], edx
js 0x100e125
inc cx
comiss xmm4, xmm0
jbe 0x100e059
movaps xmm0, xmm7
subsd xmm0, xmm4
inc ecx
mulps xmm0, xmm2
cvttsd2si ecx, xmm0
mov word [esp + 0x20], cx
jmp 0x100e060
mov dword [esi], ecx
movzx ecx, word [esp + 0x20]
cmp edx, 0x100
jge 0x100e118
mov word [esp + 0x28], cx
mov eax, 0x100
movzx ecx, word [edi + 2]
sub eax, edx
movd xmm2, eax
inc ecx
movzx eax, ax
sub ecx, eax
inc ecx
movzx eax, ax
cvtdq2ps xmm2, xmm2
movd xmm0, eax
mulss xmm2, dword [0x6b77]
movd xmm1, ecx
movzx ecx, word [edi + 4]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm2
addss xmm1, xmm0
cvttss2si eax, xmm1
mov word [esp + 0x2a], ax
inc ecx
movzx eax, cx
sub ecx, eax
inc ecx
movzx eax, cx
movd xmm0, eax
movd xmm1, ecx
movzx ecx, word [edi + 6]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm2
addss xmm1, xmm0
cvttss2si eax, xmm1
mov word [esp + 0x2c], ax
inc ecx
movzx eax, dx
sub ecx, eax
inc ecx
movzx eax, dx
movd xmm0, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm2
addss xmm1, xmm0
cvttss2si eax, xmm1
mov word [esp + 0x2e], ax
dec eax
mov eax, dword [esp + 0x28]
dec eax
mov dword [esp + 0x20], eax
dec eax
mov edx, edi
dec eax
lea ecx, [esp + 0x20]
jmp 0x100e20a
movzx ecx, word [edi]
inc cx
cmp ecx, ebx
jae 0x100e218
cmp edx, 0xffffff00
jle 0x100e1e6
movzx eax, word [esp + 0x20]
imul eax, edx
mov word [esp + 0x30], cx
movzx ecx, word [edi + 2]
neg eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm2, eax
inc ecx
movzx eax, ax
sub eax, ecx
movzx ecx, word [edi + 4]
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mulss xmm2, dword [0x6a93]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
addss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm1
mov word [esp + 0x32], ax
inc ecx
movzx eax, cx
sub eax, ecx
movzx ecx, word [edi + 6]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
addss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm1
mov word [esp + 0x34], ax
inc ecx
movzx eax, dx
sub eax, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
addss xmm1, xmm0
cvttss2si eax, xmm1
mov word [esp + 0x36], ax
dec eax
mov eax, dword [esp + 0x30]
dec eax
mov dword [esp + 0x20], eax
mov word [esp + 0x20], bx
inc cx
comiss xmm4, xmm0
jbe 0x100e202
movaps xmm0, xmm7
subsd xmm0, xmm4
inc ecx
mulps xmm0, xmm2
cvttsd2si eax, xmm0
mov word [esp + 0x20], ax
dec eax
lea edx, [esp + 0x20]
dec eax
mov ecx, edi
dec esp
mov eax, edi
call 0x100a1a0
inc ecx
mov ebx, 0x8000
inc ecx
subps xmm6, xmmword [esi + 0x20]
inc ebp
dec eax
add edi, 8
dec eax
add esi, 4
inc ecx
cmp ebp, esp
jle 0x100df80
dec esp
mov eax, dword [esp + 0x158]
inc esp
mov ecx, dword [esp + 0x128]
dec eax
mov ecx, dword [esp + 0x150]
dec eax
mov edx, dword [esp + 0x38]
dec esp
mov edx, dword [esp + 0x40]
inc ecx
inc edi
inc ebp
cmp edi, ebp
jle 0x100df20
inc esp
movaps xmm6, xmmword [esp + 0x60]
inc esp
movaps xmm1, xmmword [esp + 0xb0]
movaps xmm6, xmmword [esp + 0xe0]
dec eax
mov edi, dword [esp + 0x108]
dec eax
mov esi, dword [esp + 0x138]
dec eax
mov ebp, dword [esp + 0x130]
dec eax
mov ebx, dword [esp + 0x120]
inc esp
movaps xmm4, xmmword [esp + 0x80]
movaps xmm7, xmmword [esp + 0xd0]
inc esp
movaps xmm0, xmmword [esp + 0xc0]
inc esp
movaps xmm7, xmmword [esp + 0x50]
dec esp
mov edi, dword [esp + 0xf0]
dec esp
mov ebp, dword [esp + 0xf8]
inc esp
movaps xmm2, xmmword [esp + 0xa0]
dec esp
mov esp, dword [esp + 0x100]
inc esp
movaps xmm3, xmmword [esp + 0x90]
inc esp
movaps xmm5, xmmword [esp + 0x70]
dec eax
add esp, 0x110
inc ecx
pop esi
ret