Function at 0x101000f0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x44
mov edx, dword [0x104c5878]
xor edx, esp
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 8]
and edx, 0xf
mov ecx, edx
neg ecx
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
not ebx
lea esi, [ecx + 0x20]
cmp eax, esi
jge 0x10100128
xor esi, esi
jmp 0x10100458
movaps xmm1, xmmword [0x10443e00]
mov edi, 0xffffffff
movaps xmmword [esp + 0x10], xmm1
movaps xmm2, xmmword [0x10443e10]
movaps xmmword [esp + 0x20], xmm2
movaps xmm6, xmmword [0x10443e20]
movd xmm0, edi
movdqa xmm5, xmmword [0x10444240]
movdqa xmm4, xmmword [0x10444250]
movdqa xmm3, xmmword [0x10444270]
movaps xmmword [esp + 0x30], xmm6
mov dword [esp], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 8], esi
mov esi, ecx
sub esi, edx
mov edi, dword [ebp + 8]
sub edi, edx
movdqu xmm2, xmmword [esi + 0x20]
pand xmm2, xmmword [edi]
mov dword [edx + ecx], ebx
lea edx, [eax - 0x20]
movdqa xmm1, xmmword [edi + 0x10]
mov esi, dword [esp + 8]
cmp esi, edx
pxor xmm2, xmmword [ecx]
pxor xmm1, xmmword [esp + 0x20]
mov ecx, dword [esp]
mov dword [esp + 4], edx
jg 0x101002ba
mov ebx, dword [ebp + 8]
cdq
movdqa xmm6, xmmword [esi + ebx]
movdqa xmm7, xmmword [esi + ebx + 0x10]
lea esi, [ecx + 0x40]
mov ebx, eax
sub ebx, esi
mov dword [esp], esi
sbb edx, 0
jns 0x101001d6
add ebx, 0x3f
adc edx, 0
shrd ebx, edx, 6
lea edx, [eax - 0x40]
cmp esi, edx
jg 0x10100282
mov esi, dword [ebp + 8]
xor edx, edx
mov edi, dword [esp]
lea ecx, [esi + ecx + 0x40]
movdqa xmm4, xmm2
mov esi, edx
pclmulqdq xmm4, xmm5, 0
inc edx
pclmulqdq xmm2, xmm5, 0x11
pxor xmm4, xmm2
movdqa xmm2, xmm4
movdqa xmm4, xmm1
pclmulqdq xmm4, xmm5, 0
pclmulqdq xmm1, xmm5, 0x11
pxor xmm4, xmm1
movdqa xmm1, xmm4
movdqa xmm4, xmm6
pclmulqdq xmm4, xmm5, 0
pclmulqdq xmm6, xmm5, 0x11
pxor xmm4, xmm6
movdqa xmm6, xmm4
movdqa xmm4, xmm7
shl esi, 6
pclmulqdq xmm4, xmm5, 0
pclmulqdq xmm7, xmm5, 0x11
pxor xmm4, xmm7
movdqa xmm7, xmm4
pxor xmm2, xmmword [ecx + esi]
pxor xmm1, xmmword [ecx + esi + 0x10]
pxor xmm6, xmmword [ecx + esi + 0x20]
pxor xmm7, xmmword [ecx + esi + 0x30]
lea esi, [edi + esi + 0x40]
cmp edx, ebx
jb 0x101001f1
movdqa xmm4, xmmword [0x10444250]
movdqa xmm5, xmm2
pclmulqdq xmm5, xmm4, 0
pclmulqdq xmm2, xmm4, 0x11
pxor xmm5, xmm2
movdqa xmm2, xmm6
movdqa xmm6, xmm1
pxor xmm2, xmm5
pclmulqdq xmm6, xmm4, 0
pclmulqdq xmm1, xmm4, 0x11
pxor xmm6, xmm1
movdqa xmm1, xmm7
pxor xmm1, xmm6
cmp esi, dword [esp + 4]
jg 0x10100301
movdqa xmm5, xmm2
movdqa xmm6, xmm1
pclmulqdq xmm5, xmm4, 0
pclmulqdq xmm2, xmm4, 0x11
pclmulqdq xmm6, xmm4, 0
pxor xmm5, xmm2
pclmulqdq xmm1, xmm4, 0x11
movdqa xmm2, xmm5
mov edx, dword [ebp + 8]
pxor xmm6, xmm1
movdqa xmm1, xmm6
pxor xmm2, xmmword [esi + edx]
pxor xmm1, xmmword [esi + edx + 0x10]
add esi, 0x20
movdqa xmm5, xmmword [0x10444260]
movdqa xmm4, xmm2
pclmulqdq xmm4, xmm5, 0
lea edx, [eax - 0x10]
pclmulqdq xmm2, xmm5, 0x11
cmp esi, edx
pxor xmm4, xmm2
pxor xmm4, xmm1
jg 0x10100353
movdqa xmm1, xmmword [0x10444260]
movdqa xmm2, xmm4
pclmulqdq xmm2, xmm1, 0
pclmulqdq xmm4, xmm1, 0x11
mov edx, dword [ebp + 8]
pxor xmm2, xmm4
movdqa xmm4, xmm2
pxor xmm4, xmmword [esi + edx]
add esi, 0x10
movdqa xmm2, xmm4
movdqa xmm1, xmm4
pand xmm2, xmm0
psrlq xmm4, 0x20
pclmulqdq xmm2, xmm3, 0
lea edx, [eax - 8]
psrldq xmm1, 8
cmp esi, edx
pclmulqdq xmm4, xmm3, 0x10
pxor xmm2, xmm1
pxor xmm2, xmm4
jg 0x101003b0
pand xmm0, xmm2
psrlq xmm2, 0x20
mov edx, dword [ebp + 8]
pclmulqdq xmm0, xmm3, 0
pclmulqdq xmm2, xmm3, 0x10
pxor xmm0, xmm2
movq xmm1, qword [esi + edx]
movdqa xmm2, xmm0
pxor xmm2, xmm1
add esi, 8
movd edx, xmm2
psrlq xmm2, 0x20
movd ecx, xmm2
movzx ebx, dl
mov edi, edx
shr edi, 8
mov ebx, dword [ebx*4 + 0x10443e40]
xor edi, ebx
and edi, 0xff
shr ebx, 8
xor ebx, dword [edi*4 + 0x10443e40]
mov edi, edx
shr edi, 0x10
xor edi, ebx
and edi, 0xff
shr ebx, 8
shr edx, 0x18
xor ebx, dword [edi*4 + 0x10443e40]
mov edi, ecx
xor edx, ebx
movzx edx, dl
shr ebx, 8
xor ebx, dword [edx*4 + 0x10443e40]
mov edx, ecx
xor edi, ebx
and edi, 0xff
shr ebx, 8
shr edx, 8
xor ebx, dword [edi*4 + 0x10443e40]
mov edi, ecx
xor edx, ebx
movzx edx, dl
shr ebx, 8
shr edi, 0x10
shr ecx, 0x18
xor ebx, dword [edx*4 + 0x10443e40]
xor edi, ebx
and edi, 0xff
shr ebx, 8
xor ebx, dword [edi*4 + 0x10443e40]
xor ecx, ebx
movzx ecx, cl
shr ebx, 8
xor ebx, dword [ecx*4 + 0x10443e40]
cmp esi, eax
jge 0x101004ce
sub eax, esi
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
test ecx, ecx
jbe 0x101004e7
mov edx, dword [ebp + 8]
xor edi, edi
mov dword [esp + 8], esi
add edx, esi
movzx esi, byte [edx + edi*2]
xor esi, ebx
and esi, 0xff
shr ebx, 8
xor ebx, dword [esi*4 + 0x10443e40]
movzx esi, byte [edx + edi*2 + 1]
inc edi
xor esi, ebx
and esi, 0xff
shr ebx, 8
xor ebx, dword [esi*4 + 0x10443e40]
cmp edi, ecx
jb 0x10100476
mov esi, dword [esp + 8]
lea ecx, [edi + edi + 1]
cmp ecx, eax
ja 0x101004ce
mov eax, dword [ebp + 8]
lea edx, [eax + esi]
movzx ecx, byte [ecx + edx - 1]
xor ecx, ebx
movzx ecx, cl
shr ebx, 8
xor ebx, dword [ecx*4 + 0x10443e40]
mov ecx, dword [esp + 0xc]
not ebx
xor ecx, esp
call fcn.103b6385
mov eax, ebx
add esp, 0x44
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 1
jmp 0x101004b0