Function at 0x100ab920
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x100d99c0]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x100c712c], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], 0
je 0x100abc21
mov eax, dword [0x100f6a0c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100abc21
movss xmm0, dword [0x100ccf98]
xor ebx, ebx
mulss xmm0, dword [0x100bb550]
movss dword [ebp - 0x14], xmm0
test eax, eax
jle 0x100abc21
xor ecx, ecx
mov dword [ebp - 0xc], ecx
nop
mov eax, dword [0x100f6a0c]
mov esi, dword [eax]
add esi, ecx
je 0x100abc0b
mov ecx, dword [esi]
test ecx, ecx
je 0x100abc0b
mov eax, dword [ecx]
mov eax, dword [eax + 0x280]
call eax
test al, al
je 0x100aba52
mov ecx, dword [esi]
test ecx, ecx
je 0x100aba52
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100aba52
cmp byte [0x100cdbf8], 0
je 0x100ab9e9
mov ecx, dword [eax + 0xc8]
mov eax, dword [ebp - 8]
dec ecx
cmp ecx, 5
cmovbe eax, dword [0x100cdc9c]
mov dword [ebp - 8], eax
jmp 0x100ab9ec
mov eax, dword [ebp - 8]
movss xmm3, dword [0x100bb9f0]
movzx ecx, al
mov dword [esi + 0x2c], 0
mov word [esi + 0x24], 1
mov byte [esi + 0x26], 0
movd xmm2, ecx
mov ecx, eax
shr ecx, 8
shr eax, 0x10
movzx ecx, cl
movzx eax, al
cvtdq2ps xmm2, xmm2
movd xmm1, ecx
movd xmm0, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm3
mulss xmm1, xmm3
mulss xmm0, xmm3
movss dword [esi + 4], xmm2
movss dword [esi + 8], xmm1
movss dword [esi + 0xc], xmm0
mov dword [esi + 0x10], 0x3f19999a
jmp 0x100abc0b
cmp byte [0x100cdd10], 0
je case.0x100aba7d.10
mov ecx, dword [esi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov eax, dword [eax + 0x14]
add eax, 0xfffffff7
cmp eax, 0x7d
ja case.0x100aba7d.10
movzx eax, byte [eax + 0x100abc3c]
jmp dword [eax*4 + 0x100abc34]
mov eax, dword [0x100cddb4]
mov ecx, eax
movzx edx, word [0x100cddb6]
movss xmm3, dword [0x100bb9f0]
movzx eax, al
shr ecx, 8
mov dword [esi + 0x2c], 0
mov word [esi + 0x24], 1
movd xmm2, eax
movzx eax, cl
cvtdq2ps xmm2, xmm2
mov byte [esi + 0x26], 0
movd xmm1, eax
movzx eax, dl
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm3
mulss xmm1, xmm3
mulss xmm0, xmm3
movss dword [esi + 4], xmm2
movss dword [esi + 8], xmm1
movss dword [esi + 0xc], xmm0
mov dword [esi + 0x10], 0x3f333333
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x260]
call eax
test al, al
je 0x100abc0b
mov edi, dword [esi]
mov eax, dword [0x100f6b74]
cmp byte [eax + edi], 0
jne 0x100abc0b
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x100f6bdc]
add ecx, 0x3c
add edx, 0xffffffd6
xor edx, 0x920a48dc
lea eax, [ecx + eax*4]
mov dword [ebp - 0x18], eax
mov eax, dword [0x100c712c]
mov ecx, dword [edx + edi]
cmp ecx, dword [edx + eax]
jne 0x100abb7d
mov ecx, dword [0x100f6a7c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
jne 0x100abb7d
push 1
push dword [0x100ccdfc]
push dword [0x100ccdf8]
call fcn.100adb90
cmp eax, dword [0x100ccdfc]
je 0x100abc0b
mov eax, dword [0x100ccf20]
jmp 0x100abb9d
push 0
push dword [0x100ccdfc]
push dword [0x100ccdf8]
call fcn.100adb90
cmp eax, dword [0x100ccdfc]
je 0x100abc0b
mov eax, dword [0x100cce90]
movss xmm3, dword [0x100bb9f0]
movzx ecx, al
mov dword [ebp - 8], eax
mov dword [esi + 0x2c], 0
mov word [esi + 0x24], 1
movd xmm2, ecx
mov ecx, eax
shr ecx, 8
shr eax, 0x10
movzx eax, al
movzx ecx, cl
cvtdq2ps xmm2, xmm2
mov byte [esi + 0x26], 0
movd xmm0, eax
mov eax, dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm3
mulss xmm2, xmm3
mulss xmm1, xmm3
movss dword [esi + 0xc], xmm0
movss xmm0, dword [ebp - 0x14]
movss dword [esi + 4], xmm2
movss dword [esi + 8], xmm1
mulss xmm0, dword [eax]
movss dword [esi + 0x10], xmm0
mov eax, dword [0x100f6a0c]
inc ebx
add dword [ebp - 0xc], 0x38
mov ecx, dword [ebp - 0xc]
cmp ebx, dword [eax + 0xc]
jl 0x100ab980
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100ae337
mov esp, ebp
pop ebp
ret