Function at 0x100fec0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
dec eax
mov eax, esp
inc ecx
push edi
dec eax
sub esp, 0x110
movsd xmm0, qword [0x4d84]
dec esp
mov edi, ecx
comisd xmm0, xmm1
ja 0x1010437
movsd xmm4, qword [ecx + 0x30]
dec esp
mov eax, dword [esp + 0x158]
dec esp
mov dword [eax - 0x18], esp
inc esp
movaps xmmword [eax - 0x68], xmm1
inc esp
movaps xmm1, xmm4
inc esp
mulps xmm1, xmm2
inc ebp
mov esp, dword [eax + 0x24]
movsd xmm2, qword [ecx + 0x38]
inc ecx
dec esp
mulsd xmm4, xmm1
inc esp
movaps xmmword [eax - 0x78], xmm2
inc ecx
movaps xmm0, xmm1
inc esp
movups xmm2, xmmword [0x4a5e]
inc esp
movaps xmmword [esp + 0x60], xmm6
inc esp
movaps xmm6, xmm2
subsd xmm0, xmm4
inc esp
mulps xmm6, xmm3
inc ecx
addps xmm4, xmm1
mulsd xmm2, xmm1
cvttsd2si edx, xmm0
inc ecx
addps xmm4, xmm2
cvttsd2si ecx, xmm4
inc ecx
cmp edx, esp
jg 0x1010417
test ecx, ecx
js 0x1010417
dec esp
mov dword [eax - 0x20], ebp
inc ecx
movaps xmm0, xmm6
inc ebp
mov ebp, dword [eax + 0x28]
subsd xmm0, xmm2
dec esp
mov dword [eax - 0x28], esi
inc ecx
addps xmm2, xmm6
inc ebp
xor esi, esi
test edx, edx
inc ebp
mov ecx, esi
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 0x1010407
test ecx, ecx
js 0x1010407
inc esp
movaps xmmword [eax - 0x58], xmm0
test edx, edx
inc esp
movaps xmmword [eax - 0x88], xmm3
xorps xmm0, xmm0
inc esp
movaps xmm3, xmm1
inc esp
movaps xmmword [eax - 0x98], xmm4
inc esp
cmovns esi, edx
inc esp
mulps xmm3, xmm1
inc ecx
cmp ecx, ebp
inc esp
divps xmm2, xmm1
inc esp
cmovle ebp, ecx
inc ecx
subps xmm1, xmmword [edi + 0x10]
comisd xmm0, xmm1
inc esp
movaps xmm0, xmm1
inc esp
mulps xmm0, xmm1
jbe 0x1010001
inc esp
xorps xmm0, xmmword [0x498f]
inc esp
movups xmm4, xmmword [0x496e]
inc ebp
divps xmm4, xmm3
inc ebp
cmp esi, ebp
jg 0x10103ec
dec eax
mov ecx, dword [esp + 0x150]
inc ecx
mov ebx, 0x8000
dec eax
mov dword [esp + 0x120], ebx
dec eax
mov ebx, dword [esp + 0x148]
dec eax
mov dword [esp + 0x130], ebp
dec eax
mov dword [esp + 0x138], esi
dec eax
mov dword [esp + 0x108], edi
movaps xmmword [esp + 0xe0], xmm6
dec ecx
arpl cx, ax
movaps xmmword [esp + 0xd0], xmm7
inc esp
movaps xmmword [esp + 0x70], xmm5
inc esp
movups xmm5, xmmword [0x4bc8]
inc cx
movd mm0, ecx
dec eax
lea edx, [eax*8]
cvtdq2pd xmm0, xmm0
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 + 0x50], xmm7
inc esp
movups xmm7, xmmword [0x4b66]
inc esp
subps xmm1, xmm0
nop word [eax + eax]
inc ecx
mov eax, esi
inc cx
movd mm0, esi
inc ecx
imul eax, dword [eax + 0x20]
inc ecx
movaps xmm7, xmm6
cvtdq2pd xmm0, xmm0
inc ecx
mov ebp, ecx
dec eax
arpl ax, di
inc ecx
mov eax, esi
dec ecx
add edi, dword [eax + 0x18]
imul eax, dword [ecx + 0x20]
inc ecx
movaps xmm6, xmm1
inc ecx
mulps xmm6, xmmword [edi + 0x20]
subsd xmm7, xmm0
dec eax
add edi, edx
dec eax
arpl ax, si
dec eax
add esi, dword [ecx + 0x18]
inc ecx
mulps xmm7, xmmword [edi + 0x28]
dec ecx
add esi, edx
mulsd xmm7, xmm7
inc ebp
cmp ecx, esp
jg 0x10103a4
nop dword [eax]
nop dword [eax + eax]
movaps xmm1, xmm6
mulsd xmm1, xmm6
addsd xmm1, xmm7
inc cx
comiss xmm1, xmm0
jae 0x1010369
mov ecx, dword [esi]
movaps xmm0, xmm1
inc ecx
subps xmm0, xmm3
dec eax
mov dword [esp + 0x20], ebx
inc ecx
mulps xmm1, xmm4
dec eax
mov eax, ebx
dec eax
shr eax, 0x10
movzx eax, ax
inc ecx
movaps xmm2, xmm5
inc ecx
mulps xmm0, xmm2
addsd xmm0, qword [esp + 0x140]
mulsd xmm0, qword [0x4b4a]
cvttsd2si edx, xmm0
xorps xmm0, xmm0
sub ecx, edx
cvtsd2ss xmm0, xmm1
inc ecx
movaps xmm1, xmm5
minss xmm1, xmm0
movd xmm0, eax
movzx eax, word [esp + 0x24]
cvtdq2ps xmm0, xmm0
subss xmm2, xmm1
mulss xmm0, xmm2
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, xmm2
inc esp
cvttps2pi mm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
inc sp
mov dword [esp + 0x24], ecx
mulss xmm0, xmm2
inc esp
cvttps2pi mm2, xmm0
inc sp
mov dword [esp + 0x26], edx
js 0x1010295
mov dword [esi], edx
cmp ecx, 0x100
jge 0x1010288
mov eax, 0x100
sub eax, ecx
movzx ecx, word [edi + 2]
movd xmm2, eax
movzx eax, word [esp + 0x20]
mov word [esp + 0x28], ax
inc ecx
movzx eax, ax
sub ecx, eax
inc ecx
movzx eax, ax
cvtdq2ps xmm2, xmm2
movd xmm0, eax
mulss xmm2, dword [0x4a07]
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 0x101035b
movzx edx, word [edi]
inc cx
cmp edx, ebx
jae 0x1010369
cmp ecx, 0xffffff00
jle 0x1010353
movzx eax, word [esp + 0x20]
imul eax, ecx
movzx ecx, word [edi + 2]
mov word [esp + 0x30], dx
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
cvtdq2ps xmm1, xmm1
inc ecx
mulps xmm2, xmm7
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
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 [edi + 0x20]
inc ebp
dec eax
add edi, 8
dec eax
add esi, 4
inc ecx
cmp ebp, esp
jle 0x1010110
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 esi
inc ebp
cmp esi, ebp
jle 0x10100b0
inc esp
movaps xmm7, xmmword [esp + 0x50]
inc esp
movaps xmm5, xmmword [esp + 0x70]
movaps xmm7, xmmword [esp + 0xd0]
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]
inc esp
movaps xmm3, xmmword [esp + 0x90]
inc esp
movaps xmm0, xmmword [esp + 0xc0]
dec esp
mov esi, dword [esp + 0xf0]
dec esp
mov ebp, dword [esp + 0xf8]
inc esp
movaps xmm1, xmmword [esp + 0xb0]
inc esp
movaps xmm2, xmmword [esp + 0xa0]
dec esp
mov esp, dword [esp + 0x100]
inc esp
movaps xmm6, xmmword [esp + 0x60]
dec eax
add esp, 0x110
inc ecx
pop edi
ret