Function at 0x4eabb0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push esi
push edi
mov edi, ecx
mov dword [ebp - 8], 5
xor esi, esi
mov dword [ebp - 0x20], edi
mov dword [ebp - 4], esi
mov ecx, dword [edi + 0x131ff08]
mov eax, ecx
neg eax
mov dword [ebp - 0xc], ecx
movd xmm0, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [0x53e720]
mulss xmm0, dword [0x53e720]
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x10], xmm0
nop
movzx eax, word [edi + 0x13b41a4]
mov ecx, 0x3e8
add eax, esi
movd xmm0, dword [ebp - 4]
cdq
idiv ecx
movss xmm2, dword [0x53eb38]
mov eax, 0x38e38e39
cvtdq2ps xmm0, xmm0
push 0
mov ecx, dword [edx*4 + 0x53d688]
imul ecx
subss xmm1, xmm0
sar edx, 1
mov eax, edx
movss dword [ebp - 0x14], xmm1
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*8]
sub ecx, eax
mov edx, ecx
mov ecx, edi
call fcn.004ea900
movzx eax, word [edi + 0x13b41a4]
inc esi
add eax, esi
movss xmm1, dword [ebp - 0x10]
cdq
mov ecx, 0x3e8
idiv ecx
mov eax, dword [ebp - 4]
movss xmm2, dword [0x53eb38]
push 0
mov ecx, dword [edx*4 + 0x53d688]
movd xmm0, eax
mov eax, 0x38e38e39
imul ecx
cvtdq2ps xmm0, xmm0
sar edx, 1
mov eax, edx
addss xmm1, xmm0
shr eax, 0x1f
add eax, edx
movss dword [ebp - 0x18], xmm1
lea eax, [eax + eax*8]
sub ecx, eax
mov edx, ecx
mov ecx, edi
call fcn.004ea900
movzx eax, word [edi + 0x13b41a4]
inc esi
add eax, esi
movss xmm2, dword [0x53ec44]
cdq
mov ecx, 0x3e8
idiv ecx
movss xmm1, dword [ebp - 0x14]
mov eax, 0x38e38e39
push 2
mov ecx, dword [edx*4 + 0x53d688]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*8]
sub ecx, eax
mov edx, ecx
mov ecx, edi
call fcn.004ea900
movzx eax, word [edi + 0x13b41a4]
inc esi
add eax, esi
mov ecx, 0x3e8
cdq
idiv ecx
mov eax, 0x38e38e39
push 2
mov ecx, dword [edx*4 + 0x53d688]
imul ecx
sar edx, 1
movss xmm2, dword [0x53ec44]
mov eax, edx
movss xmm1, dword [ebp - 0x18]
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*8]
sub ecx, eax
mov edx, ecx
mov ecx, edi
call fcn.004ea900
mov eax, dword [ebp - 4]
add esp, 0x10
add eax, dword [ebp - 0xc]
inc esi
sub dword [ebp - 8], 1
movss xmm1, dword [ebp - 0x1c]
mov dword [ebp - 4], eax
jne 0x4eac00
mov dword [ebp - 8], 0
mov dword [ebp - 0x10], 4
movzx eax, word [edi + 0x13b41a4]
mov ecx, 0x3e8
add eax, esi
movd xmm0, dword [ebp - 8]
cdq
idiv ecx
movss xmm1, dword [0x53eb2c]
mov eax, 0x38e38e39
cvtdq2ps xmm0, xmm0
push 6
mov ecx, dword [edx*4 + 0x53d688]
imul ecx
subss xmm1, xmm0
sar edx, 1
movaps xmm0, xmm1
addss xmm0, dword [0x53e910]
mov eax, edx
movss dword [ebp - 4], xmm1
movss xmm1, dword [0x53ec3c]
shr eax, 0x1f
add eax, edx
movaps xmm2, xmm0
movss dword [ebp - 0x1c], xmm0
lea eax, [eax + eax*8]
sub ecx, eax
mov edx, ecx
mov ecx, edi
call fcn.004ea900
movzx eax, word [edi + 0x13b41a4]
inc esi
add eax, esi
movss xmm2, dword [ebp - 0x1c]
cdq
mov ecx, 0x3e8
idiv ecx
movss xmm1, dword [0x53eb1c]
mov eax, 0x38e38e39
push 5
mov ecx, dword [edx*4 + 0x53d688]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*8]
sub ecx, eax
mov edx, ecx
mov ecx, edi
call fcn.004ea900
movzx eax, word [edi + 0x13b41a4]
inc esi
add eax, esi
movss xmm0, dword [ebp - 4]
cdq
mov ecx, 0x3e8
idiv ecx
xorps xmm0, xmmword [0x53ec80]
mov eax, 0x38e38e39
movss xmm1, dword [0x53ec3c]
movaps xmm2, xmm0
push 6
movss dword [ebp - 4], xmm0
mov ecx, dword [edx*4 + 0x53d688]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*8]
sub ecx, eax
mov edx, ecx
mov ecx, edi
call fcn.004ea900
movzx eax, word [edi + 0x13b41a4]
inc esi
add eax, esi
mov ecx, 0x3e8
cdq
idiv ecx
push 5
mov ecx, dword [edx*4 + 0x53d688]
movss xmm2, dword [ebp - 4]
mov eax, 0x38e38e39
movss xmm1, dword [0x53eb1c]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*8]
sub ecx, eax
mov edx, ecx
mov ecx, edi
call fcn.004ea900
mov eax, dword [ebp - 0xc]
add esp, 0x10
add dword [ebp - 8], eax
inc esi
sub dword [ebp - 0x10], 1
jne 0x4ead60
add eax, eax
mov dword [ebp - 8], 0
mov dword [ebp - 0x10], 3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x53e720]
movss dword [ebp - 0x1c], xmm1
nop word [eax + eax]
movzx eax, word [edi + 0x13b41a4]
mov ecx, 0x3e8
add eax, esi
movd xmm0, dword [ebp - 8]
cdq
movaps xmm2, xmm1
idiv ecx
movss xmm1, dword [0x53ec3c]
mov eax, 0x38e38e39
cvtdq2ps xmm0, xmm0
push 6
mov ecx, dword [edx*4 + 0x53d688]
imul ecx
subss xmm2, xmm0
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*8]
sub ecx, eax
mov edx, ecx
mov ecx, edi
call fcn.004ea900
mov eax, dword [ebp - 0xc]
add esp, 4
add dword [ebp - 8], eax
inc esi
sub dword [ebp - 0x10], 1
movss xmm1, dword [ebp - 0x1c]
jne 0x4eaef0
push ecx
mov dword [esp], 0xc3c60000
call fcn.005238b2
mov esi, dword [edi + 0x13212e8]
fstp dword [ebp - 0x1c]
cvttss2si eax, dword [ebp - 0x1c]
mov dword [esp], 0x4404c000
add esi, eax
call fcn.005238b2
mov dword [esp], 0x3f800000
lea eax, [edi + 0x1321280]
fstp dword [ebp - 0x1c]
cvttss2si ecx, dword [ebp - 0x1c]
push 0
push 0
mov dword [ebp - 0x14], eax
lea edx, [edi + 0x131ff18]
mov eax, dword [edi + 0x13212ec]
push 1
push 1
mov dword [ebp - 0x18], edx
sub eax, ecx
lea ecx, [edi + 0x1321280]
push eax
push esi
push 0
call fcn.00407b80
add esp, 0x1c
mov dword [esp], 0x43c60000
call fcn.005238b2
mov esi, dword [edi + 0x13212e8]
fstp dword [ebp - 0x1c]
cvttss2si eax, dword [ebp - 0x1c]
mov dword [esp], 0x4404c000
add esi, eax
call fcn.005238b2
mov eax, dword [edi + 0x13212ec]
lea edx, [edi + 0x131ff18]
mov dword [esp], 0x3f800000
fstp dword [ebp - 0x1c]
cvttss2si ecx, dword [ebp - 0x1c]
push 1
push 0
push 1
push 1
sub eax, ecx
lea ecx, [edi + 0x1321280]
push eax
push esi
push 0
call fcn.00407b80
mov eax, dword [edi + 0x13b34dc]
add esp, 0x20
add eax, 0xfffffff9
cmp eax, 7
ja case.0x4eb034.9
movzx eax, byte [eax + 0x4eb224]
jmp dword [eax*4 + 0x4eb218]
lea ecx, [edi + 0x1376794]
call fcn.004944e0
test al, al
jne case.0x4eb034.7
mov eax, dword [edi + 0x13b3634]
cmp eax, 2
je case.0x4eb034.7
cmp eax, 3
jne 0x4eb0ba
push ecx
mov dword [esp], 0xc3c60000
call fcn.005238b2
mov esi, dword [edi + 0x13212e8]
fstp dword [ebp - 0x1c]
cvttss2si eax, dword [ebp - 0x1c]
mov dword [esp], 0xc404c000
add esi, eax
call fcn.005238b2
mov eax, dword [edi + 0x13212ec]
lea edx, [edi + 0x131ff18]
mov dword [esp], 0x3e000000
fstp dword [ebp - 0x1c]
cvttss2si ecx, dword [ebp - 0x1c]
push 0
push 0
push 1
push 1
sub eax, ecx
lea ecx, [edi + 0x1321280]
push eax
push esi
push 0
call fcn.00407b80
add esp, 0x20
push ecx
mov dword [esp], 0xc3c60000
call fcn.005238b2
mov esi, dword [edi + 0x13212e8]
fstp dword [ebp - 0x1c]
cvttss2si eax, dword [ebp - 0x1c]
mov dword [esp], 0xc401c000
add esi, eax
call fcn.005238b2
mov eax, dword [edi + 0x13212ec]
lea edx, [edi + 0x131ff18]
mov dword [esp], 0x3f800000
fstp dword [ebp - 0x1c]
cvttss2si ecx, dword [ebp - 0x1c]
push 2
push 0
push 1
push 1
sub eax, ecx
lea ecx, [edi + 0x1321280]
push eax
push esi
push 0
call fcn.00407b80
mov eax, dword [edi + 0x13b34dc]
add esp, 0x20
add eax, 0xfffffff9
cmp eax, 7
ja case.0x4eb12f.9
movzx eax, byte [eax + 0x4eb238]
jmp dword [eax*4 + 0x4eb22c]
lea ecx, [edi + 0x1376794]
call fcn.004944e0
test al, al
jne case.0x4eb12f.7
mov eax, dword [edi + 0x13b3634]
cmp eax, 2
je case.0x4eb12f.7
cmp eax, 3
jne 0x4eb1b5
push ecx
mov dword [esp], 0x43c60000
call fcn.005238b2
mov esi, dword [edi + 0x13212e8]
fstp dword [ebp - 0x1c]
cvttss2si eax, dword [ebp - 0x1c]
mov dword [esp], 0xc404c000
add esi, eax
call fcn.005238b2
mov eax, dword [edi + 0x13212ec]
lea edx, [edi + 0x131ff18]
mov dword [esp], 0x3e000000
fstp dword [ebp - 0x1c]
cvttss2si ecx, dword [ebp - 0x1c]
push 1
push 0
push 1
push 1
sub eax, ecx
lea ecx, [edi + 0x1321280]
push eax
push esi
push 0
call fcn.00407b80
add esp, 0x20
push ecx
mov dword [esp], 0x43c60000
call fcn.005238b2
mov edi, dword [edi + 0x13212e8]
fstp dword [ebp - 0x1c]
cvttss2si eax, dword [ebp - 0x1c]
mov dword [esp], 0xc401c000
add edi, eax
call fcn.005238b2
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [esp], 0x3f800000
mov eax, dword [eax + 0x13212ec]
fstp dword [ebp - 0x1c]
cvttss2si esi, dword [ebp - 0x1c]
push 3
push 0
push 1
push 1
sub eax, esi
push eax
push edi
push 0
call fcn.00407b80
add esp, 0x20
pop edi
pop esi
mov esp, ebp
pop ebp
ret