Function at 0x1006f5a0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a59ee
mov eax, dword fs:[0]
push eax
sub esp, 0xc
mov eax, dword [0x100c0364]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x101cda0c]
test cl, 1
jne 0x1006f654
or ecx, 1
mov dword [0x101cda0c], ecx
mov ebx, dword [0x101c5f7c]
mov ebx, dword [ebx + 0x30]
mov dword [ebp - 0x14], ebx
test ebx, ebx
je 0x1006f639
nop
mov esi, dword [ebx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1006f600
xor edx, edx
test ecx, ecx
je 0x1006f629
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1006f610
cmp edi, 0xf0d13f1c
je 0x1006f646
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x14], ebx
test ebx, ebx
jne 0x1006f5f0
mov ecx, dword [0x101cda0c]
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov dword [0x101cd9ec], ebx
jmp 0x1006f65c
mov ecx, dword [0x101cda0c]
mov dword [0x101cd9ec], ebx
jmp 0x1006f65c
mov eax, dword [0x101cd9ec]
mov dword [ebp - 0x14], eax
test cl, 2
jne 0x1006f6b6
or ecx, 2
mov dword [0x101cda0c], ecx
mov eax, dword [0x101c5f7c]
mov ebx, dword [eax + 0x30]
jmp 0x1006f6ac
mov edi, dword [ebx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + edi], 0
jne 0x1006f680
xor edx, edx
test ecx, ecx
je 0x1006f6a9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1006f690
cmp esi, 0xf2bc10d0
je 0x1006f6b0
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x1006f674
mov dword [0x101cd9e4], ebx
mov ecx, dword [ebp - 0x14]
vcvttss2si esi, dword [0x100cabdc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
cmp eax, esi
je 0x1006f6e9
mov ecx, dword [0x101cd9e4]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x101cd9ec]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [0x101c5f84]
xor ebx, ebx
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
test eax, eax
js 0x1006f86a
mov ecx, dword [0x101c5f84]
push ebx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
test esi, esi
je 0x1006f854
mov edx, dword [esi + 8]
lea ecx, [esi + 8]
mov edx, dword [edx + 8]
call edx
test eax, eax
je 0x1006f854
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0x43
jne 0x1006f854
mov eax, dword [0x101cda0c]
test al, 4
jne 0x1006f791
or eax, 4
mov dword [0x101cda0c], eax
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 0
push eax
mov ecx, 0x101cd7e0
mov dword [ebp - 0x18], 0x23f7dc2c
mov dword [ebp - 0x14], 0xc8f9fc46
call fcn.1006d7f0
lea ecx, [ebp - 0x18]
push ecx
mov ecx, eax
call fcn.1006d8d0
mov ecx, dword [eax + 8]
mov dword [0x101cd9e8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1006f797
mov ecx, dword [0x101cd9e8]
movzx eax, byte [0x100ca9b4]
mov byte [ecx + esi], al
xor eax, eax
mov ecx, dword [0x101c6084]
cmp byte [0x100ca9b4], al
sete al
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x40]
call eax
movzx eax, byte [0x100ca9b4]
vmovss xmm1, dword [0x100b36a8]
mov byte [esi + 0xa1d], al
vmovss xmm0, dword [0x100caca4]
vmovss dword [esi + 0x9fc], xmm0
vmulss xmm0, xmm1, dword [0x100caa4c]
vmovss dword [esi + 0xa04], xmm0
vmulss xmm0, xmm1, dword [0x100cab14]
vmovss dword [esi + 0xa24], xmm0
mov eax, dword [0x100cad84]
mov ecx, eax
shr ecx, 8
movzx edx, cl
movzx ecx, al
shl ecx, 8
or edx, ecx
shr eax, 0x10
shl edx, 8
movzx eax, al
or edx, eax
mov dword [esi + 0x9e8], edx
cmp byte [0x100cae04], 0
je 0x1006f84e
mov eax, dword [0x100caeb4]
mov ecx, eax
shr ecx, 8
movzx edx, cl
movzx ecx, al
shl ecx, 8
or edx, ecx
shr eax, 0x10
shl edx, 8
movzx eax, al
or edx, eax
mov dword [esi + 0x9ec], edx
mov ecx, dword [0x101c5f84]
inc ebx
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp ebx, eax
jle 0x1006f700
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1009cc5f
mov esp, ebp
pop ebp
ret