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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x100f4384]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
mov edi, dword [ebp + 0xc]
cmp dword [esi + 0x10], 0
jne 0x1006b1f5
test edi, edi
je 0x1006b1f5
mov ecx, dword [esi + 0x20]
mov eax, 0x532ae21d
sub ecx, dword [esi + 0x1c]
imul ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jae 0x1006b1f5
imul eax, ebx, 0x314
mov ebx, dword [esi + 0x1c]
mov ebx, dword [eax + ebx]
test byte [ebx + 0x26], 0x10
jne 0x1006b1f5
mov eax, dword [ebp + 0x10]
cmp dword [ebx + 0x18], eax
ja 0x1006b1f5
mov esi, dword [esi + 0xc]
mov edx, dword [ebx + 0x2a]
movzx eax, word [edx + esi + 0x1c]
movzx ecx, word [edx + esi + 0x1a]
add eax, edx
add ecx, eax
lea eax, [esi + 0x1e]
add eax, ecx
movzx ecx, word [ebx + 0xa]
mov dword [ebp - 8], eax
test cx, cx
jne 0x1006b20a
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0xc], ecx
test esi, esi
je 0x1006b0fd
test eax, eax
je 0x1006b0c9
cmp ecx, esi
jb 0x1006b0c9
push esi
push eax
push edi
call fcn.1008eae0
add esp, 0xc
jmp 0x1006b0fd
push ecx
push 0
push edi
call fcn.1008f5e0
add esp, 0xc
cmp dword [ebp - 8], 0
jne 0x1006b0e8
call fcn.10092efd
mov dword [eax], 0x16
jmp 0x1006b0f8
cmp dword [ebp - 0xc], esi
jae 0x1006b0fd
call fcn.10092efd
mov dword [eax], 0x22
call fcn.10092d55
mov edx, dword [ebx + 0x14]
test edx, edx
je 0x1006b1ee
or eax, 0xffffffff
cmp edx, 8
jb 0x1006b1c6
mov esi, edx
shr esi, 3
nop dword [eax]
movzx ecx, byte [edi]
sub edx, 8
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x100cfd50]
movzx ecx, byte [edi + 1]
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x100cfd50]
movzx ecx, byte [edi + 2]
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x100cfd50]
movzx ecx, byte [edi + 3]
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x100cfd50]
movzx ecx, byte [edi + 4]
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x100cfd50]
movzx ecx, byte [edi + 5]
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x100cfd50]
movzx ecx, byte [edi + 6]
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x100cfd50]
movzx ecx, byte [edi + 7]
add edi, 8
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x100cfd50]
sub esi, 1
jne 0x1006b120
test edx, edx
je 0x1006b1ea
nop word [eax + eax]
movzx ecx, byte [edi]
lea edi, [edi + 1]
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x100cfd50]
sub edx, 1
jne 0x1006b1d0
not eax
jmp 0x1006b1f0
xor eax, eax
cmp eax, dword [ebx + 0x10]
je 0x1006b236
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100683c1
mov esp, ebp
pop ebp
ret 0xc
cmp ecx, 8
jne 0x1006b1f5
lea ecx, [ebp - 8]
mov dword [ebp - 8], 0
push ecx
push dword [ebp + 0x10]
push edi
push dword [ebx + 0x14]
push eax
call fcn.1006ddf0
add esp, 0x14
test eax, eax
je 0x1006b1f5
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x10]
jne 0x1006b1f5
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100683c1
mov esp, ebp
pop ebp
ret 0xc