Function at 0x10020050
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 + 0x2c], 0
je 0x10020366
cmp dword [ebp + 0x30], 0
je 0x10020366
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x1c94]
mov edi, dword [edx + 0x20f0]
and edi, eax
je 0x100200d0
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 0x10020366
btr edi, esi
bsf esi, edi
jne 0x1002009a
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 0x10020366
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 0x10020178
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 0x10020243
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 0x10020208
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 0x10020213
mov edx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x44]
jmp 0x10020230
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x44]
jmp 0x10020243
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 0x10020240
mov eax, dword [eax + 4]
cmp ebx, dword [eax + 8]
jne 0x10020224
cmp eax, dword [ebp - 0x50]
mov ebx, dword [ebp + 0x14]
je 0x10020243
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x38], eax
jmp 0x10020243
mov ebx, dword [ebp + 0x14]
cmp edi, ebx
jbe 0x1002025d
mov eax, dword [edx + 0x30]
mov eax, dword [eax + ebx*4]
xor ecx, ecx
cmp eax, 0xffffffff
cmovne ecx, eax
mov ebx, dword [ebp + 0x2c]
jmp 0x100202fb
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 0x100202ea
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 0x100202ec
add ebx, ebx
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + ebx*4]
mov ebx, dword [ebp + 0x2c]
cmp edx, eax
je 0x100202f1
mov edx, dword [edx + 4]
cmp edi, dword [edx + 8]
jne 0x100202dc
jmp 0x100202f3
xor edx, edx
mov ebx, dword [ebp + 0x2c]
jmp 0x100202f3
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 [ebp - 0x28], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [esi + 8], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x18], eax
xor edx, edx
cmp byte [ebp + 0x3c], 0
setne dl
xor ebx, ebx
cmp byte [ebp + 0x38], 0
setne bl
xor eax, eax
cmp byte [ebp + 0x34], 0
mov dword [ebp - 0x14], 1
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 0x38