Function at 0x63b9f6
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
push ecx
push ecx
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov edx, dword [ebx + 0x10]
sub esp, 0x38
xor eax, eax
push esi
push edi
cmp edx, 0x40
jb 0x63bc99
mov esi, dword [ebx + 0xc]
movups xmm6, xmmword [ecx + 0x20]
movups xmm5, xmmword [ecx + 0x30]
shr edx, 6
lea eax, [esi + 0x20]
mov dword [ebp - 4], eax
mov eax, dword [ebx + 8]
sub esi, eax
lea edi, [eax + 0x20]
mov eax, edx
shl eax, 6
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
movups xmm1, xmmword [ecx + 0x10]
movups xmm7, xmmword [ecx]
movaps xmm4, xmm1
movaps xmm3, xmm7
movaps xmmword [ebp - 0x20], xmm1
mov dword [ebp - 4], 0xa
sub dword [ebp - 4], 1
movaps xmm0, xmm4
paddd xmm0, xmm3
movaps xmm1, xmm0
psrld xmm0, 0x19
pslld xmm1, 7
pxor xmm1, xmm5
pxor xmm1, xmm0
movaps xmm0, xmm1
paddd xmm0, xmm3
movaps xmm5, xmm0
psrld xmm0, 0x17
pslld xmm5, 9
pxor xmm5, xmm6
pxor xmm5, xmm0
movaps xmm0, xmm1
paddd xmm0, xmm5
movaps xmm2, xmm0
psrld xmm0, 0x13
pslld xmm2, 0xd
pxor xmm2, xmm4
pxor xmm2, xmm0
movaps xmm0, xmm5
paddd xmm0, xmm2
movaps xmm6, xmm0
psrld xmm0, 0xe
pslld xmm6, 0x12
pxor xmm6, xmm3
pshufd xmm3, xmm1, 0x93
pxor xmm6, xmm0
movaps xmm1, xmm3
paddd xmm1, xmm6
pshufd xmm0, xmm2, 0x39
movaps xmm4, xmm1
psrld xmm1, 0x19
pslld xmm4, 7
pxor xmm4, xmm0
pshufd xmm0, xmm5, 0x4e
pxor xmm4, xmm1
movaps xmm1, xmm4
paddd xmm1, xmm6
movaps xmm2, xmm1
psrld xmm1, 0x17
pslld xmm2, 9
pxor xmm2, xmm0
pxor xmm2, xmm1
movaps xmm0, xmm2
paddd xmm0, xmm4
pshufd xmm4, xmm4, 0x93
movaps xmm1, xmm0
psrld xmm0, 0x13
pslld xmm1, 0xd
pxor xmm1, xmm3
pxor xmm1, xmm0
movaps xmm0, xmm1
pshufd xmm5, xmm1, 0x39
paddd xmm0, xmm2
movaps xmm3, xmm0
psrld xmm0, 0xe
pslld xmm3, 0x12
pxor xmm3, xmm6
pshufd xmm6, xmm2, 0x4e
pxor xmm3, xmm0
jne 0x63ba5d
movaps xmm0, xmmword [ebp - 0x20]
paddd xmm7, xmm3
movups xmm2, xmmword [ecx + 0x30]
paddd xmm0, xmm4
movaps xmm1, xmm0
movaps xmmword [ebp - 0x20], xmm0
movaps xmm3, xmmword [0x865af0]
paddd xmm2, xmm5
psrlq xmm1, 0x20
movaps xmm0, xmm7
psllq xmm0, 0x20
pand xmm3, xmm2
movaps xmmword [ebp - 0x30], xmm6
movups xmm6, xmmword [ecx + 0x20]
por xmm1, xmm0
paddd xmm6, xmmword [ebp - 0x30]
movaps xmm0, xmm2
movaps xmm2, xmmword [0x865af0]
psllq xmm0, 0x20
pand xmm2, xmm6
psrlq xmm7, 0x20
pshufd xmm5, xmm1, 0x1b
por xmm0, xmm7
movaps xmm1, xmm5
pshufd xmm4, xmm0, 0x1b
movaps xmm0, xmmword [0x865ac0]
pand xmm0, xmm6
movaps xmm6, xmmword [0x865a60]
por xmm3, xmm0
movaps xmm0, xmmword [0x865ac0]
pand xmm0, xmmword [ebp - 0x20]
por xmm2, xmm0
punpckhqdq xmm1, xmm3
movups xmm0, xmmword [edi - 0x20]
punpcklqdq xmm3, xmm5
pxor xmm1, xmm0
movaps xmm5, xmmword [0x865a70]
movups xmmword [esi + edi - 0x20], xmm1
movups xmm0, xmmword [edi - 0x10]
movaps xmm1, xmm4
punpckhqdq xmm1, xmm2
pxor xmm1, xmm0
punpcklqdq xmm2, xmm4
movups xmmword [eax - 0x10], xmm1
movups xmm0, xmmword [edi]
pxor xmm3, xmm0
movups xmmword [eax], xmm3
movups xmm0, xmmword [edi + 0x10]
add edi, 0x40
pxor xmm2, xmm0
movups xmmword [eax + 0x10], xmm2
add eax, 0x40
pshufd xmm0, xmmword [ecx + 0x30], 0x55
movups xmm2, xmmword [ecx + 0x20]
punpckldq xmm2, xmm0
paddq xmm2, xmmword [0x865a90]
movaps xmm0, xmmword [0x865b10]
pand xmm6, xmm2
pand xmm0, xmmword [ecx + 0x20]
pand xmm5, xmm2
por xmm6, xmm0
movaps xmm0, xmmword [0x865b00]
pand xmm0, xmmword [ecx + 0x30]
movups xmmword [ecx + 0x20], xmm6
por xmm5, xmm0
movups xmmword [ecx + 0x30], xmm5
sub edx, 1
jne 0x63ba45
mov eax, dword [ebp - 8]
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc