Function at 0x100be930
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x60
mov eax, dword [0x10285040]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x50], esi
push edi
mov edi, dword [ebx + 8]
cmp ecx, 3
jl 0x100bf0cd
test byte [esi + 0x24], 2
mov eax, dword [esi + 0x28]
movss xmm0, dword [eax]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x44], xmm0
je 0x100bee9f
lea eax, [ecx + ecx]
push eax
mov dword [ebp - 0x60], eax
lea eax, [ecx*8 - 6]
add eax, ecx
mov ecx, esi
push eax
call fcn.100bd900
mov eax, dword [esi + 0x34]
mov edi, 2
mov dword [ebp - 0x10], eax
lea ecx, [eax + 1]
mov dword [ebp - 0xc], ecx
movzx ecx, ax
mov dword [ebp - 0x20], ecx
mov eax, dword [esi + 0x3c]
lea edx, [ecx + edi*2]
inc edi
mov word [eax], cx
lea ecx, [edx - 2]
mov eax, dword [esi + 0x3c]
mov word [eax + 2], cx
mov eax, dword [esi + 0x3c]
mov ecx, dword [ebp - 0x20]
mov word [eax + 4], dx
add dword [esi + 0x3c], 6
cmp edi, dword [ebx + 0xc]
jl 0x100be9b8
mov edi, dword [ebx + 0xc]
lea eax, [edi*8]
call fcn.101e2590
movss xmm5, dword [0x10271af0]
lea eax, [edi - 1]
movss xmm6, dword [0x10271024]
mov edx, edi
mov edi, dword [ebx + 8]
xorps xmm4, xmm4
mov dword [ebp - 0x18], eax
mov esi, esp
shl eax, 3
xor ecx, ecx
nop dword [eax]
nop word [eax + eax]
movss xmm2, dword [edi + ecx]
movss xmm3, dword [edi + ecx + 4]
subss xmm2, dword [eax + edi]
subss xmm3, dword [eax + edi + 4]
movaps xmm1, xmm2
movaps xmm0, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm3
addss xmm0, xmm1
comiss xmm0, xmm4
jbe 0x100bea64
call fcn.1000d460
movaps xmm1, xmm6
divss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm3, xmm1
mulss xmm2, xmm0
xorps xmm2, xmm5
movss dword [eax + esi], xmm3
movss dword [eax + esi + 4], xmm2
mov eax, ecx
add ecx, 8
sub edx, 1
jne 0x100bea20
mov eax, dword [ebp - 0x10]
lea ecx, [edi + 4]
movss xmm7, dword [0x10270fb4]
movss xmm5, dword [0x102712b0]
movzx eax, ax
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xc]
movzx eax, ax
mov dword [ebp - 0x20], eax
mov eax, esi
mov edx, eax
mov dword [ebp - 0x2c], ecx
sub edx, edi
xor edi, edi
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x18]
movss xmm2, dword [eax + edi*8]
addss xmm2, dword [eax + edx*8]
mov esi, dword [ebp - 0x4c]
movss xmm3, dword [ecx + esi]
movaps xmm0, xmm2
addss xmm3, dword [eax + edx*8 + 4]
mulss xmm0, xmm2
mov esi, dword [ebp - 0x50]
mov edx, dword [ebx + 0x10]
movaps xmm1, xmm3
mulss xmm1, xmm3
mov eax, dword [esi + 0x38]
addss xmm1, xmm0
movss xmm0, dword [0x10270f68]
mulss xmm1, xmm0
maxss xmm1, xmm7
movaps xmm7, xmm6
divss xmm7, xmm1
movaps xmm1, xmm7
mulss xmm7, xmm3
mulss xmm1, xmm2
mulss xmm7, xmm0
mulss xmm1, xmm0
movss xmm0, dword [ecx - 4]
movss dword [ebp - 0x48], xmm7
subss xmm0, xmm1
movss dword [ebp - 0x58], xmm1
movss dword [eax], xmm0
movss xmm0, dword [ecx]
mov eax, dword [esi + 0x38]
subss xmm0, xmm7
movss dword [eax + 4], xmm0
mov eax, dword [esi + 0x38]
movss xmm0, dword [ebp - 0x40]
movss dword [eax + 8], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [eax + 0xc], xmm0
mov eax, dword [esi + 0x38]
movss xmm3, dword [edx + 0x14]
movss xmm2, dword [edx + 4]
movss xmm7, dword [edx + 8]
subss xmm3, xmm2
movss xmm1, dword [eax]
subss xmm1, dword [edx + 0x20]
movss dword [ebp - 0x34], xmm7
divss xmm1, dword [edx + 0x28]
minss xmm1, xmm6
mulss xmm3, xmm1
movss dword [ebp - 0x3c], xmm3
movss xmm3, dword [edx + 0x18]
subss xmm3, xmm7
movss xmm7, dword [edx + 0x1c]
mulss xmm3, xmm1
movss dword [ebp - 8], xmm3
movss xmm3, dword [edx + 0xc]
subss xmm7, xmm3
movss dword [ebp - 0x30], xmm3
movss dword [ebp - 0x38], xmm3
mulss xmm7, xmm1
movss dword [ebp - 0x24], xmm7
movss xmm7, dword [edx + 0x10]
subss xmm7, dword [edx]
mulss xmm7, xmm1
movaps xmm1, xmm7
movss dword [ebp - 0x28], xmm7
addss xmm1, dword [edx]
movss xmm7, dword [ebp - 8]
movss dword [ebp - 0x10], xmm7
comiss xmm4, xmm1
jbe 0x100bebf2
movss xmm1, dword [ebp - 0x24]
movss xmm0, dword [ebp - 0x34]
movaps xmm6, xmm1
movss dword [ebp - 0x28], xmm4
jmp 0x100bec1f
movss xmm0, dword [ebp - 0x3c]
minss xmm1, xmm6
movss dword [ebp - 0x3c], xmm0
movss dword [ebp - 0x28], xmm1
movss xmm1, dword [ebp - 0x34]
movaps xmm0, xmm1
movss dword [ebp - 0x34], xmm1
movss xmm1, dword [ebp - 0x24]
movaps xmm6, xmm1
movss dword [ebp - 0x24], xmm6
movss xmm4, dword [ebp - 0x38]
addss xmm7, dword [ebp - 0x34]
movss dword [ebp - 8], xmm6
addss xmm4, dword [ebp - 8]
addss xmm2, dword [ebp - 0x3c]
movss dword [ebp - 0x14], xmm6
movss xmm6, dword [0x10271024]
addss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x38], xmm4
movss xmm4, dword [ebp - 0x14]
addss xmm4, dword [ebp - 0x30]
movss dword [ebp - 8], xmm7
movss xmm7, dword [ebp - 0x28]
mulss xmm7, xmm5
movss dword [ebp - 0xc], xmm1
movaps xmm1, xmm3
addss xmm3, dword [ebp - 0x24]
addss xmm1, dword [ebp - 0xc]
movss dword [ebp - 0x14], xmm4
movss dword [ebp - 0x28], xmm7
movss xmm4, dword [ebp - 0x28]
movss xmm7, dword [0x10270fb4]
addss xmm4, xmm7
cvttss2si ecx, xmm4
xorps xmm4, xmm4
shl ecx, 0x10
comiss xmm4, xmm2
jbe 0x100becad
movss xmm3, dword [ebp - 0x38]
xorps xmm2, xmm2
jmp 0x100becbb
movss xmm0, dword [ebp - 8]
minss xmm2, xmm6
movss xmm1, dword [ebp - 0x14]
mulss xmm2, xmm5
addss xmm2, xmm7
cvttss2si eax, xmm2
shl eax, 8
or ecx, eax
comiss xmm4, xmm0
jbe 0x100becd6
xorps xmm0, xmm0
jmp 0x100becdd
minss xmm0, xmm6
movaps xmm1, xmm3
mulss xmm0, xmm5
addss xmm0, xmm7
cvttss2si eax, xmm0
or ecx, eax
comiss xmm4, xmm1
jbe 0x100becf5
xorps xmm1, xmm1
jmp 0x100becf9
minss xmm1, xmm6
mulss xmm1, xmm5
movss xmm0, dword [ebp - 0x58]
addss xmm1, xmm7
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, dword [esi + 0x38]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [esi + 0x38]
addss xmm0, dword [ecx - 4]
movss dword [eax + 0x14], xmm0
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [ecx]
mov eax, dword [esi + 0x38]
movss dword [eax + 0x18], xmm0
mov eax, dword [esi + 0x38]
movss xmm0, dword [ebp - 0x40]
movss dword [eax + 0x1c], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [eax + 0x20], xmm0
mov eax, dword [esi + 0x38]
movss xmm3, dword [edx + 4]
movss xmm2, dword [edx + 0x14]
movss xmm5, dword [edx + 8]
subss xmm2, xmm3
movss xmm1, dword [eax + 0x14]
movaps xmm0, xmm5
subss xmm1, dword [edx + 0x20]
movss xmm7, dword [edx + 0x18]
movss dword [ebp - 0x10], xmm3
subss xmm7, xmm5
movss xmm3, dword [edx + 0x10]
subss xmm3, dword [edx]
divss xmm1, dword [edx + 0x28]
minss xmm1, xmm6
mulss xmm3, xmm1
mulss xmm7, xmm1
addss xmm3, dword [edx]
mulss xmm2, xmm1
movss xmm1, dword [ebp - 0x10]
movss dword [ebp - 0xc], xmm7
comiss xmm4, xmm3
jbe 0x100bedb4
xorps xmm3, xmm3
jmp 0x100bedb8
minss xmm3, xmm6
mulss xmm3, dword [0x102712b0]
addss xmm5, xmm7
movss xmm7, dword [0x10270fb4]
addss xmm2, xmm1
addss xmm0, dword [ebp - 0xc]
addss xmm3, xmm7
cvttss2si ecx, xmm3
shl ecx, 0x10
comiss xmm4, xmm2
jbe 0x100bedea
xorps xmm2, xmm2
jmp 0x100bedf1
minss xmm2, xmm6
movaps xmm0, xmm5
movss xmm5, dword [0x102712b0]
mulss xmm2, xmm5
addss xmm2, xmm7
cvttss2si eax, xmm2
shl eax, 8
or ecx, eax
comiss xmm4, xmm0
jbe 0x100bee14
xorps xmm0, xmm0
jmp 0x100bee18
minss xmm0, xmm6
mulss xmm0, xmm5
addss xmm0, xmm7
cvttss2si eax, xmm0
or eax, ecx
mov ecx, dword [esi + 0x38]
and eax, 0xffffff
mov dword [ecx + 0x24], eax
mov eax, dword [esi + 0x3c]
mov ecx, dword [ebp - 0x5c]
add dword [esi + 0x38], 0x28
lea edx, [ecx + edi*2]
mov word [eax], dx
mov eax, dword [ebp - 0x18]
lea ecx, [ecx + eax*2]
mov eax, dword [esi + 0x3c]
mov word [eax + 2], cx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx + eax*2]
mov eax, dword [esi + 0x3c]
mov word [eax + 4], cx
mov eax, dword [esi + 0x3c]
mov word [eax + 6], cx
mov eax, dword [ebp - 0x20]
lea ecx, [eax + edi*2]
mov eax, dword [esi + 0x3c]
mov word [eax + 8], cx
mov eax, dword [esi + 0x3c]
mov ecx, dword [ebp - 0x2c]
add ecx, 8
mov dword [ebp - 0x2c], ecx
mov word [eax + 0xa], dx
mov edx, edi
add dword [esi + 0x3c], 0xc
inc edi
mov eax, esp
mov dword [ebp - 0x18], edx
cmp edi, dword [ebx + 0xc]
jl 0x100beab2
mov eax, dword [ebp - 0x60]
jmp 0x100bf0c7
push ecx
add ecx, 0xfffffffe
lea eax, [ecx + ecx*2]
mov ecx, esi
push eax
call fcn.100bd900
mov eax, dword [ebx + 0xc]
xorps xmm6, xmm6
movss xmm7, dword [0x10271024]
mov dword [ebp - 0x2c], eax
nop
mov eax, dword [esi + 0x38]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
movss xmm0, dword [ebp - 0x40]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esi + 0x38]
movss dword [eax + 8], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [eax + 0xc], xmm0
mov eax, dword [ebx + 0x10]
movss xmm1, dword [edi]
subss xmm1, dword [eax + 0x20]
movss xmm3, dword [eax + 0x14]
movss xmm2, dword [eax + 4]
movss xmm5, dword [eax + 0xc]
subss xmm3, xmm2
movss xmm4, dword [eax + 0x1c]
divss xmm1, dword [eax + 0x28]
subss xmm4, xmm5
movss dword [ebp - 8], xmm5
minss xmm1, xmm7
movss dword [ebp - 0x14], xmm5
movss xmm7, dword [eax + 0x18]
mulss xmm3, xmm1
mulss xmm4, xmm1
movss dword [ebp - 0x1c], xmm3
movss xmm3, dword [eax + 8]
subss xmm7, xmm3
movss dword [ebp - 0x18], xmm3
movss xmm3, dword [eax + 0x10]
subss xmm3, dword [eax]
movss dword [ebp - 0xc], xmm4
movss dword [ebp - 0x10], xmm4
mulss xmm7, xmm1
mulss xmm3, xmm1
movss dword [ebp - 0x30], xmm7
movss dword [ebp - 0x20], xmm4
addss xmm3, dword [eax]
comiss xmm6, xmm3
jbe 0x100bef77
movss xmm1, dword [ebp - 0x18]
movaps xmm3, xmm6
jmp 0x100bef96
movss xmm0, dword [ebp - 0x1c]
minss xmm3, dword [0x10271024]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x18]
movaps xmm1, xmm0
movss dword [ebp - 0x18], xmm0
mulss xmm3, dword [0x102712b0]
movaps xmm0, xmm5
addss xmm2, dword [ebp - 0x1c]
addss xmm0, dword [ebp - 0xc]
addss xmm3, dword [0x10270fb4]
addss xmm1, dword [ebp - 0x30]
addss xmm5, xmm4
movss xmm4, dword [ebp - 0x14]
addss xmm4, dword [ebp - 0x20]
cvttss2si edx, xmm3
movss dword [ebp - 0x14], xmm4
movss xmm4, dword [ebp - 8]
addss xmm4, dword [ebp - 0x10]
shl edx, 0x10
comiss xmm6, xmm2
movss dword [ebp - 8], xmm4
movss xmm4, dword [ebp - 0x18]
addss xmm4, xmm7
movss xmm7, dword [0x10271024]
jbe 0x100bf001
movss xmm3, dword [ebp - 0x14]
movaps xmm2, xmm6
jmp 0x100bf010
movss xmm0, dword [ebp - 8]
minss xmm2, xmm7
movaps xmm1, xmm4
movaps xmm3, xmm5
movss xmm5, dword [0x102712b0]
movss xmm4, dword [0x10270fb4]
mulss xmm2, xmm5
addss xmm2, xmm4
cvttss2si eax, xmm2
shl eax, 8
or edx, eax
comiss xmm6, xmm1
jbe 0x100bf03b
movaps xmm1, xmm6
jmp 0x100bf042
minss xmm1, xmm7
movaps xmm0, xmm3
mulss xmm1, xmm5
addss xmm1, xmm4
cvttss2si eax, xmm1
or edx, eax
comiss xmm6, xmm0
jbe 0x100bf05a
movaps xmm0, xmm6
jmp 0x100bf05e
minss xmm0, xmm7
mov eax, dword [esi + 0x38]
add edi, 8
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si ecx, xmm0
shl ecx, 0x18
or ecx, edx
mov dword [eax + 0x10], ecx
add dword [esi + 0x38], 0x14
sub dword [ebp - 0x2c], 1
jne 0x100beec0
mov edi, 2
nop dword [eax + eax]
mov ecx, dword [esi + 0x3c]
mov ax, word [esi + 0x34]
movzx edx, di
inc edi
mov word [ecx], ax
movzx ecx, word [esi + 0x34]
mov eax, dword [esi + 0x3c]
dec cx
add cx, dx
mov word [eax + 2], cx
mov eax, dword [esi + 0x3c]
movzx ecx, word [esi + 0x34]
add cx, dx
mov word [eax + 4], cx
add dword [esi + 0x3c], 6
mov eax, dword [ebx + 0xc]
cmp edi, eax
jl 0x100bf090
movzx eax, ax
add dword [esi + 0x34], eax
lea esp, [ebp - 0x68]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101e0e46
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc