Function at 0x100fb910
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10147e7b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x78
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], 0
cmp dword [eax + 4], 0
jle 0x100fbc60
xor ecx, ecx
push esi
mov dword [ebp - 0x1c], ecx
push edi
nop dword [eax]
mov edi, dword [eax]
add edi, ecx
cmp dword [edi + 0x28], 0
je 0x100fbac2
cmp dword [edi + 0x34], 0
jle 0x100fbac2
xorps xmm0, xmm0
mov dword [ebp - 0x74], 1
movups xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x70], 0xf
mov word [ebp - 0x84], 0x30
mov dword [ebp - 4], 0
mov edx, dword [edi]
mov ecx, edx
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100fb9b0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x6c]
call fcn.10003450
mov byte [ebp - 4], 1
lea edx, [ebp - 0x6c]
mov ecx, 1
mov dword [ebp - 0x44], 0
cmp dword [ebp - 0x5c], ecx
lea eax, [ebp - 0x54]
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
cmovb ecx, dword [ebp - 0x5c]
cmp dword [ebp - 0x58], 0xf
movups xmmword [ebp - 0x54], xmm0
jbe 0x100fb9f7
mov edx, dword [ebp - 0x6c]
push ecx
push edx
mov ecx, eax
call fcn.10003450
cmp dword [ebp - 0x40], 0xf
lea eax, [ebp - 0x84]
mov esi, dword [ebp - 0x54]
lea ecx, [ebp - 0x54]
mov edx, dword [ebp - 0x44]
cmova ecx, esi
push 1
push eax
call fcn.10012200
mov byte [ebp - 0xd], al
add esp, 8
mov eax, dword [ebp - 0x40]
cmp eax, 0xf
jbe 0x100fba57
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x100fba4d
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100fbc58
push ecx
push esi
call fcn.1006ccbf
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x58]
cmp ecx, 0xf
jbe 0x100fba8f
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fba85
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100fbc58
push ecx
push edx
call fcn.1006ccbf
add esp, 8
cmp byte [ebp - 0xd], 0
mov dword [ebp - 4], 0xffffffff
jne 0x100fbc39
mov eax, dword [edi + 0x2c]
mov ecx, 0x101ef380
add eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x14]
push eax
push dword [ebp + 0x14]
push 1
push dword [edi + 0x28]
push dword [ebp + 8]
call fcn.100fb910
add esp, 0x14
mov edx, dword [edi]
xorps xmm0, xmm0
mov ecx, edx
mov dword [ebp - 0x2c], 0
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x28], 0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100fbae0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x3c]
call fcn.10003450
mov dword [ebp - 4], 2
lea eax, [ebp - 0x3c]
mov ecx, 1
mov dword [ebp - 0x5c], 0
cmp dword [ebp - 0x2c], ecx
xorps xmm0, xmm0
movups xmmword [ebp - 0x6c], xmm0
cmovb ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x28], 0xf
push ecx
cmova eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x6c]
push eax
mov dword [ebp - 0x58], 0
call fcn.10003450
cmp dword [ebp - 0x58], 0xf
lea ecx, [ebp - 0x6c]
mov esi, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x5c]
cmova ecx, esi
push 1
push 0x10173690
call fcn.10012200
mov byte [ebp - 0xd], al
add esp, 8
mov eax, dword [ebp - 0x58]
cmp eax, 0xf
jbe 0x100fbb85
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x100fbb7b
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100fbc58
push ecx
push esi
call fcn.1006ccbf
add esp, 8
cmp byte [ebp - 0xd], 0
je 0x100fbc02
mov ecx, dword [edi]
mov al, byte [ecx]
test al, al
jne 0x100fbb9a
mov eax, 0x811c9dc5
jmp 0x100fbbae
movsx eax, al
inc ecx
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
call fcn.100074c0
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x14]
mov esi, dword [edi + 0x2c]
add esi, dword [ebp + 0x18]
push eax
mov dword [ebp - 0x24], esi
call fcn.10037600
lea ecx, [ebp - 0x20]
push ecx
mov ecx, eax
call fcn.100375e0
push dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
mov dword [eax], esi
mov esi, dword [edi]
call fcn.100375c0
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.100374b0
mov ecx, esi
lea edi, [ecx + 1]
nop dword [eax]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x100fbbf0
sub ecx, edi
push ecx
push esi
mov ecx, eax
call fcn.100032b0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x100fbc39
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fbc2f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100fbc58
push ecx
push edx
call fcn.1006ccbf
add esp, 8
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp + 0xc]
inc eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], ecx
cmp eax, dword [edx + 4]
jge 0x100fbc5e
mov eax, edx
jmp 0x100fb950
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
pop edi
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret