Function at 0x100abbb0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [0x100d4040]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 1
push dword [0x100de314]
push dword [0x100de310]
call fcn.100b3ee0
cmp eax, dword [0x100de314]
je 0x100abcb8
movss xmm1, dword [0x100de4c8]
mulss xmm1, dword [0x100c8b64]
mov ecx, dword [0x101f6670]
mov eax, dword [0x100de450]
mov edi, dword [0x101f666c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], eax
movss dword [ebp - 0x18], xmm1
mov dword [ebp - 0x10], ecx
cmp edi, ecx
je 0x100abcb8
nop dword [eax + eax]
cmp byte [edi + 0x1c], 0
jne 0x100abcad
push ecx
movzx ecx, byte [ebp - 9]
movaps xmm0, xmm1
xorps xmm0, xmmword [0x100c8ee0]
mov dword [esp], 0x40800000
push ecx
movzx ecx, byte [ebp - 0xa]
push ecx
movzx ecx, byte [ebp - 0xb]
push ecx
movzx eax, al
push eax
mov byte [edi + 0x1c], 1
lea eax, [ebp - 0x28]
mov edx, dword [0x101f2854]
mov ecx, edx
push eax
mov dword [ebp - 0x28], 0
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x40]
mov dword [ebp - 0x20], 0
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x2c], xmm1
movss dword [ebp - 0x40], xmm0
movss dword [ebp - 0x3c], xmm0
movss dword [ebp - 0x38], xmm0
mov esi, dword [edx]
push eax
push edi
mov eax, dword [esi + 4]
call eax
movss xmm1, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
add edi, 0x20
cmp edi, ecx
jne 0x100abc20
cmp byte [0x100e5f70], 0
je 0x100abe33
mov eax, dword [0x101f2874]
movss xmm1, dword [eax + 0x10]
comiss xmm1, dword [0x101f9678]
ja 0x100abe33
movss xmm0, dword [0x101f967c]
xorps xmm2, xmm2
comiss xmm2, xmm0
jae 0x100abe33
subss xmm1, dword [0x101f9674]
mov eax, dword [0x101f2638]
mov ecx, dword [0x101f2824]
cdq
sub eax, edx
mov word [ebp - 8], 0xc8c8
divss xmm1, xmm0
mov esi, eax
mov eax, dword [0x101f263c]
cdq
sub eax, edx
mov byte [ebp - 6], 0xc8
mov edi, eax
sar esi, 1
sar edi, 1
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], edi
movss xmm0, dword [0x100c8c18]
subss xmm0, xmm1
mulss xmm0, dword [0x100c8d44]
cvttss2si eax, xmm0
mov byte [ebp - 5], al
push dword [ebp - 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101f2824]
lea eax, [edi - 1]
mov edx, dword [ebp - 0xc]
dec esi
mov dword [ebp - 0x14], eax
add edx, 0xfffffffa
push dword [ebp - 0x14]
lea eax, [edi - 6]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx]
push esi
push dword [ebp - 0x18]
mov eax, dword [eax + 0x4c]
push edx
call eax
mov ecx, dword [0x101f2824]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 5], al
mov word [ebp - 8], 0xc8c8
mov eax, dword [ecx]
mov byte [ebp - 6], 0xc8
push dword [ebp - 8]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101f2824]
inc edi
mov edx, dword [ebp - 0x10]
push edi
add edx, 6
mov eax, dword [ecx]
push esi
push edx
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + 0x4c]
add edx, 0xfffffffa
push edx
call eax
mov ecx, dword [0x101f2824]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 5], al
mov word [ebp - 8], 0xc8c8
mov eax, dword [ecx]
mov byte [ebp - 6], 0xc8
push dword [ebp - 8]
mov eax, dword [eax + 0x38]
call eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x101f2824]
push edi
mov edi, dword [ebp - 0x10]
lea esi, [eax + 1]
add edi, 6
lea edx, [eax + 6]
push esi
mov eax, dword [ecx]
push edi
push edx
mov eax, dword [eax + 0x4c]
call eax
mov ecx, dword [0x101f2824]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 5], al
mov word [ebp - 8], 0xc8c8
mov eax, dword [ecx]
mov byte [ebp - 6], 0xc8
push dword [ebp - 8]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x101f2824]
push dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
push esi
mov eax, dword [ecx]
add edx, 6
push dword [ebp - 0x18]
push edx
mov eax, dword [eax + 0x4c]
call eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100b40e6
mov esp, ebp
pop ebp
ret