Function at 0x100139c0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
movss xmm2, dword [0x100910e4]
lea eax, [ebp - 0xc]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
push eax
lea eax, [ebp - 4]
mov dword [ebp - 0x10], ecx
push eax
push dword [ebp + 0x1c]
lea eax, [ebp - 0x3c]
mov dword [ebp - 0xc], 0x3f000000
push eax
mov ecx, edi
call fcn.1000a0b0
mov ecx, eax
call fcn.1000a170
mov ebx, dword [ebp + 0x18]
lea eax, [ebp - 0xc]
mov esi, dword [ebp + 0x14]
mov ecx, esi
push eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0xc], 0x3f000000
push eax
push ebx
lea eax, [ebp + 0x18]
push eax
call fcn.1000a0b0
mov ecx, eax
call fcn.1000a170
lea eax, [ebp + 0x18]
mov dword [ebp + 0x18], 0x3f000000
push eax
lea eax, [ebp - 8]
mov ecx, edi
push eax
push esi
lea eax, [ebp + 0x14]
push eax
call fcn.1000a0b0
mov ecx, eax
call fcn.1000a170
lea eax, [ebp + 0x18]
mov dword [ebp + 0x18], 0x3f000000
push eax
lea eax, [ebp - 0xc]
mov ecx, ebx
push eax
push dword [ebp + 0x1c]
lea eax, [ebp + 0x1c]
push eax
call fcn.1000a0b0
mov ecx, eax
call fcn.1000a170
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp + 0x14], ebx
mov edi, dword [edi]
test edi, edi
jle 0x10013cf4
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 4]
movzx edx, al
movzx esi, cl
movzx eax, ah
sub edx, esi
movzx ecx, ch
sub eax, ecx
movd xmm3, esi
movd xmm0, edx
movd xmm5, ecx
movzx ecx, byte [ebp - 2]
movd xmm4, eax
movzx eax, byte [ebp + 0x12]
sub eax, ecx
movd xmm7, ecx
cvtdq2ps xmm0, xmm0
movd xmm6, eax
mov eax, dword [ebp + 0xc]
cvtdq2ps xmm3, xmm3
mov eax, dword [eax + 4]
mov dword [ebp + 0x10], eax
cvtdq2ps xmm4, xmm4
cvtdq2ps xmm5, xmm5
cvtdq2ps xmm6, xmm6
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0x3c], xmm0
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0x2c], xmm4
movss dword [ebp - 0x30], xmm5
movss dword [ebp - 0x34], xmm6
movss dword [ebp - 0x38], xmm7
nop dword [eax]
mov eax, ebx
mov dword [ebp + 0x18], 0
cdq
idiv edi
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
addss xmm0, xmm3
cvttss2si eax, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm1
movzx esi, al
addss xmm0, xmm5
cvttss2si eax, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm1
movzx edi, al
addss xmm0, xmm7
cvttss2si eax, xmm0
movzx ebx, al
mov eax, dword [ebp + 0x10]
test eax, eax
jle 0x10013cdb
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 8]
movzx ecx, al
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0xc]
movd xmm3, dword [ebp - 4]
movzx edx, cl
sub edx, dword [ebp - 4]
cvtdq2ps xmm3, xmm3
movd xmm0, edx
movzx edx, ah
movzx eax, ch
movzx ecx, byte [ebp - 6]
sub eax, edx
cvtdq2ps xmm0, xmm0
movd xmm4, eax
movzx eax, byte [ebp - 0xa]
sub eax, ecx
movd xmm7, ecx
mov ecx, dword [ebp + 0x18]
movd xmm5, edx
cvtdq2ps xmm4, xmm4
movd xmm6, eax
cvtdq2ps xmm5, xmm5
cvtdq2ps xmm6, xmm6
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0x14], xmm0
movss dword [ebp - 4], xmm3
movss dword [ebp - 0x18], xmm4
movss dword [ebp - 0x1c], xmm5
movss dword [ebp - 0x20], xmm6
movss dword [ebp - 0x24], xmm7
mov eax, ecx
mov byte [ebp + 0x1f], 0xff
cdq
idiv dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x40], 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
addss xmm0, xmm3
movd xmm3, esi
cvtdq2ps xmm3, xmm3
cvttss2si eax, xmm0
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm3
movd xmm3, edi
cvtdq2ps xmm3, xmm3
cvttss2si eax, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm1
mov byte [ebp + 0x1c], al
addss xmm0, xmm5
cvttss2si eax, xmm0
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm1
mov byte [ebp + 0x1d], al
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm1
cvttss2si eax, xmm0
mov byte [ebp + 0x1e], al
mov eax, dword [edx]
add eax, dword [ebp + 0x14]
mov dword [ebp - 0x4c], eax
mov eax, dword [edx + 4]
lea edx, [ebp + 0x1c]
add eax, ecx
mov ecx, dword [ebp - 0x10]
push edx
lea edx, [ebp - 0x44]
mov dword [ebp - 0x48], eax
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x4c]
push edx
call dword [eax + 0x1c]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x18]
movss xmm2, dword [0x100910e4]
inc ecx
movss xmm0, dword [ebp - 0x14]
mov eax, dword [eax + 4]
movss xmm3, dword [ebp - 4]
movss xmm4, dword [ebp - 0x18]
movss xmm5, dword [ebp - 0x1c]
movss xmm6, dword [ebp - 0x20]
movss xmm7, dword [ebp - 0x24]
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x10], eax
cmp ecx, eax
jl 0x10013bb4
movss xmm3, dword [ebp - 0x28]
movss xmm4, dword [ebp - 0x2c]
movss xmm5, dword [ebp - 0x30]
movss xmm6, dword [ebp - 0x34]
movss xmm7, dword [ebp - 0x38]
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
movss xmm0, dword [ebp - 0x3c]
inc ebx
mov dword [ebp + 0x14], ebx
mov edi, dword [eax]
cmp ebx, edi
jl 0x10013af0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18