Function at 0x10199d30
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101d4d0d
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push ebx
push esi
push edi
mov eax, dword [0x10216080]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
movzx eax, dl
xor eax, 0x811c9dc5
mov esi, dword [ebp + 0x14]
imul ecx, eax, 0x1000193
mov eax, edx
sar eax, 8
movzx eax, al
mov dword [ebp - 0x18], esi
xor ecx, eax
mov eax, edx
sar eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
sar eax, 0x18
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebx + 0x20]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.10114f20
mov edx, dword [eax + 4]
test edx, edx
jne 0x10199dc8
mov edx, dword [ebx + 0x24]
cmp edx, dword [ebx + 0x24]
jne 0x10199ee0
cmp dword [ebx + 0x14], 7
mov eax, ebx
jbe 0x10199ddb
mov eax, dword [ebx]
push dword [ebx + 0x1c]
lea ecx, [ebp - 0x60]
push dword [ebx + 0x18]
push dword [ebp + 8]
push eax
call fcn.10197350
lea eax, [ebp + 8]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebx + 0x20]
call fcn.10199f40
mov edi, eax
lea eax, [ebp - 0x60]
cmp edi, eax
je 0x10199e1e
cmp dword [ebp - 0x4c], 7
mov ecx, eax
push dword [ebp - 0x50]
cmova ecx, dword [ebp - 0x60]
push ecx
mov ecx, edi
call fcn.1013e7f0
mov eax, dword [ebp - 0x48]
lea ecx, [edi + 0x38]
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x44]
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 0x40]
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x38]
mov dword [edi + 0x28], eax
mov eax, dword [ebp - 0x34]
mov dword [edi + 0x2c], eax
mov eax, dword [ebp - 0x30]
mov dword [edi + 0x30], eax
lea eax, [ebp - 0x28]
movss xmm0, dword [ebp - 0x2c]
movss dword [edi + 0x34], xmm0
cmp ecx, eax
je 0x10199e6e
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
sub eax, edx
sar eax, 4
push eax
push edx
call fcn.1019a8e0
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x10199e96
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101d8258]
call esi
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x28]
call fcn.10113840
lea ecx, [ebp - 0x60]
call fcn.1010f990
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
push dword [ebx + 0x40]
call fcn.10197650
movzx ecx, byte [esi + 3]
movzx eax, byte [esi]
push dword [ebp + 0x1c]
shl ecx, 8
push dword [ebp + 0x18]
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
push ecx
mov ecx, edi
jmp 0x10199f08
movzx ecx, byte [esi + 3]
movzx eax, byte [esi]
push dword [ebp + 0x1c]
shl ecx, 8
push dword [ebp + 0x18]
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
push ecx
lea ecx, [edx + 0xc]
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x10]
movd xmm2, dword [eax + 4]
movd xmm1, dword [eax]
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
call fcn.10197c90
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18