Function at 0x100640a0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1016f166
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x84
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [eax]
mov ebx, ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
and eax, 3
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x44]
lea esi, [ebx + 0x20e4]
mov dword [ebp - 0x1c], ebx
push eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x3c], esi
call fcn.1003a340
push eax
lea eax, [ebp - 0x44]
mov ecx, esi
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.1003a670
mov eax, dword [eax + 4]
test eax, eax
jne 0x10064109
mov eax, dword [esi + 4]
cmp eax, dword [ebx + 0x20e8]
je 0x10064127
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, edi
mov ecx, edi
shr edx, 0x14
and edx, 0x3f
shr ecx, 0x1a
and ecx, 0xf
mov eax, edx
shl eax, 7
push edx
mov ebx, dword [eax + 0x10762144]
mov esi, dword [eax + 0x10762148]
mov eax, 1
shl eax, cl
mov ecx, ebx
cmp eax, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x30], esi
cmovge ecx, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp + 8], ecx
mov ecx, edi
shrd ecx, eax, 0x1e
mov eax, 1
mov edi, esi
and ecx, 0xf
shl eax, cl
mov ecx, dword [ebp - 0x14]
cmp eax, esi
cmovge edi, eax
mov eax, ecx
shr eax, 0xe
and ecx, 0x3fff
and eax, 0x3f
mov dword [ebp - 0x34], edi
push eax
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.100639d0
mov esi, eax
mov dword [ebp - 0x8c], 0
push 0x2c
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
call fcn.100cd0b0
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x80]
push eax
push 0x10
mov dword [ebp - 0x74], 7
mov dword [ebp - 0x70], 8
mov dword [ebp - 0x8c], 0x3f800000
call fcn.1001c8c0
xor ebx, ebx
mov dword [ebp - 4], 2
mov dword [ebp - 0x14], ebx
test edi, edi
jle 0x100642b8
mov ecx, dword [ebp + 8]
nop word [eax + eax]
mov eax, ebx
mov edi, ebx
sar eax, 3
shl edi, 7
movsx edx, word [esi + eax*2 + 0x20]
xor esi, esi
mov dword [ebp - 0x28], edx
test ecx, ecx
jle 0x100642a6
mov ebx, dword [ebp + 8]
nop dword [eax + eax]
mov eax, dword [ebp - 0x18]
mov ecx, esi
sar ecx, 3
mov eax, dword [eax + 0x220]
movsx eax, word [eax + ecx*2]
lea ecx, [ebp - 0x8c]
add eax, edx
shr eax, 5
and eax, 0x1ff
mov dword [ebp - 0x1c], eax
lea eax, [edi + esi]
sar eax, 3
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.100695c0
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, eax
call fcn.1006bd50
add esi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp esi, ebx
jl 0x10064250
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
add ebx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp - 0x34]
jl 0x10064230
push 0x1804
call fcn.100cd26e
add esp, 4
test eax, eax
je 0x100642ee
push fcn.100304e0
push 0x10069630
push 0x200
lea ebx, [eax + 4]
mov dword [eax], 0x200
push 0xc
push ebx
mov dword [ebp + 8], ebx
call fcn.100cd1fa
jmp 0x100642f5
mov dword [ebp + 8], 0
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x30], eax
mov esi, dword [eax]
mov dword [ebp - 0x14], esi
cmp esi, eax
je 0x100644bf
nop dword [eax + eax]
mov ebx, dword [esi + 8]
push 0x10
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
call fcn.100cd0b0
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x60]
push eax
push 0x10
mov dword [ebp - 0x54], 7
mov dword [ebp - 0x50], 8
mov dword [ebp - 0x6c], 0x3f800000
call fcn.1001c8c0
mov byte [ebp - 4], 5
mov edi, dword [esi + 0x10]
mov esi, dword [edi]
cmp esi, edi
je 0x1006441b
nop word [eax + eax]
mov ecx, dword [esi + 8]
mov ebx, 1
mov edx, ecx
and ecx, 0x1f
shr edx, 5
shl ebx, cl
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x18], 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
lea ecx, [ebp - 0x6c]
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.1006f3c0
mov eax, dword [eax + 4]
test eax, eax
je 0x10064400
cmp eax, dword [ebp - 0x68]
je 0x10064400
or dword [eax + 0xc], ebx
jmp 0x1006440e
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x6c]
call fcn.100694c0
mov dword [eax], ebx
mov esi, dword [esi]
cmp esi, edi
jne 0x10064390
mov ebx, dword [ebp - 0x34]
mov ecx, dword [ebp + 8]
lea eax, [ebx + ebx*2]
lea ebx, [ecx + eax*4]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
sar eax, 3
cmp ecx, eax
jbe 0x10064447
cmp ecx, 0x1fffffff
ja 0x100644f0
push ecx
mov ecx, ebx
call fcn.10069650
mov edi, dword [ebp - 0x68]
mov esi, dword [edi]
cmp esi, edi
je 0x10064488
mov ecx, dword [esi + 0xc]
mov eax, dword [ebx + 4]
not ecx
mov edx, dword [esi + 8]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
cmp eax, dword [ebx + 8]
je 0x10064471
mov dword [eax], edx
mov dword [eax + 4], ecx
add dword [ebx + 4], 8
jmp 0x1006447d
lea ecx, [ebp - 0x2c]
push ecx
push eax
mov ecx, ebx
call fcn.1006c180
mov esi, dword [esi]
mov edx, dword [ebx + 4]
cmp esi, edi
jne 0x10064450
jmp 0x1006448b
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
mov eax, edx
sub eax, ecx
sar eax, 3
push 0x10064090
push eax
call fcn.1006ede0
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
call fcn.100637c0
mov esi, dword [ebp - 0x14]
mov esi, dword [esi]
mov dword [ebp - 0x14], esi
cmp esi, dword [ebp - 0x30]
jne 0x10064310
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x44]
push eax
call fcn.1003d270
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x8c]
mov dword [eax], ebx
call fcn.10064510
mov ecx, dword [ebp - 0xc]
mov eax, ebx
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.10021850
int3