Function at 0x100646b0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100dbccc
mov eax, dword fs:[0]
push eax
sub esp, 0x6d4
mov eax, dword [0x10110f74]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x10
mov dword [ebp - 0x18], 0xf0fe81
mov word [ebp - 0x14], 0
mov dword [ebp - 0x20], 0xf8fe81
mov word [ebp - 0x1c], 0
mov dword [ebp - 0x28], 0xfcfe81
mov word [ebp - 0x24], 0
mov dword [ebp - 0x30], 0xfefe81
mov word [ebp - 0x2c], 0
mov dword [ebp - 0x38], 0x80fe81
mov word [ebp - 0x34], 0
mov dword [ebp - 0x40], 0xe0fe81
mov word [ebp - 0x3c], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0
call fcn.100ac57f
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
push eax
push 0x10
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 1
mov dword [ebp - 0xa8], 7
mov dword [ebp - 0xa4], 8
mov dword [ebp - 0xc0], 0x3f800000
call fcn.100107a0
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 2
mov dword [ebp - 0x70], eax
lea edx, [ebp - 0x70]
lea eax, [ebp - 0x20]
mov dword [ebp - 0x6c], 6
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x28]
mov dword [ebp - 0x64], 6
mov dword [ebp - 0x60], eax
sub ecx, edx
lea eax, [ebp - 0x30]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x58], eax
xor edx, edx
lea eax, [ebp - 0x38]
sar ecx, 3
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x5c], 6
mov dword [ebp - 0x54], 6
mov dword [ebp - 0x4c], 6
mov dword [ebp - 0x44], 6
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x88], edx
test ecx, ecx
je 0x100648d7
cmp ecx, 0x1fffffff
ja 0x10064c1e
lea edi, [ecx*8]
cmp edi, 0x1000
jb 0x10064888
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x10064c23
push eax
call fcn.100ac57f
add esp, 4
test eax, eax
je 0x10064c28
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x1006489b
test edi, edi
je 0x10064899
push edi
call fcn.100ac57f
add esp, 4
mov esi, eax
jmp 0x1006489b
xor esi, esi
push dword [ebp - 0x80]
lea eax, [esi + edi]
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x70]
push eax
push esi
mov dword [ebp - 0xa0], esi
call fcn.100aec70
mov eax, dword [ebp - 0x74]
add esp, 0xc
mov dword [ebp - 0x84], esi
lea edx, [esi + eax*8]
mov eax, esi
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x9c], edx
mov byte [ebp - 4], 3
cmp eax, edx
je 0x10064a84
nop dword [eax]
nop word [eax + eax]
push dword [0x10c8aea0]
push dword [0x10c8aa8c]
push 0x10
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x94]
push eax
call fcn.10080a80
add esp, 0x18
mov edi, dword [ebp - 0x90]
mov esi, dword [ebp - 0x94]
mov byte [ebp - 4], 4
cmp esi, edi
je 0x10064a09
nop word [eax + eax]
mov eax, dword [esi + 4]
push 0x800
push dword [esi]
mov dword [ebp - 0x74], eax
call fcn.10080750
mov edx, eax
add esp, 8
mov ecx, edx
mov dword [ebp - 0x80], edx
or ecx, 0
je 0x100649f8
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x74], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
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, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.10010020
mov ecx, dword [ebp - 0xbc]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
mov eax, dword [ebp - 0x80]
cmp ecx, dword [ebp - 0xbc]
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x74]
push eax
jne 0x100649e7
lea eax, [ebp - 0xd0]
push eax
call fcn.10010090
mov eax, dword [eax]
mov dword [eax + 0xc], 1
jmp 0x100649f8
lea eax, [ebp - 0xd8]
push eax
call fcn.10010090
mov eax, dword [eax]
inc dword [eax + 0xc]
add esi, 8
cmp esi, edi
jne 0x10064930
mov esi, dword [ebp - 0x94]
mov byte [ebp - 4], 3
test esi, esi
je 0x10064a69
mov eax, dword [ebp - 0x8c]
sub eax, esi
sar eax, 3
lea ecx, [eax*8]
mov eax, esi
cmp ecx, 0x1000
jb 0x10064a41
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10064c28
push ecx
push esi
call fcn.100ac5af
add esp, 8
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x84]
add eax, 8
mov dword [ebp - 0x84], eax
cmp eax, dword [ebp - 0x88]
jne 0x100648f0
mov ecx, dword [ebp - 0x7c]
mov byte [ebp - 4], 2
test ecx, ecx
je 0x10064ac2
mov edx, dword [ebp - 0x98]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffff8
cmp edx, 0x1000
jb 0x10064ab8
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10064c28
push edx
push ecx
call fcn.100ac5af
add esp, 8
mov ecx, dword [ebp - 0xbc]
xor esi, esi
xor edi, edi
mov eax, dword [ecx]
cmp eax, ecx
je 0x10064bf3
mov edx, dword [eax + 0xc]
cmp edx, edi
mov ecx, dword [eax + 8]
mov eax, dword [eax]
cmovle ecx, esi
cmovle edx, edi
mov esi, ecx
mov edi, edx
cmp eax, dword [ebp - 0xbc]
jne 0x10064ad6
mov dword [ebp - 0x74], esi
test esi, esi
je 0x10064bf3
push 0xf0
xorps xmm0, xmm0
lea eax, [ebp - 0x6c4]
push 0
push eax
movlpd qword [ebp - 0x6d4], xmm0
movlpd qword [ebp - 0x6cc], xmm0
call fcn.100af1f0
push 0x78
lea eax, [ebp - 0x5d4]
push 0
push eax
call fcn.100af1f0
push 0x5c
lea eax, [ebp - 0x55c]
push 0
push eax
call fcn.100af1f0
push 0x34
lea eax, [ebp - 0x4f8]
mov dword [ebp - 0x500], 0x6e6b6e75
push 0
push eax
mov dword [ebp - 0x4fc], 0x6e776f
call fcn.100af1f0
mov eax, dword [0x100e3e30]
movq xmm0, qword [str.HB0_0]
push 0x3dc
mov dword [ebp - 0x4bc], eax
lea eax, [ebp - 0x4b8]
push 0
push eax
movq qword [ebp - 0x4c4], xmm0
call fcn.100af1f0
add esp, 0x3c
mov dword [ebp - 0x6e0], esi
mov ecx, 0x182
mov dword [ebp - 0x6dc], 0
lea esi, [ebp - 0x6e0]
mov dword [ebp - 0x6d8], 4
mov dword [ebp - 0x55c], 0x101
push 0x8000
push 0x100f0e64
sub esp, 0x608
mov dword [ebp - 0x538], 0x10060dd0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.100038d0
mov esi, dword [ebp - 0x74]
add esp, 0x610
lea ecx, [ebp - 0xc0]
call fcn.10010320
test esi, esi
setne al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100ac5bd
mov esp, ebp
pop ebp
ret
call fcn.10005300
call fcn.100052a0
call fcn.100b835f
int3