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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
push ebx
push esi
mov eax, ecx
push edi
mov dword [ebp - 8], eax
call fcn.100d92a0
fstp dword [ebp - 0xc]
movss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 0x2c]
mulss xmm0, dword [0x101a0e20]
push eax
push 0
mov dword [ebp - 0x2c], 0x3f800000
mov dword [ebp - 0x28], 0x3f800000
mov dword [ebp - 0x24], 0x3f800000
movss dword [ebp - 0x20], xmm0
call fcn.100759d0
mov ecx, dword [0x10bfd778]
add esp, 8
mov eax, dword [ecx + 0x19b0]
mov byte [eax + 0x8c], 1
mov edi, dword [ecx + 0x19b0]
cmp byte [edi + 0x8f], 0
jne 0x100cd415
mov ebx, dword [ebp + 8]
mov ecx, edi
mov esi, dword [0x10bfd778]
push 0
push ebx
call fcn.1006ed30
push ecx
mov dword [esp], 0xbf800000
push 1
push 0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x54]
push ebx
push eax
call fcn.1006bbc0
movss xmm3, dword [edi + 0xd8]
lea eax, [ebp - 0x64]
movss dword [ebp - 0x34], xmm3
movaps xmm1, xmm3
movss xmm2, dword [edi + 0xdc]
add esp, 0x10
addss xmm1, dword [0x101abdf8]
movaps xmm0, xmm2
movss dword [ebp - 0x30], xmm2
addss xmm0, dword [0x101abde8]
movss dword [ebp - 0x64], xmm3
movss dword [ebp - 0x60], xmm2
movss dword [ebp - 0x5c], xmm1
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [esi + 0x154c]
movss dword [esp], xmm0
push eax
call fcn.10070fd0
mov edi, dword [ebp - 0x10]
lea eax, [ebp - 0x64]
push 0
push edi
push eax
call fcn.10070c80
add esp, 0x14
test al, al
je 0x100cd415
mov eax, dword [ebp - 8]
mov ecx, 0x811c9dc5
add eax, 0xa70
xor edx, edx
mov dword [ebp - 0x10], eax
inc edx
cmp byte [edx + ebx], 0
jne 0x100ccf86
xor esi, esi
test edx, edx
je 0x100ccfa7
movsx eax, byte [esi + ebx]
inc esi
xor eax, ecx
imul ecx, eax, 0x1000193
cmp esi, edx
jb 0x100ccf93
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.100ccd60
mov ebx, eax
lea eax, [ebp - 2]
push 0
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x10], ebx
push eax
lea eax, [ebp - 0x64]
push edi
push eax
call fcn.100919d0
add esp, 0x14
mov byte [ebp - 1], al
test al, al
je 0x100ccfec
mov eax, dword [ebp + 0xc]
push edi
cmp byte [eax], 0
sete cl
mov byte [eax], cl
call fcn.10071590
add esp, 4
push 4
push ecx
mov ecx, dword [ebp - 8]
lea esi, [ebx + 4]
mov dword [esp], 0x3f800000
push dword [ebp - 0x18]
push esi
call fcn.100d7a00
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x10]
push 4
push ecx
movzx eax, byte [eax]
add edi, 8
mov ecx, dword [ebp - 8]
mov dword [esp], 0x3ecccccd
push eax
push edi
call fcn.100d7a00
movss xmm1, dword [esi]
lea ecx, [ebp + 0xc]
movaps xmm0, xmm1
mov esi, dword [ebp - 8]
mulss xmm1, dword [0x101a1050]
mov bl, 0xd9
mov dword [ebp - 0x1c], 0xff
mulss xmm0, dword [0x101abdd0]
mov dword [ebp + 0xc], 0
addss xmm1, dword [0x101a0f20]
mov esi, dword [esi + 4]
cvttss2si eax, xmm0
mulss xmm1, dword [ebp - 0xc]
sub bl, al
lea eax, [ebp - 0x10]
cvttss2si edx, xmm1
test edx, edx
mov dword [ebp - 0x10], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [ebp - 0x1c]
cmovle eax, ecx
mov cl, byte [eax]
movzx eax, bl
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, cl
mulss xmm0, dword [0x101a1038]
movss dword [ebp - 0x74], xmm0
movss dword [ebp - 0x70], xmm0
movss dword [ebp - 0x6c], xmm0
movd xmm0, eax
lea eax, [ebp - 0x74]
cvtdq2ps xmm0, xmm0
push eax
mulss xmm0, dword [0x101a1038]
movss dword [ebp - 0x68], xmm0
call fcn.1006c660
movss xmm0, dword [ebp - 0x34]
add esp, 4
addss xmm0, dword [0x101abdf8]
push 0xf
push ecx
movss dword [ebp - 0x24], xmm0
mov ecx, esi
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [0x101a6024]
mov dword [esp], 0x40800000
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x34]
movss dword [ebp - 0x20], xmm0
push eax
call fcn.1007cf30
movss xmm1, dword [ebp - 0x34]
addss xmm1, dword [0x101abdf4]
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [0x101a104c]
movss dword [ebp - 0x3c], xmm1
addss xmm1, dword [0x101abde0]
movss dword [ebp - 0x38], xmm0
addss xmm0, dword [0x101abddc]
mov ebx, dword [ebp - 8]
movss dword [ebp - 0x44], xmm1
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0xc]
mulss xmm0, dword [0x101abdec]
mov esi, dword [ebx + 4]
mov dword [ebp - 0x6c], 0
cvttss2si eax, xmm0
movzx eax, al
movd xmm0, eax
lea eax, [ebp - 0x74]
cvtdq2ps xmm0, xmm0
push eax
mulss xmm0, dword [0x101a1038]
movss dword [ebp - 0x68], xmm0
call fcn.1006c660
add esp, 4
push 0xf
push ecx
mov dword [esp], 0x41000000
mov ecx, esi
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.1007cf30
movss xmm1, dword [0x101a1054]
movss xmm0, dword [0x10c0299c]
mulss xmm0, xmm1
cvttss2si edx, xmm0
movss xmm0, dword [0x10c02998]
mulss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x10c02994]
mulss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x10c02990]
mulss xmm0, xmm1
mov dword [ebp - 0x1c], ecx
movss xmm1, dword [ebp - 0x3c]
addss xmm1, dword [0x101abdd4]
cvttss2si ebx, xmm0
movss xmm0, dword [edi]
mulss xmm0, dword [0x101abddc]
cmp bl, 0xff
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 8]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x38]
addss xmm0, dword [0x101abdd4]
movss dword [ebp - 0x4c], xmm1
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [edi]
jne 0x100cd261
cmp cl, 0xff
jne 0x100cd261
cmp al, cl
jne 0x100cd261
cmp dl, cl
jne 0x100cd261
mov dword [ebp - 0x1c], 0xffffffff
mov al, byte [ebp - 0x1b]
mov byte [ebp + 0xc], cl
mov byte [ebp - 0x10], cl
mov dword [ebp - 8], eax
jmp 0x100cd2fc
sub esp, 0xc
movzx eax, al
movss dword [esp + 8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x437f0000
call fcn.1004d840
movss xmm0, dword [edi]
fstp dword [ebp + 0xc]
cvttss2si eax, dword [ebp + 0xc]
movss dword [esp + 8], xmm0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x437f0000
call fcn.1004d840
movss xmm0, dword [edi]
fstp dword [ebp + 0xc]
cvttss2si eax, dword [ebp + 0xc]
movss dword [esp + 8], xmm0
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x20]
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mov dword [esp], 0x437f0000
call fcn.1004d840
fstp dword [ebp + 0xc]
cvttss2si eax, dword [ebp + 0xc]
add esp, 0xc
mov dword [ebp + 0xc], eax
movss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 0x1c]
mulss xmm0, dword [0x101a1054]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x14], 0xff
movss xmm1, dword [0x101a1038]
mov dword [ebp - 0x20], 0
cvttss2si edx, xmm0
mov esi, dword [ebx + 4]
test edx, edx
mov dword [ebp - 0x1c], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [ebp - 0x14]
cmovle eax, ecx
mov cl, byte [eax]
mov eax, dword [ebp + 0xc]
movzx eax, al
movd xmm0, eax
mov eax, dword [ebp - 8]
cvtdq2ps xmm0, xmm0
movzx eax, al
mulss xmm0, xmm1
movss dword [ebp - 0x74], xmm0
movd xmm0, eax
mov eax, dword [ebp - 0x10]
cvtdq2ps xmm0, xmm0
movzx eax, al
mulss xmm0, xmm1
movss dword [ebp - 0x70], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, cl
mulss xmm0, xmm1
movss dword [ebp - 0x6c], xmm0
movd xmm0, eax
lea eax, [ebp - 0x74]
cvtdq2ps xmm0, xmm0
push eax
mulss xmm0, xmm1
movss dword [ebp - 0x68], xmm0
call fcn.1006c660
add esp, 4
push 0xc
push eax
push ecx
lea eax, [ebp - 0x4c]
mov dword [esp], 0x40800000
push eax
mov ecx, esi
call fcn.1007b120
movss xmm0, dword [ebp - 0x54]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x100cd3ff
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [0x101a6304]
push 1
push 0
push dword [ebp + 8]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [0x101abdd4]
movss dword [ebp - 0x20], xmm0
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.10076620
add esp, 0x14
push 1
call fcn.10075530
mov al, byte [ebp - 1]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 8