Function at 0x100a60c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
cmp dword [0x100c92b0], 0
push esi
push edi
je 0x100a6486
mov eax, dword [0x10137bc8]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x100a6486
movss xmm0, dword [0x100d0c18]
mulss xmm0, dword [0x100be7e4]
mov dword [ebp - 0xc], 0
movss dword [ebp - 0x10], xmm0
jle 0x100a6486
xor edx, edx
mov dword [ebp - 4], edx
nop dword [eax]
mov edi, dword [eax]
add edi, edx
cmp dword [edi + 0x34], 0xfffffffe
jne 0x100a6470
mov ecx, dword [edi]
test ecx, ecx
je 0x100a6470
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 8]
call eax
mov esi, dword [eax + 0x14]
cmp esi, 9
je 0x100a614c
cmp esi, 0x62
je 0x100a614c
cmp esi, 0x86
jne 0x100a61e5
push 0
push dword [0x100d2f68]
push dword [0x100d2f64]
call fcn.100a9c50
movss xmm5, dword [0x100be7e4]
movss xmm4, dword [0x100be7d4]
cmp eax, dword [0x100d2f68]
je 0x100a61f5
mov eax, dword [0x100d2ffc]
mov ecx, eax
movzx edx, word [0x100d2ffe]
movss xmm3, dword [0x100d30a0]
movzx eax, al
shr ecx, 8
mulss xmm3, xmm5
mov word [edi + 0x24], 1
movd xmm2, eax
movzx eax, cl
cvtdq2ps xmm2, xmm2
mov byte [edi + 0x26], 0
movd xmm1, eax
movzx eax, dl
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm4
mulss xmm1, xmm4
mulss xmm0, xmm4
movss dword [edi + 4], xmm2
movss dword [edi + 8], xmm1
movss dword [edi + 0xc], xmm0
movss dword [edi + 0x10], xmm3
mov dword [edi + 0x1c], 0x3f800000
jmp 0x100a61f5
movss xmm4, dword [0x100be7d4]
movss xmm5, dword [0x100be7e4]
cmp esi, 0x1d
je 0x100a61ff
cmp esi, 0x6c
jne 0x100a6274
cmp byte [0x100d35ac], 0
je 0x100a6274
mov eax, dword [0x100d3650]
mov ecx, eax
movzx edx, word [0x100d3652]
movss xmm3, dword [0x100d37b0]
movzx eax, al
shr ecx, 8
mulss xmm3, xmm5
mov word [edi + 0x24], 1
movd xmm2, eax
movzx eax, cl
cvtdq2ps xmm2, xmm2
mov byte [edi + 0x26], 0
movd xmm1, eax
movzx eax, dl
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm4
mulss xmm1, xmm4
mulss xmm0, xmm4
movss dword [edi + 4], xmm2
movss dword [edi + 8], xmm1
movss dword [edi + 0xc], xmm0
movss dword [edi + 0x10], xmm3
mov dword [edi + 0x1c], 0x3f800000
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x280]
call eax
test al, al
je 0x100a631d
push 3
push dword [0x100d2e04]
push dword [0x100d2e00]
call fcn.100a9c50
cmp eax, dword [0x100d2e04]
je 0x100a631d
mov eax, dword [0x100d2e98]
mov ecx, eax
movzx edx, word [0x100d2e9a]
movzx esi, byte [0x100d2e9b]
movss xmm3, dword [0x100be7d4]
movzx eax, al
shr ecx, 8
mov word [edi + 0x24], 1
mov byte [edi + 0x26], 0
movd xmm2, eax
movzx eax, cl
cvtdq2ps xmm2, xmm2
movd xmm1, eax
movzx eax, dl
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm3
mulss xmm0, xmm3
mulss xmm1, xmm3
movss dword [edi + 0xc], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [edi + 4], xmm2
mulss xmm0, xmm3
movss dword [edi + 8], xmm1
mov dword [edi + 0x1c], 0x3f800000
movss dword [edi + 0x10], xmm0
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x260]
call eax
test al, al
je 0x100a6468
mov ecx, dword [edi]
test ecx, ecx
je 0x100a6468
mov eax, dword [ecx]
mov eax, dword [eax + 0x260]
call eax
test al, al
je 0x100a6468
mov esi, dword [edi]
mov eax, dword [0x10137d1c]
cmp byte [eax + esi], 0
jne 0x100a6468
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [0x10137d8c]
add edx, 0xffffffd6
xor edx, 0xcdb53a86
lea eax, [eax*4 + 0x1013ad0c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x100c92b0]
mov ecx, dword [edx + esi]
cmp ecx, dword [edx + eax]
jne 0x100a63ce
mov ecx, dword [0x10137c38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
jne 0x100a63ce
push 1
push dword [0x100d099c]
push dword [0x100d0998]
call fcn.100a9c50
cmp eax, dword [0x100d099c]
je 0x100a6468
mov edx, dword [0x100d0aec]
movzx eax, word [0x100d0aee]
jmp 0x100a63f6
push 0
push dword [0x100d099c]
push dword [0x100d0998]
call fcn.100a9c50
cmp eax, dword [0x100d099c]
je 0x100a6468
mov edx, dword [0x100d0a30]
movzx eax, word [0x100d0a32]
mov dword [ebp - 8], eax
mov ecx, edx
movss xmm3, dword [0x100be7d4]
mov word [edi + 0x24], 1
mov al, byte [0x100d0b8c]
mov byte [edi + 0x26], al
movzx eax, dl
shr ecx, 8
movd xmm2, eax
movzx eax, cl
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mov eax, dword [ebp - 8]
movzx eax, al
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, dword [ebp - 0x14]
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm3
mulss xmm0, xmm3
mulss xmm1, xmm3
movss dword [edi + 0xc], xmm0
movss xmm0, dword [ebp - 0x10]
movss dword [edi + 4], xmm2
movss dword [edi + 8], xmm1
mulss xmm0, dword [eax]
mov dword [edi + 0x1c], 0x3f800000
movss dword [edi + 0x10], xmm0
mov edx, dword [ebp - 4]
mov eax, dword [0x10137bc8]
mov edi, dword [ebp - 0xc]
add edx, 0x38
inc edi
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], edi
cmp edi, dword [eax + 0xc]
jl 0x100a6110
pop edi
pop esi
mov esp, ebp
pop ebp
ret