Function at 0x100f0f00
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x68
push esi
mov esi, ecx
push edi
mov dword [esp + 0x10], esi
mov eax, dword [esi]
mov ecx, dword [eax + 0x3f0]
mov eax, dword [eax + 0x400]
mov dword [esp + 0x24], ecx
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
mov dword [esp + 0x34], eax
cmp ecx, eax
je 0x100f1124
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x30], edx
mov eax, dword [edx]
cmp eax, 1
je 0x100f1113
cmp eax, 2
je 0x100f1113
mov ecx, dword [0x1063c38c]
push dword [edx + 8]
xor edx, edx
push dword [0x1063c5b8]
mov eax, dword [ecx]
push dword [eax + 0x30]
lea eax, [esp + 0x54]
push eax
call fcn.1002a9f0
mov ecx, dword [esi + 4]
mov edi, eax
push 0x1000
add esi, 8
lea eax, [esp + 0x58]
push esi
mov edx, dword [ecx]
push edi
push dword [0x1063c5b8]
push dword [edx + 0x40]
xor edx, edx
push eax
call fcn.1002a9f0
mov ecx, dword [esp + 0x10]
lea edx, [esi + 1]
mov dword [esp + 0x60], esi
mov byte [ecx + 0x1007], 0
mov al, byte [esi]
inc esi
test al, al
jne 0x100f0fa8
sub esi, edx
lea edx, [ecx + 0x1008]
mov ecx, edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x18], edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100f0fc4
sub ecx, esi
xor eax, eax
sar ecx, 1
mov dword [esp + 0x20], eax
lea ecx, [edi + ecx*2]
mov dword [esp + 0x28], ecx
cmp edi, ecx
je 0x100f10bb
lea eax, [edx + 0x20]
mov dword [esp + 0x2c], eax
mov esi, eax
movzx eax, word [edi]
mov ecx, eax
mov dword [esp + 0x14], ecx
mov cx, ax
shr cx, 8
movzx edx, cx
cmp eax, 0x61
jb 0x100f1019
cmp eax, 0x7a
ja 0x100f1019
add eax, 0xffffffe0
movzx eax, ax
jmp 0x100f1095
cmp eax, 0x7f
jbe 0x100f1095
movzx eax, al
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
xor ecx, edx
imul eax, ecx, 0x1000193
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.100dee00
mov eax, dword [eax + 4]
test eax, eax
je 0x100f1065
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0x100c]
je 0x100f1065
movzx eax, word [eax + 0xa]
jmp 0x100f1095
push dword [esp + 0x14]
call fcn.1018cb53
mov ecx, dword [esp + 0x1c]
add esp, 4
movzx eax, ax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.100deb00
movzx eax, word [esp + 0x1c]
mov word [esi], ax
add edi, 2
mov eax, dword [esp + 0x20]
add esi, 2
inc eax
mov dword [esp + 0x20], eax
cmp edi, dword [esp + 0x28]
jne 0x100f0ff1
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
jmp 0x100f10c5
mov ecx, dword [esp + 0x10]
add ecx, 0x1028
mov dword [esp + 0x68], ecx
xor esi, esi
mov ecx, dword [esp + 0x30]
sub esp, 8
mov word [edx + eax*2 + 0x20], si
mov edx, esp
mov dword [esp + 0x74], eax
mov esi, dword [ecx]
mov ecx, dword [ecx + 0x14]
mov dword [edx], ecx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f10e7
vmovdqu xmm0, xmmword [esp + 0x68]
sub esp, 0x10
sub ecx, edi
mov eax, esp
mov dword [edx + 4], ecx
mov ecx, dword [ebp + 8]
push esi
vmovdqu xmmword [eax], xmm0
call fcn.100f3d00
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
add ecx, 0x18
mov dword [esp + 0x24], ecx
cmp ecx, dword [esp + 0x34]
jne 0x100f0f35
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4