Function at 0x10066720
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e9395
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x10117fc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10c93d6c]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10c92bd0]
cmp eax, dword [ecx + 4]
jg 0x10066fb7
mov edx, dword [esi + 0x28]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x5c], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x10c92bb0
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.10003bb0
mov eax, dword [eax + 4]
test eax, eax
je 0x100667d1
cmp eax, dword [0x10c92bb4]
jne 0x100667f4
lea eax, [ebp - 0x5c]
mov ecx, 0x10c92bb0
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.10034e00
push 0
push 0x100f0b20
mov ecx, dword [eax]
add ecx, 0xc
call fcn.10024590
mov edx, dword [esi + 0x5c]
xorps xmm0, xmm0
mov ecx, edx
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10066811
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x58]
call fcn.10003b20
lea eax, [ebp - 0x5c]
mov dword [ebp - 4], 3
push eax
lea eax, [ebp - 0x64]
mov ecx, 0x10c92bb0
push eax
call fcn.10034e00
lea ecx, [ebp - 0x58]
push ecx
mov eax, dword [eax]
add eax, 0xc
push eax
call fcn.10039460
add esp, 8
test al, al
jne 0x10066f66
lea eax, [ebp - 0x5c]
mov ecx, 0x10c92bb0
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.10034e00
mov ecx, dword [eax]
lea eax, [ebp - 0x58]
add ecx, 0xc
cmp ecx, eax
je 0x10066886
cmp dword [ebp - 0x44], 0xf
push dword [ebp - 0x48]
cmova eax, dword [ebp - 0x58]
push eax
call fcn.10024590
xorps xmm0, xmm0
mov dword [ebp - 0x30], 1
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], 0xf
mov word [ebp - 0x40], 0xa
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x28], 0x6e5c6b5c
mov byte [ebp - 0x24], 0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.100825b0
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov byte [ebp - 4], 4
cmp ecx, 0xf
jbe 0x1006690e
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066904
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006705c
push ecx
push edx
call fcn.100ba39a
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 3
cmp ecx, 0xf
jbe 0x10066958
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006694e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006705c
push ecx
push edx
call fcn.100ba39a
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
movups xmmword [ebp - 0x28], xmm0
mov eax, 0x6e5c
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x14], 0xf
mov word [ebp - 0x28], ax
mov byte [ebp - 0x26], 0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.100825b0
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov byte [ebp - 4], 6
cmp ecx, 0xf
jbe 0x100669e0
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100669d6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10067061
push ecx
push edx
call fcn.100ba39a
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 3
cmp ecx, 0xf
jbe 0x10066a2a
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066a20
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10067061
push ecx
push edx
call fcn.100ba39a
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
movups xmmword [ebp - 0x28], xmm0
mov eax, 0x6b5c
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x14], 0xf
mov word [ebp - 0x28], ax
mov byte [ebp - 0x26], 0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.100825b0
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov byte [ebp - 4], 8
cmp ecx, 0xf
jbe 0x10066ab2
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066aa8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10067066
push ecx
push edx
call fcn.100ba39a
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 3
cmp ecx, 0xf
jbe 0x10066afc
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066af2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10067066
push ecx
push edx
call fcn.100ba39a
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
movups xmmword [ebp - 0x28], xmm0
mov eax, 0x735c
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x14], 0xf
mov word [ebp - 0x28], ax
mov byte [ebp - 0x26], 0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.100825b0
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov byte [ebp - 4], 0xa
cmp ecx, 0xf
jbe 0x10066b84
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066b7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006706b
push ecx
push edx
call fcn.100ba39a
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 3
cmp ecx, 0xf
jbe 0x10066bce
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066bc4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006706b
push ecx
push edx
call fcn.100ba39a
add esp, 8
push 1
push 0x100f60c4
lea ecx, [ebp - 0x24]
call fcn.1000e6d0
push 0
push 0x100f13bc
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.1000dfc0
mov esi, eax
add esp, 0x14
lea eax, [ebp - 0x58]
cmp eax, esi
je 0x10066c6a
mov ecx, dword [ebp - 0x44]
cmp ecx, 0xf
jbe 0x10066c36
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066c2c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10067070
push ecx
push edx
call fcn.100ba39a
add esp, 8
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x48], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x10066c9e
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066c94
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10067070
push ecx
push edx
call fcn.100ba39a
add esp, 8
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.10012b80
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x10066cd4
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10066cd4
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x28], 0x3036463c
mov byte [ebp - 0x24], 0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.100825b0
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov byte [ebp - 4], 0xd
cmp ecx, 0xf
jbe 0x10066d5a
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066d50
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10067075
push ecx
push edx
call fcn.100ba39a
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 3
cmp ecx, 0xf
jbe 0x10066da4
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066d9a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10067075
push ecx
push edx
call fcn.100ba39a
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
movups xmmword [ebp - 0x28], xmm0
mov eax, 0x523c
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x14], 0xf
mov word [ebp - 0x28], ax
mov byte [ebp - 0x26], 0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.100825b0
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov byte [ebp - 4], 0xf
cmp ecx, 0xf
jbe 0x10066e2c
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066e22
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006707a
push ecx
push edx
call fcn.100ba39a
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 3
cmp ecx, 0xf
jbe 0x10066e76
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066e6c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006707a
push ecx
push edx
call fcn.100ba39a
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], 0xf
mov word [ebp - 0x28], 0x3e
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.100825b0
mov ecx, dword [ebp - 0x14]
add esp, 0xc
cmp ecx, 0xf
jbe 0x10066ef3
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066ee9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006707f
push ecx
push edx
call fcn.100ba39a
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp ecx, 0xf
jbe 0x10066f39
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066f2f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006707f
push ecx
push edx
call fcn.100ba39a
add esp, 8
mov ecx, dword [ebp - 0x48]
mov eax, 0xb928
cmp ecx, eax
cmova ecx, eax
mov eax, dword [edi + 4]
mov dword [eax], ecx
lea ecx, [ebp - 0x58]
mov eax, dword [edi + 4]
cmp dword [ebp - 0x44], 0xf
cmova ecx, dword [ebp - 0x58]
push dword [eax]
push ecx
push dword [edi]
call fcn.100bbf40
add esp, 0xc
mov ecx, dword [ebp - 0x44]
cmp ecx, 0xf
jbe 0x10066f9a
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066f90
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10067084
push ecx
push edx
call fcn.100ba39a
add esp, 8
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.100ba6c2
mov esp, ebp
pop ebp
ret 0x10
push 0x10c92bd0
call fcn.100ba805
add esp, 4
cmp dword [0x10c92bd0], 0xffffffff
jne 0x10066770
push 0x24
mov dword [ebp - 4], 0
call fcn.100ba36a
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [0x10c92bb4], eax
mov dword [0x10c92bbc], 0
mov dword [0x10c92bc0], 0
mov dword [0x10c92bc4], 0
push eax
push 0x10
mov ecx, 0x10c92bbc
mov byte [ebp - 4], 2
mov dword [0x10c92bc8], 7
mov dword [0x10c92bcc], 8
mov dword [0x10c92bb0], 0x3f800000
call fcn.10006d10
push 0x100ef0d0
call fcn.100ba6ad
push 0x10c92bd0
mov dword [ebp - 4], 0xffffffff
call fcn.100ba7b4
add esp, 8
jmp 0x10066770
call fcn.100c657f
call fcn.100c657f
call fcn.100c657f
call fcn.100c657f
call fcn.100c657f
call fcn.100c657f
call fcn.100c657f
call fcn.100c657f
call fcn.100c657f
int3