Function at 0x10007eb0
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100bfdc5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0xc0
xor eax, eax
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
call fcn.1000a880
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 4], 0
xor ecx, ecx
mov esi, dword [edi + 0x1ca4]
mov dword [ebp - 0x30], ecx
mov esi, dword [esi]
cmp dword [edi + 0x1ca8], ecx
jbe 0x10008000
mov edx, dword [esi + 0x10]
mov edi, eax
mov dword [ebp - 0x34], edx
mov ecx, dword [esi + 0x14]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x10007f5d
nop dword [eax]
cmp dword [ecx + 0x10], edx
jae 0x10007f4a
mov ecx, dword [ecx + 8]
jmp 0x10007f4e
mov edi, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x10007f40
cmp edi, eax
je 0x10007f5d
cmp edx, dword [edi + 0x10]
jae 0x10007f86
lea eax, [ebp - 0x34]
push ecx
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
push ecx
lea ecx, [ebp - 0x58]
call fcn.1000c010
push eax
add eax, 0x10
lea ecx, [ebp - 0x58]
push eax
push edi
lea eax, [ebp - 0x48]
push eax
call fcn.1000c040
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
mov dword [edi + 0x14], eax
inc ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x30], ecx
mov edx, dword [eax + 0x1ca8]
mov dword [ebp - 0x24], edx
cmp ecx, edx
jae 0x10007ff1
cmp byte [esi + 0x19], 0
jne 0x10007ff1
mov edi, dword [esi + 8]
cmp byte [edi + 0x19], 0
je 0x10007fd4
mov ecx, dword [esi + 4]
cmp byte [ecx + 0x19], 0
jne 0x10007fd0
nop dword [eax + eax]
cmp esi, dword [ecx + 8]
jne 0x10007fd0
mov esi, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0x19], 0
je 0x10007fc0
mov esi, ecx
jmp 0x10007ff1
mov edx, dword [edi]
cmp byte [edx + 0x19], 0
jne 0x10007fec
nop dword [eax]
mov eax, dword [edx]
mov edi, edx
mov edx, eax
cmp byte [eax + 0x19], 0
je 0x10007fe0
mov edx, dword [ebp - 0x24]
mov esi, edi
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x30], edx
jb 0x10007f22
mov dword [ebp - 0x44], eax
xor esi, esi
xor edx, edx
xor edi, edi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x68], edx
mov byte [ebp - 4], 1
mov ecx, dword [eax]
mov dword [ebp - 0x30], ecx
cmp ecx, eax
je 0x10008070
mov esi, dword [ebp - 0x44]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
cmp edx, edi
je 0x10008042
mov dword [edi], eax
mov dword [edi + 4], ecx
add edi, 8
mov dword [ebp - 0x6c], edi
jmp 0x10008058
lea eax, [ebp - 0x2c]
push eax
push edi
lea ecx, [ebp - 0x70]
call fcn.1000af30
mov eax, dword [ebp - 0x68]
mov edi, dword [ebp - 0x6c]
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0x30]
call fcn.1000a2d0
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x50]
cmp ecx, esi
jne 0x10008025
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x4c], esi
push dword [ebp - 0x28]
mov eax, edi
mov edx, edi
sub eax, esi
mov ecx, esi
sar eax, 3
push eax
call fcn.1000b5e0
xor eax, eax
add esp, 8
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x5c], eax
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x40]
movzx eax, byte [edx + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edx + 9]
xor ecx, eax
movzx eax, byte [edx + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 0xb]
mov edx, dword [0x100feacc]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov dword [ebp - 0x24], eax
and eax, dword [0x100fead8]
mov edi, dword [edx + eax*8]
add eax, eax
mov esi, dword [edx + eax*4]
lea ecx, [eax*4 + 4]
mov dword [ebp - 0x34], ecx
mov ecx, dword [0x100feac4]
nop dword [eax]
cmp esi, ecx
jne 0x10008108
mov eax, ecx
jmp 0x10008110
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + edx]
mov eax, dword [eax]
cmp edi, eax
je 0x10008129
mov ecx, dword [ebp - 0x40]
mov eax, dword [edi + 8]
cmp eax, dword [ecx + 8]
mov ecx, dword [0x100feac4]
je 0x1000812b
mov edi, dword [edi]
jmp 0x10008100
mov edi, ecx
mov eax, dword [ebp - 0x24]
and eax, dword [0x100fea98]
mov edx, dword [0x100fea8c]
mov esi, dword [edx + eax*8]
add eax, eax
lea ecx, [eax*4 + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x34], ecx
mov ecx, dword [0x100fea84]
mov dword [ebp - 0x24], eax
cmp eax, ecx
jne 0x1000815d
mov eax, ecx
jmp 0x10008165
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + edx]
mov eax, dword [eax]
cmp esi, eax
je 0x10008181
mov ecx, dword [ebp - 0x40]
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 8]
mov ecx, dword [0x100fea84]
je 0x10008183
mov esi, dword [esi]
mov eax, dword [ebp - 0x24]
jmp 0x10008155
mov esi, ecx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x34], eax
cmp eax, dword [ebp - 0x6c]
je 0x100085ab
mov ecx, dword [eax + 4]
mov edx, 0x485d90
push dword [eax]
mov dword [ebp - 0x28], ecx
call edx
add esp, 4
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1000856c
mov edx, dword [eax]
mov ecx, eax
mov edx, dword [edx + 0x1c]
call edx
test al, al
je 0x1000856c
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x48], 0
cmp edi, dword [0x100feac4]
je 0x10008286
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
movzx ecx, al
xor ecx, 0x811c9dc5
mov dword [ebp - 0x3c], eax
imul edx, ecx, 0x1000193
mov ecx, eax
sar ecx, 8
movzx ecx, cl
xor edx, ecx
mov ecx, eax
imul edx, edx, 0x1000193
sar ecx, 0x10
movzx eax, cl
xor edx, eax
mov eax, dword [ebp - 0x3c]
imul ecx, edx, 0x1000193
sar eax, 0x18
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [edi + 0x24]
and ecx, eax
mov eax, dword [edi + 0x18]
mov eax, dword [eax + ecx*8]
add ecx, ecx
lea edx, [ecx*4 + 4]
mov dword [ebp - 0x20], edx
mov edx, dword [edi + 0x18]
mov ecx, dword [edx + ecx*4]
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x14], ecx
nop word [eax + eax]
cmp ecx, edx
jne 0x10008258
mov ecx, edx
jmp 0x10008266
mov edx, dword [ebp - 0x20]
mov ecx, dword [edi + 0x18]
mov ecx, dword [edx + ecx]
mov edx, dword [edi + 0x10]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x10008279
mov ecx, dword [ebp - 0x3c]
cmp dword [eax + 8], ecx
je 0x1000827b
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
jmp 0x10008250
mov eax, edx
cmp eax, dword [edi + 0x10]
je 0x10008286
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x24], eax
cmp esi, dword [0x100fea84]
je 0x10008338
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, eax
mov dword [ebp - 0x3c], eax
sar ecx, 8
movzx edx, cl
movzx ecx, al
xor ecx, 0x811c9dc5
imul ecx, ecx, 0x1000193
xor edx, ecx
mov ecx, eax
imul edx, edx, 0x1000193
sar ecx, 0x10
movzx eax, cl
xor edx, eax
mov eax, dword [ebp - 0x3c]
imul ecx, edx, 0x1000193
sar eax, 0x18
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [esi + 0x24]
and ecx, eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax + ecx*8]
add ecx, ecx
lea edx, [ecx*4 + 4]
mov dword [ebp - 0x14], edx
mov edx, dword [esi + 0x18]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x20], ecx
cmp ecx, edx
jne 0x1000830a
mov ecx, edx
jmp 0x10008318
mov edx, dword [ebp - 0x14]
mov ecx, dword [esi + 0x18]
mov ecx, dword [edx + ecx]
mov edx, dword [esi + 0x10]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x1000832b
mov ecx, dword [ebp - 0x3c]
cmp dword [eax + 8], ecx
je 0x1000832d
mov eax, dword [eax]
mov ecx, dword [ebp - 0x20]
jmp 0x10008302
mov eax, edx
cmp eax, dword [esi + 0x10]
je 0x10008338
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0xcc]
mov eax, dword [eax + 0x34]
add eax, 0x30
push eax
call fcn.1000a160
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 4], 3
mov eax, dword [ecx]
mov eax, dword [eax + 0x11c]
call eax
cmp al, 4
jae 0x100083f3
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x34]
add eax, 0x4c
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x78], 0
or ecx, 1
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov eax, dword [eax + 0x10]
inc eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x88]
push eax
call fcn.1000b440
push 0x100da894
lea ecx, [ebp - 0x88]
call fcn.10009f50
push dword [ebp - 0x20]
lea ecx, [ebp - 0x88]
call fcn.10009fc0
lea ecx, [ebp - 0xcc]
call fcn.1000a030
movups xmm0, xmmword [ebp - 0x88]
and dword [ebp - 0x18], 0xfffffffe
movups xmmword [ebp - 0xcc], xmm0
movq xmm0, qword [ebp - 0x78]
movq qword [ebp - 0xbc], xmm0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xcc]
push eax
call fcn.1000a160
or dword [ebp - 0x18], 2
movups xmm0, xmmword [ebp - 0xa8]
mov cx, word [ebp - 0xb4]
movq xmm1, qword [ebp - 0x98]
mov dx, word [ebp - 0xb0]
mov eax, dword [ebp - 0xac]
mov word [ebp - 0x90], cx
mov word [ebp - 0x8e], dx
mov dword [ebp - 0x8c], eax
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x98], 0
movq qword [ebp - 0x78], xmm1
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x44], eax
je 0x100084c9
mov word [eax], cx
mov ecx, dword [ebp - 0xac]
mov word [eax + 2], dx
mov edx, 0xf
mov dword [eax + 4], ecx
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
movups xmmword [eax + 8], xmm0
mov byte [ebp - 0x88], 0
movq qword [eax + 0x18], xmm1
add eax, 0x20
mov dword [ebp - 0x60], eax
jmp 0x100084e8
lea ecx, [ebp - 0x90]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.1000ad90
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x10008520
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10008516
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100087c0
push edx
push ecx
call fcn.1006cd71
add esp, 8
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x30]
sar eax, 5
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0xb8]
cmp eax, 8
je 0x10008577
cmp edx, 0x10
jb 0x1000856c
mov ecx, dword [ebp - 0xcc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10008562
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100087c0
push edx
push ecx
call fcn.1006cd71
add esp, 8
mov eax, dword [ebp - 0x34]
add eax, 8
jmp 0x10008186
cmp edx, 0x10
jb 0x100085ab
mov ecx, dword [ebp - 0xcc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100085a1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100087c0
push edx
push ecx
call fcn.1006cd71
add esp, 8
mov eax, dword [ebp - 0x60]
mov ecx, eax
mov esi, dword [ebp - 0x30]
sub ecx, esi
sar ecx, 5
mov dword [ebp - 0x38], ecx
test ecx, ecx
je 0x10008735
push 0x30cf
mov eax, 0x430a00
call eax
mov dword [ebp - 0x18], eax
add esp, 4
lea eax, [ebp - 0x1c]
mov byte [ebp - 0x1c], 0x96
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], 0x404090
mov edx, dword [ebp - 0x28]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x18]
call dword [ebp - 0x14]
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x20], 0x404090
mov eax, dword [edi + 8]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
push edx
mov eax, 4
mov ecx, dword [ebp - 0x18]
call dword [ebp - 0x20]
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x20], 0x404090
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
push edx
mov eax, 4
mov ecx, dword [ebp - 0x18]
call dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov byte [ebp - 0x1c], al
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], 0x404090
mov edx, dword [ebp - 0x28]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x18]
call dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov dword [ebp - 0x34], ecx
test eax, eax
je 0x1000871f
add esi, 8
mov dword [ebp - 0x24], esi
cmp eax, ecx
jbe 0x100087ca
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x10008689
mov eax, dword [esi]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], 0x426040
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
call dword [ebp - 0x14]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x20], 0x404090
mov eax, dword [esi - 4]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
push edx
mov eax, 4
mov ecx, dword [ebp - 0x18]
call dword [ebp - 0x20]
movzx eax, word [esi - 6]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], 0x404090
mov edx, dword [ebp - 0x14]
push edx
mov eax, 2
mov ecx, dword [ebp - 0x18]
call dword [ebp - 0x20]
movzx eax, word [esi - 8]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], 0x404090
mov edx, dword [ebp - 0x14]
push edx
mov eax, 2
mov ecx, dword [ebp - 0x18]
call dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
add esi, 0x20
mov eax, dword [ebp - 0x38]
inc ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], esi
cmp eax, ecx
ja 0x1000867f
mov dword [ebp - 0x28], 0x484d90
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x18]
call dword [ebp - 0x28]
mov eax, dword [ebp - 0x60]
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x10008772
push ecx
mov edx, eax
mov ecx, esi
call fcn.1000b2b0
mov ecx, dword [ebp - 0x44]
add esp, 4
sub ecx, esi
mov eax, esi
and ecx, 0xffffffe0
cmp ecx, 0x1000
jb 0x10008768
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100087c5
push ecx
push esi
call fcn.1006cd71
add esp, 8
mov edx, dword [ebp - 0x4c]
test edx, edx
je 0x100087a5
mov ecx, dword [ebp - 0x50]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x1000879b
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100087cf
push ecx
push edx
call fcn.1006cd71
add esp, 8
lea ecx, [ebp - 0x58]
call fcn.100087e0
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10087f1c
call fcn.10087f1c
call fcn.1000a2c0
call fcn.10087f1c
int3