Function at 0x100b4920
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10170020
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x174
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
and edi, 0x3f
mov esi, dword [ebp + 0xc]
mov eax, edi
mov dword [ebp - 0x28], esi
xor eax, 0x811c9dc5
mov dword [ebp - 0x18], edi
imul ecx, eax, 0x1000193
mov eax, edi
shr eax, 8
mov dword [ebp - 0x14], edi
xor ecx, eax
mov eax, edi
imul ecx, ecx, 0x1000193
shr eax, 0x10
xor ecx, eax
mov eax, edi
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebx + 0x338]
push eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.1006f3c0
mov edi, dword [eax + 4]
test edi, edi
jne 0x100b49ad
mov edi, dword [ebx + 0x33c]
cmp edi, dword [ebx + 0x33c]
jne 0x100b4ae5
push 0x34
lea eax, [ebp - 0x74]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp + 8]
add esp, 0xc
test cl, 8
je 0x100b4a1a
test cl, 0x20
mov dword [ebp - 0x68], 1
mov eax, 0
mov word [ebp - 0x64], 0x101
setne al
mov dword [ebp - 0x54], 3
inc eax
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], 1
mov dword [ebp - 0x44], 3
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x4c], 1
mov eax, ecx
shr ecx, 2
and eax, 3
cmp eax, 1
jne 0x100b4a2d
and ecx, eax
je 0x100b4a44
jmp 0x100b4a30
and ecx, 1
mov eax, dword [eax*4 + 0x1019d664]
mov dword [ebp - 0x74], 1
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 4], 0
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0xd4]
push edx
lea edx, [ebp - 0x74]
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x54]
mov eax, dword [ebp - 0x18]
lea ecx, [ebx + 0x338]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.100b4de0
mov esi, dword [ebp - 0x14]
mov edi, dword [eax]
mov ecx, dword [edi + 0xc]
cmp ecx, esi
je 0x100b4aa8
test esi, esi
je 0x100b4a98
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [edi + 0xc]
mov dword [edi + 0xc], esi
test ecx, ecx
je 0x100b4aa5
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
lea ecx, [ebx + 0x338]
push dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.1006f3c0
mov edi, dword [eax + 4]
test edi, edi
jne 0x100b4ad1
mov edi, dword [ebx + 0x33c]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x100b4ae2
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov esi, dword [ebp + 0xc]
mov edx, dword [edi + 0xc]
cmp dword [ebx + 0x1c0], edx
jne 0x100b4af9
cmp byte [ebx + 0x1c4], 1
je 0x100b4b1b
mov eax, dword [ebx + 0xd8]
push 1
mov dword [ebx + 0x1c0], edx
mov byte [ebx + 0x1c4], 1
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x90]
mov esi, dword [ebp + 0xc]
mov edx, esi
and edx, 0x3fff
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x18], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
mov dword [ebp - 0x1c], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebx + 0x358]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.1006f3c0
mov edi, dword [eax + 4]
test edi, edi
jne 0x100b4b7f
mov edi, dword [ebx + 0x35c]
cmp edi, dword [ebx + 0x35c]
jne 0x100b4d62
push 0x108
lea eax, [ebp - 0x17c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, esi
add esp, 0xc
and eax, 1
mov dword [ebp - 0x174], eax
je 0x100b4c47
mov eax, esi
shr eax, 1
and eax, 3
lea ecx, [eax + eax*2]
mov eax, esi
shr eax, 3
and eax, 3
add ecx, eax
mov eax, esi
shr eax, 5
and eax, 3
shr esi, 7
and esi, 3
lea ecx, [ecx + ecx*2]
add ecx, eax
lea eax, [ecx + ecx*2]
mov ecx, ebx
add eax, esi
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10029e90
movzx eax, word [ebp - 0x1e]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x168], eax
movzx eax, word [ebp - 0x1c]
mov dword [ebp - 0x170], eax
movzx eax, word [ebp - 0x1a]
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x15c], 1
mov dword [ebp - 0x164], 2
mov dword [ebp - 0x160], 1
test ecx, 0x2000
je 0x100b4c4a
mov dword [ebp - 0x170], 2
mov dword [ebp - 0x16c], 2
jmp 0x100b4c4a
mov ecx, dword [ebp - 0x28]
mov al, byte [ebp - 0x158]
test ecx, 0x200
je 0x100b4c60
or al, 1
mov byte [ebp - 0x158], al
test ecx, 0x400
je 0x100b4c70
or al, 2
mov byte [ebp - 0x158], al
test ecx, 0x800
je 0x100b4c80
or al, 4
mov byte [ebp - 0x158], al
test ecx, 0x1000
je 0x100b4c90
or al, 8
mov byte [ebp - 0x158], al
mov dword [ebp - 0x14], 0
mov dword [ebp - 4], 1
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0xd4]
push edx
lea edx, [ebp - 0x17c]
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x18]
lea ecx, [ebx + 0x358]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.100b4de0
mov esi, dword [ebp - 0x14]
mov edi, dword [eax]
mov ecx, dword [edi + 0xc]
cmp ecx, esi
je 0x100b4cf7
test esi, esi
je 0x100b4ce7
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [edi + 0xc]
mov dword [edi + 0xc], esi
test ecx, ecx
je 0x100b4cf4
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x1c], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebx + 0x358]
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.1006f3c0
mov edi, dword [eax + 4]
test edi, edi
jne 0x100b4d51
mov edi, dword [ebx + 0x35c]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x100b4d62
mov eax, dword [esi]
push esi
call dword [eax + 8]
movzx eax, byte [ebp + 0x10]
mov edx, dword [edi + 0xc]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x101a4d40]
cmp dword [ebx + 0x1c8], edx
jne 0x100b4d91
movss xmm0, dword [ebx + 0x1cc]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100b4dcb
mov eax, dword [ebx + 0xd8]
lea esi, [ebp - 0x38]
push 0xffffffffffffffff
push esi
mov dword [ebx + 0x1c8], edx
movss dword [ebx + 0x1cc], xmm1
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0x30], xmm1
mov dword [ebp - 0x2c], 0
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x8c]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc