Function at 0x1003a4d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x60
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov ecx, dword [0x101b9014]
xor ecx, ebp
mov dword [esp + 0x58], ecx
movdqu xmm6, xmmword [esi + 0x2c]
movups xmm0, xmmword [esi + 0x3c]
movaps xmmword [esp], xmm0
movdqu xmm0, xmmword [esi + 0x4c]
movdqa xmmword [esp + 0x10], xmm0
movdqu xmm1, xmmword [esi + 0x5c]
cmp edi, 0xf
jg 0x1003a523
test edi, edi
jne 0x1003a88c
jmp 0x1003a99a
mov ecx, eax
neg ecx
and ecx, 0xf
je 0x1003a5f1
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x20], xmm0
movups xmmword [ebx], xmm0
add ebx, ecx
add eax, ecx
sub edi, ecx
shl ecx, 4
movdqa xmm2, xmmword [ecx + 0x1019dc50]
movdqa xmm5, xmm6
movdqa xmm0, xmm1
movdqa xmm1, xmm6
movdqa xmm3, xmmword [0x1019dbd0]
pxor xmm3, xmm2
pshufb xmm5, xmm3
movdqa xmm6, xmmword [esp]
movdqa xmm4, xmm6
pshufb xmm4, xmm2
por xmm5, xmm4
pshufb xmm6, xmm3
movdqa xmm7, xmmword [esp + 0x10]
movdqa xmm4, xmm7
pshufb xmm4, xmm2
por xmm6, xmm4
movdqa xmmword [esp], xmm6
pshufb xmm7, xmm3
movdqa xmm4, xmm0
pshufb xmm4, xmm2
por xmm7, xmm4
movdqa xmmword [esp + 0x10], xmm7
pshufb xmm0, xmm3
pshufb xmm1, xmm2
movdqa xmm3, xmmword [esp + 0x20]
pshufb xmm3, xmm2
movdqa xmmword [esp + 0x20], xmm3
por xmm0, xmm3
movdqa xmm2, xmmword [0x1019dbe0]
pclmulqdq xmm2, xmm1, 1
pxor xmm2, xmm0
pclmulqdq xmm1, xmmword [0x1019dbf0], 1
pxor xmm1, xmm2
jmp 0x1003a600
movdqa xmm5, xmm6
movdqu xmm0, xmmword [esi + 0x6c]
movdqa xmmword [esp + 0x20], xmm0
movdqa xmm0, xmm1
movdqa xmm6, xmmword [esp]
movdqa xmm1, xmm5
cmp edi, 0x40
jb 0x1003a6de
movdqa xmm7, xmmword [0x1019dbf0]
nop
movdqa xmm5, xmmword [eax]
movaps xmm2, xmmword [eax + 0x10]
movaps xmmword [esp + 0x30], xmm2
movaps xmm2, xmmword [eax + 0x20]
movaps xmmword [esp], xmm2
movdqa xmm2, xmm1
pclmulqdq xmm2, xmm7, 1
movdqa xmm4, xmmword [0x1019dbe0]
pclmulqdq xmm1, xmm4, 0x10
pxor xmm1, xmm2
movdqa xmm2, xmm6
pclmulqdq xmm2, xmm7, 1
pclmulqdq xmm6, xmm4, 0x10
pxor xmm6, xmm2
movdqa xmm2, xmmword [esp + 0x10]
movdqa xmm3, xmm2
pclmulqdq xmm3, xmm7, 1
pclmulqdq xmm2, xmm4, 0x10
pxor xmm2, xmm3
movdqa xmm3, xmm0
pclmulqdq xmm3, xmm7, 1
pclmulqdq xmm0, xmm4, 0x10
pxor xmm0, xmm3
movdqa xmm3, xmmword [eax + 0x30]
movdqu xmmword [ebx], xmm5
pxor xmm1, xmm5
movdqa xmm4, xmmword [esp + 0x30]
movdqu xmmword [ebx + 0x10], xmm4
pxor xmm6, xmm4
movdqa xmm4, xmmword [esp]
movdqu xmmword [ebx + 0x20], xmm4
pxor xmm2, xmm4
movdqa xmmword [esp + 0x10], xmm2
movdqu xmmword [ebx + 0x30], xmm3
pxor xmm0, xmm3
add edi, 0xffffffc0
add eax, 0x40
add ebx, 0x40
cmp edi, 0x3f
ja 0x1003a620
movdqa xmm5, xmm1
cmp edi, 0x30
jb 0x1003a788
movdqa xmm2, xmmword [0x1019dbf0]
movdqa xmm1, xmmword [esp + 0x10]
movdqa xmm3, xmm1
pclmulqdq xmm3, xmm2, 1
movdqa xmm4, xmmword [0x1019dbe0]
pclmulqdq xmm1, xmm4, 0x10
pxor xmm1, xmm3
movdqa xmm3, xmm6
pclmulqdq xmm3, xmm2, 1
pclmulqdq xmm6, xmm4, 0x10
movdqa xmm7, xmm6
pxor xmm7, xmm3
movdqa xmm3, xmmword [eax]
pclmulqdq xmm2, xmm5, 0x10
pclmulqdq xmm5, xmm4, 0x10
movdqa xmm4, xmmword [eax + 0x10]
pxor xmm5, xmm2
movdqa xmm2, xmmword [eax + 0x20]
movdqu xmmword [ebx], xmm3
pxor xmm5, xmm3
movdqa xmmword [esp], xmm5
movdqu xmmword [ebx + 0x10], xmm4
pxor xmm7, xmm4
movdqa xmmword [esp + 0x10], xmm7
movdqu xmmword [ebx + 0x20], xmm2
pxor xmm1, xmm2
add edi, 0xffffffd0
je 0x1003a867
add ebx, 0x30
add eax, 0x30
movdqa xmm6, xmm0
jmp 0x1003a88c
cmp edi, 0x20
movdqa xmmword [esp], xmm6
jb 0x1003a80f
movdqa xmm2, xmmword [eax]
movdqa xmm1, xmmword [eax + 0x10]
movdqa xmm3, xmmword [0x1019dbf0]
movdqa xmm6, xmmword [esp]
movdqa xmm4, xmm6
pclmulqdq xmm4, xmm3, 1
movdqa xmm7, xmmword [0x1019dbe0]
pclmulqdq xmm6, xmm7, 0x10
pxor xmm6, xmm4
pclmulqdq xmm3, xmm5, 0x10
pclmulqdq xmm5, xmm7, 0x10
pxor xmm5, xmm3
movdqu xmmword [ebx], xmm2
movdqu xmmword [ebx + 0x10], xmm1
pxor xmm5, xmm2
movdqa xmm2, xmm6
pxor xmm2, xmm1
add edi, 0xffffffe0
je 0x1003a9ad
add ebx, 0x20
add eax, 0x20
movdqa xmm6, xmmword [esp + 0x10]
movdqa xmmword [esp], xmm0
movdqa xmmword [esp + 0x10], xmm5
movdqa xmm1, xmm2
jmp 0x1003a88c
cmp edi, 0x10
jb 0x1003a876
movdqa xmm2, xmmword [eax]
movdqa xmm1, xmmword [0x1019dbf0]
pclmulqdq xmm1, xmm5, 0x10
pclmulqdq xmm5, xmmword [0x1019dbe0], 0x10
pxor xmm5, xmm1
movdqu xmmword [ebx], xmm2
pxor xmm5, xmm2
add edi, 0xfffffff0
je 0x1003a9ca
add ebx, 0x10
add eax, 0x10
movdqa xmm6, xmmword [esp]
movdqa xmm3, xmmword [esp + 0x10]
movdqa xmmword [esp], xmm3
movdqa xmmword [esp + 0x10], xmm0
movdqa xmm1, xmm5
jmp 0x1003a88c
movdqa xmm6, xmm0
movdqa xmm0, xmmword [esp + 0x20]
jmp 0x1003a97a
test edi, edi
movdqa xmm1, xmm0
movdqa xmm6, xmm5
movdqa xmm0, xmmword [esp + 0x20]
je 0x1003a97a
movdqa xmmword [esp + 0x20], xmm1
movdqa xmmword [esp + 0x30], xmm6
pxor xmm0, xmm0
movdqa xmmword [esp + 0x40], xmm0
lea ecx, [esp + 0x40]
push edi
push eax
push ecx
call fcn.10148eb0
movdqa xmm6, xmmword [esp + 0x3c]
movdqa xmm5, xmmword [esp + 0xc]
movdqa xmm7, xmmword [esp + 0x1c]
add esp, 0xc
movdqa xmm0, xmmword [esp + 0x40]
pinsrd xmm0, dword [esp + 0x44], 1
pinsrd xmm0, dword [esp + 0x48], 2
pinsrd xmm0, dword [esp + 0x4c], 3
movdqu xmmword [ebx], xmm0
shl edi, 4
movdqa xmm2, xmmword [edi + 0x1019dc50]
movdqa xmm1, xmm6
movdqa xmm3, xmmword [0x1019dbd0]
pxor xmm3, xmm2
pshufb xmm6, xmm3
movdqa xmm4, xmm5
pshufb xmm4, xmm2
por xmm6, xmm4
pshufb xmm5, xmm3
movdqa xmm4, xmm7
pshufb xmm4, xmm2
por xmm5, xmm4
movdqa xmmword [esp], xmm5
pshufb xmm7, xmm3
movdqa xmm5, xmmword [esp + 0x20]
movdqa xmm4, xmm5
pshufb xmm4, xmm2
por xmm7, xmm4
movdqa xmmword [esp + 0x10], xmm7
pshufb xmm5, xmm3
pshufb xmm1, xmm2
pshufb xmm0, xmm2
por xmm5, xmm0
movdqa xmm2, xmmword [0x1019dbe0]
pclmulqdq xmm2, xmm1, 1
pxor xmm2, xmm5
pclmulqdq xmm1, xmmword [0x1019dbf0], 1
pxor xmm1, xmm2
movdqu xmmword [esi + 0x2c], xmm6
movaps xmm2, xmmword [esp]
movups xmmword [esi + 0x3c], xmm2
movaps xmm2, xmmword [esp + 0x10]
movups xmmword [esi + 0x4c], xmm2
movdqu xmmword [esi + 0x5c], xmm1
movdqu xmmword [esi + 0x6c], xmm0
mov ecx, dword [esp + 0x58]
xor ecx, ebp
call fcn.101465a3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movdqa xmm6, xmmword [esp + 0x10]
movdqa xmmword [esp], xmm0
movdqa xmmword [esp + 0x10], xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmmword [esp + 0x20]
jmp 0x1003a97a
movdqa xmm6, xmmword [esp]
movdqa xmm3, xmmword [esp + 0x10]
movdqa xmmword [esp], xmm3
movdqa xmmword [esp + 0x10], xmm0
movdqa xmm1, xmm5
movdqa xmm0, xmmword [esp + 0x20]
jmp 0x1003a97a