Function at 0x10019250
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov edx, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
push edi
xor eax, ecx
mov dword [ebp - 4], ecx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [esi + 0x20]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.1001c9e0
mov ebx, dword [eax + 4]
test ebx, ebx
jne 0x100192b7
mov ebx, dword [esi + 0x24]
cmp ebx, dword [esi + 0x24]
je 0x10019312
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x10]
push esi
push eax
lea ecx, [ebx + 0xc]
call fcn.1001df10
mov edi, dword [ebp - 8]
cmp byte [edi + 0xd], 0
jne 0x10019300
cmp dword [edi + 0x24], 0x10
lea eax, [edi + 0x10]
mov ecx, dword [eax + 0x10]
jb 0x100192e3
mov eax, dword [eax]
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x100192ee
mov esi, dword [esi]
push ecx
push eax
mov ecx, esi
call fcn.1001e470
add esp, 8
test eax, eax
je 0x10019303
jns 0x10019303
mov edi, dword [ebx + 0xc]
cmp edi, dword [ebx + 0xc]
pop edi
pop esi
setne al
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 8]
movzx eax, ah
xor eax, dword [ebp - 4]
imul ecx, eax, 0x1000193
movzx eax, byte [ebp + 0xa]
xor ecx, eax
movzx eax, byte [ebp + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, esi
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.1001c9e0
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x1001944a
cmp ebx, dword [esi + 4]
je 0x1001944a
lea eax, [ebp + 8]
add ebx, 0xc
push eax
lea ecx, [esi + 0x20]
call fcn.1001b040
mov edi, eax
cmp edi, ebx
je 0x100193f7
mov esi, dword [edi]
mov ecx, edi
push dword [esi + 4]
push edi
call fcn.1001cd00
mov dword [esi + 4], esi
mov ecx, edi
mov dword [esi], esi
mov dword [esi + 8], esi
push dword [edi]
mov dword [edi + 4], 0
mov eax, dword [ebx]
push dword [eax + 4]
call fcn.1001e310
mov ecx, dword [edi]
mov dword [ecx + 4], eax
mov esi, dword [edi]
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov edx, dword [esi + 4]
cmp byte [edx + 0xd], 0
jne 0x100193f0
mov ecx, dword [edx]
cmp byte [ecx + 0xd], 0
jne 0x100193cc
nop
mov eax, dword [ecx]
mov edx, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x100193c0
mov dword [esi], edx
mov edx, dword [edi]
mov ecx, dword [edx + 4]
mov eax, dword [ecx + 8]
cmp byte [eax + 0xd], 0
jne 0x100193eb
nop dword [eax]
mov ecx, eax
mov eax, dword [ecx + 8]
cmp byte [eax + 0xd], 0
je 0x100193e0
mov dword [edx + 8], ecx
jmp 0x100193f7
mov dword [esi], esi
mov eax, dword [edi]
mov dword [eax + 8], eax
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x10]
push esi
push eax
mov ecx, ebx
call fcn.1001df10
mov edi, dword [ebp - 8]
cmp byte [edi + 0xd], 0
jne 0x1001943a
cmp dword [edi + 0x24], 0x10
lea eax, [edi + 0x10]
mov ecx, dword [eax + 0x10]
jb 0x1001941d
mov eax, dword [eax]
cmp dword [esi + 0x14], 0x10
mov edx, dword [esi + 0x10]
jb 0x10019428
mov esi, dword [esi]
push ecx
push eax
mov ecx, esi
call fcn.1001e470
add esp, 8
test eax, eax
je 0x1001943c
jns 0x1001943c
mov edi, dword [ebx]
cmp edi, dword [ebx]
pop edi
pop esi
setne al
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