Function at 0x10100b70
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 0x10100ba8
xor esi, esi
jmp 0x10100e8b
vmovups xmm1, xmmword [0x10448710]
mov edi, 0xffffffff
vmovups xmmword [esp + 0x20], xmm1
vmovups xmm2, xmmword [0x10448720]
vmovups xmmword [esp + 0x30], xmm2
vmovups xmm3, xmmword [0x10448700]
vmovd xmm6, edi
vmovdqu xmm0, xmmword [0x10448b40]
vmovdqu xmm5, xmmword [0x10448b50]
vmovdqu xmm7, xmmword [0x10448b70]
vmovups xmmword [esp + 0x10], xmm3
mov dword [esp], ecx
lea ecx, [esp + 0x10]
mov edi, dword [ebp + 8]
mov dword [esp + 8], esi
sub edi, edx
mov esi, ecx
sub esi, edx
vmovdqu xmm4, xmmword [edi]
vmovdqu xmm2, xmmword [edi + 0x10]
vpand xmm1, xmm4, xmmword [esi + 0x20]
mov dword [edx + ecx], ebx
lea edx, [eax - 0x20]
mov esi, dword [esp + 8]
vpxor xmm4, xmm1, xmmword [ecx]
vpxor xmm2, xmm2, xmmword [esp + 0x20]
mov ecx, dword [esp]
mov dword [esp + 4], edx
cmp esi, edx
jg 0x10100d15
mov ebx, dword [ebp + 8]
cdq
vmovdqu xmm3, xmmword [esi + ebx]
vmovdqu xmm1, xmmword [esi + ebx + 0x10]
lea esi, [ecx + 0x40]
mov ebx, eax
sub ebx, esi
mov dword [esp], esi
sbb edx, 0
jns 0x10100c5c
add ebx, 0x3f
adc edx, 0
shrd ebx, edx, 6
lea edx, [eax - 0x40]
cmp esi, edx
jg 0x10100ced
mov esi, dword [ebp + 8]
xor edx, edx
mov edi, dword [esp]
lea ecx, [esi + ecx + 0x40]
nop word [eax + eax]
vpclmulqdq xmm5, xmm4, xmm0, 0
mov esi, edx
vpclmulqdq xmm4, xmm4, xmm0, 0x11
inc edx
vpxor xmm4, xmm5, xmm4
vpclmulqdq xmm5, xmm2, xmm0, 0
vpclmulqdq xmm2, xmm2, xmm0, 0x11
shl esi, 6
vpxor xmm2, xmm5, xmm2
vpclmulqdq xmm5, xmm3, xmm0, 0
vpclmulqdq xmm3, xmm3, xmm0, 0x11
vpxor xmm3, xmm5, xmm3
vpclmulqdq xmm5, xmm1, xmm0, 0
vpclmulqdq xmm1, xmm1, xmm0, 0x11
vpxor xmm1, xmm5, xmm1
vpxor xmm4, xmm4, xmmword [ecx + esi]
vpxor xmm2, xmm2, xmmword [ecx + esi + 0x10]
vpxor xmm3, xmm3, xmmword [ecx + esi + 0x20]
vpxor xmm1, xmm1, xmmword [ecx + esi + 0x30]
lea esi, [edi + esi + 0x40]
cmp edx, ebx
jb 0x10100c80
vmovdqu xmm5, xmmword [0x10448b50]
vpclmulqdq xmm0, xmm4, xmm5, 0
vpclmulqdq xmm4, xmm4, xmm5, 0x11
vpxor xmm4, xmm0, xmm4
vpxor xmm4, xmm4, xmm3
vpclmulqdq xmm3, xmm2, xmm5, 0
vpclmulqdq xmm2, xmm2, xmm5, 0x11
vpxor xmm0, xmm3, xmm2
vpxor xmm2, xmm0, xmm1
cmp esi, dword [esp + 4]
jg 0x10100d4c
mov edx, dword [ebp + 8]
vpclmulqdq xmm0, xmm4, xmm5, 0
vpclmulqdq xmm4, xmm4, xmm5, 0x11
vpclmulqdq xmm3, xmm2, xmm5, 0
vpxor xmm1, xmm0, xmm4
vpclmulqdq xmm2, xmm2, xmm5, 0x11
vpxor xmm5, xmm3, xmm2
vpxor xmm4, xmm1, xmmword [esi + edx]
vpxor xmm2, xmm5, xmmword [esi + edx + 0x10]
add esi, 0x20
vmovdqu xmm0, xmmword [0x10448b60]
lea edx, [eax - 0x10]
vpclmulqdq xmm1, xmm4, xmm0, 0
vpclmulqdq xmm3, xmm4, xmm0, 0x11
vpxor xmm4, xmm1, xmm3
vpxor xmm0, xmm4, xmm2
cmp esi, edx
jg 0x10100d92
vmovdqu xmm1, xmmword [0x10448b60]
mov edx, dword [ebp + 8]
vpclmulqdq xmm2, xmm0, xmm1, 0
vpclmulqdq xmm0, xmm0, xmm1, 0x11
vpxor xmm3, xmm2, xmm0
vpxor xmm0, xmm3, xmmword [esi + edx]
add esi, 0x10
vpand xmm1, xmm0, xmm6
lea edx, [eax - 8]
vpclmulqdq xmm2, xmm1, xmm7, 0
vpsrldq xmm3, xmm0, 8
vpsrlq xmm0, xmm0, 0x20
vpclmulqdq xmm5, xmm0, xmm7, 0x10
vpxor xmm4, xmm2, xmm3
vpxor xmm2, xmm4, xmm5
cmp esi, edx
jg 0x10100de3
mov edx, dword [ebp + 8]
vpand xmm1, xmm2, xmm6
vpsrlq xmm2, xmm2, 0x20
vpclmulqdq xmm3, xmm1, xmm7, 0
vpclmulqdq xmm4, xmm2, xmm7, 0x10
vmovq xmm0, qword [esi + edx]
vpxor xmm5, xmm3, xmm4
vpxor xmm2, xmm5, xmm0
add esi, 8
vmovd edx, xmm2
vpsrlq xmm0, xmm2, 0x20
vmovd ecx, xmm0
movzx ebx, dl
mov edi, edx
shr edi, 8
mov ebx, dword [ebx*4 + 0x10448740]
xor edi, ebx
and edi, 0xff
shr ebx, 8
xor ebx, dword [edi*4 + 0x10448740]
mov edi, edx
shr edi, 0x10
xor edi, ebx
and edi, 0xff
shr ebx, 8
shr edx, 0x18
xor ebx, dword [edi*4 + 0x10448740]
mov edi, ecx
xor edx, ebx
movzx edx, dl
shr ebx, 8
xor ebx, dword [edx*4 + 0x10448740]
mov edx, ecx
xor edi, ebx
and edi, 0xff
shr ebx, 8
shr edx, 8
xor ebx, dword [edi*4 + 0x10448740]
mov edi, ecx
xor edx, ebx
movzx edx, dl
shr ebx, 8
shr edi, 0x10
shr ecx, 0x18
xor ebx, dword [edx*4 + 0x10448740]
xor edi, ebx
and edi, 0xff
shr ebx, 8
xor ebx, dword [edi*4 + 0x10448740]
xor ecx, ebx
movzx ecx, cl
shr ebx, 8
xor ebx, dword [ecx*4 + 0x10448740]
cmp esi, eax
jge 0x10100f01
sub eax, esi
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
test ecx, ecx
jbe 0x10100f1a
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 + 0x10448740]
movzx esi, byte [edx + edi*2 + 1]
inc edi
xor esi, ebx
and esi, 0xff
shr ebx, 8
xor ebx, dword [esi*4 + 0x10448740]
cmp edi, ecx
jb 0x10100ea9
mov esi, dword [esp + 8]
lea ecx, [edi + edi + 1]
cmp ecx, eax
ja 0x10100f01
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 + 0x10448740]
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 0x10100ee3