Function at 0x100374b3
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push edi
push esi
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, esp
and esp, 0xfffffff0
sub esp, 0x50
mov dword [esp + 0x40], edx
mov dword [esp + 0x10], 0xc0d0e0f
mov dword [esp + 0x14], 0x8090a0b
mov dword [esp + 0x18], 0x4050607
mov dword [esp + 0x1c], 0x10203
movdqu xmm0, xmmword [esi]
pshufb xmm0, xmmword [esp + 0x10]
movdqu xmm3, xmmword [edi]
pshufb xmm3, xmmword [esp + 0x10]
pxor xmm0, xmm3
pshufd xmm4, xmm0, 0x4e
pxor xmm4, xmm0
movdqa xmm1, xmm0
pshufd xmm5, xmmword [ecx + 0x30], 0x4e
pxor xmm5, xmmword [ecx + 0x30]
movdqa xmm2, xmm0
pclmulqdq xmm1, xmmword [ecx + 0x30], 0
pclmulqdq xmm2, xmmword [ecx + 0x30], 0x11
pclmulqdq xmm4, xmm5, 0
pxor xmm4, xmm1
pxor xmm4, xmm2
movdqa xmm5, xmm4
psrldq xmm4, 8
pxor xmm2, xmm4
pslldq xmm5, 8
pxor xmm1, xmm5
movdqa xmmword [esp + 0x20], xmm1
movdqa xmmword [esp + 0x30], xmm2
movdqu xmm0, xmmword [edi + 0x10]
pshufb xmm0, xmmword [esp + 0x10]
pshufd xmm5, xmm0, 0x4e
pxor xmm5, xmm0
movdqa xmm1, xmm0
pshufd xmm4, xmmword [ecx + 0x20], 0x4e
pxor xmm4, xmmword [ecx + 0x20]
movdqa xmm2, xmm0
pclmulqdq xmm1, xmmword [ecx + 0x20], 0
pclmulqdq xmm2, xmmword [ecx + 0x20], 0x11
pclmulqdq xmm5, xmm4, 0
pxor xmm5, xmm1
pxor xmm5, xmm2
movdqa xmm4, xmm5
psrldq xmm5, 8
pxor xmm2, xmm5
pslldq xmm4, 8
pxor xmm1, xmm4
pxor xmm1, xmmword [esp + 0x20]
pxor xmm2, xmmword [esp + 0x30]
movdqu xmmword [esp + 0x20], xmm1
movdqu xmmword [esp + 0x30], xmm2
movdqu xmm0, xmmword [edi + 0x20]
pshufb xmm0, xmmword [esp + 0x10]
pshufd xmm4, xmm0, 0x4e
pxor xmm4, xmm0
movdqa xmm1, xmm0
pshufd xmm5, xmmword [ecx + 0x10], 0x4e
pxor xmm5, xmmword [ecx + 0x10]
movdqa xmm2, xmm0
pclmulqdq xmm1, xmmword [ecx + 0x10], 0
pclmulqdq xmm2, xmmword [ecx + 0x10], 0x11
pclmulqdq xmm4, xmm5, 0
pxor xmm4, xmm1
pxor xmm4, xmm2
movdqa xmm5, xmm4
psrldq xmm4, 8
pxor xmm2, xmm4
pslldq xmm5, 8
pxor xmm1, xmm5
pxor xmm1, xmmword [esp + 0x20]
pxor xmm2, xmmword [esp + 0x30]
movdqu xmmword [esp + 0x20], xmm1
movdqu xmmword [esp + 0x30], xmm2
movdqu xmm0, xmmword [edi + 0x30]
pshufb xmm0, xmmword [esp + 0x10]
pshufd xmm5, xmm0, 0x4e
pxor xmm5, xmm0
movdqa xmm1, xmm0
pshufd xmm4, xmmword [ecx], 0x4e
pxor xmm4, xmmword [ecx]
movdqa xmm2, xmm0
pclmulqdq xmm1, xmmword [ecx], 0
pclmulqdq xmm2, xmmword [ecx], 0x11
pclmulqdq xmm5, xmm4, 0
pxor xmm5, xmm1
pxor xmm5, xmm2
movdqa xmm4, xmm5
psrldq xmm5, 8
pxor xmm2, xmm5
pslldq xmm4, 8
pxor xmm1, xmm4
pxor xmm1, xmmword [esp + 0x20]
pxor xmm2, xmmword [esp + 0x30]
add edi, 0x40
movdqa xmm4, xmm1
psrld xmm4, 0x1f
movdqa xmm5, xmm2
psrld xmm5, 0x1f
pslld xmm1, 1
pslld xmm2, 1
movdqa xmm6, xmm4
psrldq xmm6, 0xc
pslldq xmm4, 4
pslldq xmm5, 4
por xmm1, xmm4
por xmm2, xmm5
por xmm2, xmm6
movdqa xmm6, xmm1
pslld xmm6, 0x1f
movdqa xmm5, xmm1
pslld xmm5, 0x1e
pxor xmm6, xmm5
movdqa xmm5, xmm1
pslld xmm5, 0x19
pxor xmm6, xmm5
movdqa xmm5, xmm6
psrldq xmm5, 4
pslldq xmm6, 0xc
pxor xmm1, xmm6
pxor xmm2, xmm1
movdqa xmm0, xmm1
psrld xmm0, 1
pxor xmm0, xmm2
movdqa xmm6, xmm1
psrld xmm6, 2
pxor xmm0, xmm6
psrld xmm1, 7
pxor xmm0, xmm1
pxor xmm0, xmm5
sub eax, 0x40
jg 0x100374fc
pshufb xmm0, xmmword [esp + 0x10]
movdqu xmmword [esi], xmm0
mov esp, dword [esp + 0x40]
mov esi, dword [esp]
mov edi, dword [esp + 4]
add esp, 8
ret