Function at 0x10020380
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x48
mov dword [ebp - 0x40], ecx
mov eax, dword [0x1038000c]
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0x34], 0
je 0x100206a3
cmp dword [ebp + 0x38], 0
je 0x100206a3
cmp dword [ebp + 0x3c], 0
je 0x100206a3
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x1c94]
mov edi, dword [edx + 0x20f0]
and edi, eax
je 0x1002040a
lea eax, [edx + 8]
mov dword [ebp - 0x38], eax
tzcnt esi, edi
mov dword [ebp - 0x3c], edi
mov ebx, dword [esi*4 + 0x102c3404]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, dword [ebp - 0x38]
push 0xf
push dword [ebp - 0x40]
call ebx
cmp eax, 1
je 0x100206a3
btr edi, esi
bsf esi, edi
jne 0x100203d4
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x1c94]
mov edi, dword [ebp - 0x3c]
lea ecx, [edx + 0x20e8]
mov dword [ebp - 0x38], ecx
not edi
and edi, eax
and edi, 0x1fff
mov dword [edx + 0x1c94], edi
mov eax, dword [edx + 0x20ec]
mov ecx, dword [edx + 0x1c88]
and ecx, dword [edx + 0x20e8]
lea esi, [ebp - 0x28]
mov dword [esi], ecx
and eax, dword [edx + 0x1c8c]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x40]
mov edi, dword [eax + 0x1d14]
mov eax, dword [edi]
mov ebx, dword [eax + 0xd4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
mov edi, dword [ebp - 0x40]
push 0xf
push dword [ebp - 0x38]
push esi
push edi
call ebx
cmp eax, 1
je 0x100206a3
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
not eax
and dword [edi + 0x1c88], eax
not ecx
and dword [edi + 0x1c8c], ecx
mov esi, dword [ebp + 8]
mov edx, dword [edi + 0x136c]
mov edi, dword [edx + 0x2c]
cmp edi, esi
jbe 0x100204b2
mov eax, dword [edx + 0x30]
mov eax, dword [eax + esi*4]
xor ecx, ecx
cmp eax, 0xffffffff
cmovne ecx, eax
mov dword [ebp - 0x38], ecx
jmp 0x1002057d
mov dword [ebp - 0x44], edi
mov eax, esi
shr eax, 0x18
mov dword [ebp - 0x38], eax
mov edi, esi
shr edi, 0x10
mov ebx, esi
shr ebx, 8
mov ecx, edx
mov edx, esi
mov eax, 0xff
and edx, eax
and ebx, eax
and edi, eax
mov dword [ebp - 0x54], edx
xor edx, 0x811c9dc5
imul edx, edx, 0x1000193
xor edx, ebx
imul edx, edx, 0x1000193
xor edx, edi
imul edx, edx, 0x1000193
xor edx, dword [ebp - 0x38]
imul eax, edx, 0x1000193
and eax, dword [ecx + 0x4c]
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ecx + 0x40]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
mov eax, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x50], edx
cmp eax, edx
je 0x10020542
and esi, 0xff000000
shl edi, 0x10
or edi, esi
shl ebx, 8
or ebx, edi
add ebx, dword [ebp - 0x54]
cmp ebx, dword [eax + 8]
jne 0x1002054d
mov edx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x44]
jmp 0x1002056a
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x44]
jmp 0x1002057d
mov ecx, dword [ebp - 0x48]
add ecx, ecx
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x44]
cmp eax, ecx
je 0x1002057a
mov eax, dword [eax + 4]
cmp ebx, dword [eax + 8]
jne 0x1002055e
cmp eax, dword [ebp - 0x50]
mov ebx, dword [ebp + 0x14]
je 0x1002057d
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x38], eax
jmp 0x1002057d
mov ebx, dword [ebp + 0x14]
cmp edi, ebx
jbe 0x10020597
mov eax, dword [edx + 0x30]
mov eax, dword [eax + ebx*4]
xor ecx, ecx
cmp eax, 0xffffffff
cmovne ecx, eax
mov ebx, dword [ebp + 0x34]
jmp 0x10020635
mov eax, ebx
shr eax, 0x10
mov edi, ebx
shr edi, 8
mov ecx, edx
mov edx, 0xff
mov esi, ebx
and esi, edx
and edi, edx
and eax, edx
mov edx, ebx
shr edx, 0x18
mov dword [ebp - 0x3c], esi
xor esi, 0x811c9dc5
imul esi, esi, 0x1000193
xor esi, edi
imul esi, esi, 0x1000193
xor esi, eax
imul esi, esi, 0x1000193
xor esi, edx
imul ebx, esi, 0x1000193
and ebx, dword [ecx + 0x4c]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x40]
mov edx, dword [ecx + ebx*8 + 4]
cmp edx, esi
je 0x10020624
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp + 0x14]
and ecx, 0xff000000
shl eax, 0x10
or eax, ecx
shl edi, 8
or edi, eax
add edi, dword [ebp - 0x3c]
cmp edi, dword [edx + 8]
je 0x10020626
add ebx, ebx
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + ebx*4]
mov ebx, dword [ebp + 0x34]
cmp edx, eax
je 0x1002062b
mov edx, dword [edx + 4]
cmp edi, dword [edx + 8]
jne 0x10020616
jmp 0x1002062d
xor edx, edx
mov ebx, dword [ebp + 0x34]
jmp 0x1002062d
xor edx, edx
test edx, edx
cmovne esi, edx
mov ecx, dword [esi + 0xc]
lea esi, [ebp - 0x34]
mov eax, dword [ebp + 0x1c]
mov dword [esi], eax
mov eax, dword [ebp + 0x20]
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x24]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x3c]
mov dword [ebp - 0x14], eax
xor edx, edx
cmp byte [ebp + 0x48], 0
setne dl
xor ebx, ebx
cmp byte [ebp + 0x44], 0
setne bl
xor eax, eax
cmp byte [ebp + 0x40], 0
setne al
movzx edi, byte [ebp + 0x10]
push dword [ebp - 0x38]
push edx
push ebx
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 0xc]
push esi
push dword [ebp + 0x18]
push edi
push dword [ebp - 0x40]
call fcn.1008f930
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10212780
add esp, 0x48
pop esi
pop edi
pop ebx
pop ebp
ret 0x44