Function at 0x1022fef0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x14
mov esi, SysReAllocString
mov edi, dword [0x103e1e90]
xor edi, esp
mov dword [esp + 0x10], edi
xor edi, edi
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
movss xmm1, dword [esp]
movss xmm3, dword [esp + 4]
movss xmm0, dword [esp + 8]
movss xmm2, dword [esp + 0xc]
unpcklps xmm1, xmm0
unpcklps xmm3, xmm2
pxor xmm0, xmm0
mov eax, dword [ebp + 0x14]
cmp eax, 5
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
unpcklps xmm1, xmm3
jge 0x1022ffa3
dec eax
cmp eax, 0xffffffff
je 0x1022ff8e
movlps xmm0, qword [ebx]
dec eax
movaps xmm3, xmm0
add ebx, 8
shufps xmm3, xmm0, 0xf5
movsd xmm2, qword [ecx]
pxor xmm3, xmm1
shufps xmm0, xmm0, 0xf0
add ecx, 8
mulps xmm0, xmm2
shufps xmm2, xmm2, 0xf1
mulps xmm3, xmm2
addps xmm0, xmm3
movlps qword [edx], xmm0
add edx, 8
cmp eax, 0xffffffff
jne 0x1022ff59
mov ecx, dword [esp + 0x10]
xor ecx, esp
call fcn.10295946
add esp, 0x14
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test dl, 7
jne 0x1023018e
test dl, 0xf
je 0x1022ffe2
movsd xmm3, qword [ebx]
add ebx, 8
movaps xmm4, xmm3
dec eax
shufps xmm4, xmm3, 0xf5
movsd xmm2, qword [ecx]
pxor xmm4, xmm1
shufps xmm3, xmm3, 0xf0
add ecx, 8
mulps xmm3, xmm2
shufps xmm2, xmm2, 0xf1
mulps xmm4, xmm2
addps xmm4, xmm3
movlps qword [edx], xmm4
add edx, 8
mov esi, eax
mov edi, ecx
sar esi, 2
and eax, 3
and edi, 0xf
test bl, 0xf
je 0x102300be
test edi, edi
jne 0x10230060
nop dword [eax]
movups xmm6, xmmword [ebx]
movups xmm7, xmmword [ebx + 0x10]
movaps xmm4, xmm6
movaps xmm5, xmm7
movaps xmm2, xmmword [ecx]
add ebx, 0x20
movaps xmm3, xmmword [ecx + 0x10]
add ecx, 0x20
shufps xmm4, xmm6, 0xa0
shufps xmm5, xmm7, 0xa0
shufps xmm6, xmm6, 0xf5
shufps xmm7, xmm7, 0xf5
pxor xmm6, xmm1
mulps xmm4, xmm2
pxor xmm7, xmm1
mulps xmm5, xmm3
shufps xmm2, xmm2, 0xb1
shufps xmm3, xmm3, 0xb1
mulps xmm6, xmm2
mulps xmm7, xmm3
addps xmm6, xmm4
addps xmm7, xmm5
movaps xmmword [edx], xmm6
movaps xmmword [edx + 0x10], xmm7
add edx, 0x20
dec esi
jne 0x10230000
jmp 0x1022ff53
movups xmm6, xmmword [ebx]
movups xmm7, xmmword [ebx + 0x10]
movups xmm2, xmmword [ecx]
movups xmm3, xmmword [ecx + 0x10]
movaps xmm4, xmm6
movaps xmm5, xmm7
shufps xmm4, xmm6, 0xa0
add ebx, 0x20
shufps xmm5, xmm7, 0xa0
add ecx, 0x20
shufps xmm6, xmm6, 0xf5
shufps xmm7, xmm7, 0xf5
pxor xmm6, xmm1
mulps xmm4, xmm2
pxor xmm7, xmm1
mulps xmm5, xmm3
shufps xmm2, xmm2, 0xb1
shufps xmm3, xmm3, 0xb1
mulps xmm6, xmm2
mulps xmm7, xmm3
addps xmm6, xmm4
addps xmm7, xmm5
movaps xmmword [edx], xmm6
movaps xmmword [edx + 0x10], xmm7
add edx, 0x20
dec esi
jne 0x10230060
jmp 0x1022ff53
test edi, edi
jne 0x10230130
nop dword [eax]
nop dword [eax]
movaps xmm6, xmmword [ebx]
movaps xmm7, xmmword [ebx + 0x10]
movaps xmm4, xmm6
movaps xmm5, xmm7
add ebx, 0x20
movaps xmm2, xmmword [ecx]
movaps xmm3, xmmword [ecx + 0x10]
add ecx, 0x20
shufps xmm4, xmm6, 0xa0
shufps xmm5, xmm7, 0xa0
shufps xmm6, xmm6, 0xf5
shufps xmm7, xmm7, 0xf5
pxor xmm6, xmm1
mulps xmm4, xmm2
pxor xmm7, xmm1
mulps xmm5, xmm3
shufps xmm2, xmm2, 0xb1
shufps xmm3, xmm3, 0xb1
mulps xmm6, xmm2
mulps xmm7, xmm3
addps xmm6, xmm4
addps xmm7, xmm5
movaps xmmword [edx], xmm6
movaps xmmword [edx + 0x10], xmm7
add edx, 0x20
dec esi
jne 0x102300d0
jmp 0x1022ff53
movaps xmm6, xmmword [ebx]
movaps xmm7, xmmword [ebx + 0x10]
movaps xmm4, xmm6
movups xmm2, xmmword [ecx]
movups xmm3, xmmword [ecx + 0x10]
movaps xmm5, xmm7
add ebx, 0x20
shufps xmm4, xmm6, 0xa0
add ecx, 0x20
shufps xmm5, xmm7, 0xa0
shufps xmm6, xmm6, 0xf5
shufps xmm7, xmm7, 0xf5
pxor xmm6, xmm1
mulps xmm4, xmm2
pxor xmm7, xmm1
mulps xmm5, xmm3
shufps xmm2, xmm2, 0xb1
shufps xmm3, xmm3, 0xb1
mulps xmm6, xmm2
mulps xmm7, xmm3
addps xmm6, xmm4
addps xmm7, xmm5
movaps xmmword [edx], xmm6
movaps xmmword [edx + 0x10], xmm7
add edx, 0x20
dec esi
jne 0x10230130
jmp 0x1022ff53
mov esi, eax
mov edi, ecx
sar esi, 2
and eax, 3
and edi, 0xf
test bl, 0xf
je 0x1023026e
test edi, edi
jne 0x10230210
nop dword [eax + eax]
movups xmm6, xmmword [ebx]
movups xmm7, xmmword [ebx + 0x10]
movaps xmm4, xmm6
movaps xmm5, xmm7
movaps xmm2, xmmword [ecx]
add ebx, 0x20
movaps xmm3, xmmword [ecx + 0x10]
add ecx, 0x20
shufps xmm4, xmm6, 0xa0
shufps xmm5, xmm7, 0xa0
shufps xmm6, xmm6, 0xf5
shufps xmm7, xmm7, 0xf5
pxor xmm6, xmm1
mulps xmm4, xmm2
pxor xmm7, xmm1
mulps xmm5, xmm3
shufps xmm2, xmm2, 0xb1
shufps xmm3, xmm3, 0xb1
mulps xmm6, xmm2
mulps xmm7, xmm3
addps xmm6, xmm4
addps xmm7, xmm5
movups xmmword [edx], xmm6
movups xmmword [edx + 0x10], xmm7
add edx, 0x20
dec esi
jne 0x102301b0
jmp 0x1022ff53
movups xmm6, xmmword [ebx]
movups xmm7, xmmword [ebx + 0x10]
movups xmm2, xmmword [ecx]
movups xmm3, xmmword [ecx + 0x10]
movaps xmm4, xmm6
movaps xmm5, xmm7
shufps xmm4, xmm6, 0xa0
add ebx, 0x20
shufps xmm5, xmm7, 0xa0
add ecx, 0x20
shufps xmm6, xmm6, 0xf5
shufps xmm7, xmm7, 0xf5
pxor xmm6, xmm1
mulps xmm4, xmm2
pxor xmm7, xmm1
mulps xmm5, xmm3
shufps xmm2, xmm2, 0xb1
shufps xmm3, xmm3, 0xb1
mulps xmm6, xmm2
mulps xmm7, xmm3
addps xmm6, xmm4
addps xmm7, xmm5
movups xmmword [edx], xmm6
movups xmmword [edx + 0x10], xmm7
add edx, 0x20
dec esi
jne 0x10230210
jmp 0x1022ff53
test edi, edi
jne 0x102302e0
nop dword [eax]
nop dword [eax]
movaps xmm6, xmmword [ebx]
movaps xmm7, xmmword [ebx + 0x10]
movaps xmm4, xmm6
movaps xmm5, xmm7
add ebx, 0x20
movaps xmm2, xmmword [ecx]
movaps xmm3, xmmword [ecx + 0x10]
add ecx, 0x20
shufps xmm4, xmm6, 0xa0
shufps xmm5, xmm7, 0xa0
shufps xmm6, xmm6, 0xf5
shufps xmm7, xmm7, 0xf5
pxor xmm6, xmm1
mulps xmm4, xmm2
pxor xmm7, xmm1
mulps xmm5, xmm3
shufps xmm2, xmm2, 0xb1
shufps xmm3, xmm3, 0xb1
mulps xmm6, xmm2
mulps xmm7, xmm3
addps xmm6, xmm4
addps xmm7, xmm5
movups xmmword [edx], xmm6
movups xmmword [edx + 0x10], xmm7
add edx, 0x20
dec esi
jne 0x10230280
jmp 0x1022ff53
movaps xmm6, xmmword [ebx]
movaps xmm7, xmmword [ebx + 0x10]
movaps xmm4, xmm6
movups xmm2, xmmword [ecx]
movups xmm3, xmmword [ecx + 0x10]
movaps xmm5, xmm7
add ebx, 0x20
shufps xmm4, xmm6, 0xa0
add ecx, 0x20
shufps xmm5, xmm7, 0xa0
shufps xmm6, xmm6, 0xf5
shufps xmm7, xmm7, 0xf5
pxor xmm6, xmm1
mulps xmm4, xmm2
pxor xmm7, xmm1
mulps xmm5, xmm3
shufps xmm2, xmm2, 0xb1
shufps xmm3, xmm3, 0xb1
mulps xmm6, xmm2
mulps xmm7, xmm3
addps xmm6, xmm4
addps xmm7, xmm5
movups xmmword [edx], xmm6
movups xmmword [edx + 0x10], xmm7
add edx, 0x20
dec esi
jne 0x102302e0
jmp 0x1022ff53