Function at 0x46ab50
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x510996
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40
push ebx
push esi
push edi
mov dword [ebp - 0x14], 0
push 0xc
mov dword [ebp - 4], 2
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
call fcn.004e9663
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
push eax
push 0x10
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x4c], 0x3f800000
call fcn.00401910
mov edi, dword [ebp + 8]
mov byte [ebp - 4], 5
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x14], 1
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
mov dword [ebp - 0x20], eax
cmp ebx, eax
je 0x46acda
mov esi, dword [ebx]
mov ecx, dword [ebp + 0x5c]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x18], esi
test ecx, ecx
je 0x46ae3c
mov eax, dword [ecx]
lea edx, [ebp - 0x18]
push edx
call dword [eax + 8]
mov ecx, dword [eax]
cmp ecx, dword [eax + 4]
jne 0x46accb
mov eax, dword [edi + 4]
cmp eax, dword [edi + 8]
je 0x46ac48
mov dword [eax], esi
add dword [edi + 4], 4
jmp 0x46ac57
lea ecx, [ebp - 0x10]
push ecx
push eax
mov ecx, edi
call fcn.00401f50
mov esi, dword [ebp - 0x10]
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x18], esp
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__lambda_a9f22f3d78385a1443a278be7ea01f24___bool__class_spvtools::val::BasicBlock_const__.0
mov dword [eax + 0x24], eax
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__lambda_ea2c1d9106cd174027bab6e7d537ed34___void__class_spvtools::val::BasicBlock_const__.0
mov dword [eax + 0x24], eax
sub esp, 0x28
lea ecx, [ebp - 0x4c]
mov eax, esp
mov dword [ebp - 0x24], esp
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__lambda_b5637c36ecfe1bc33399838e8ad966f4___void__class_spvtools::val::BasicBlock_const__.0
mov dword [eax + 4], ecx
mov dword [eax + 0x24], eax
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x1c], ecx
mov dword [ecx + 0x24], 0
mov edx, dword [ebp + 0x34]
mov byte [ebp - 4], 9
test edx, edx
je 0x46acb7
mov eax, dword [edx]
push ecx
mov ecx, edx
call dword [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x24], eax
mov byte [ebp - 4], 8
push esi
mov byte [ebp - 4], 5
call fcn.004693c0
add esp, 0xa4
add ebx, 4
cmp ebx, dword [ebp - 0x20]
jne 0x46ac11
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
mov dword [ebp - 0x1c], eax
cmp esi, eax
je 0x46adea
lea ebx, [ebx]
mov ebx, dword [esi]
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [ebp - 0x10], ebx
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0045db70
cmp dword [eax + 4], 0
jne 0x46adde
mov eax, dword [edi + 4]
cmp eax, dword [edi + 8]
je 0x46ad5b
mov dword [eax], ebx
add dword [edi + 4], 4
jmp 0x46ad6a
lea ecx, [ebp - 0x10]
push ecx
push eax
mov ecx, edi
call fcn.00401f50
mov ebx, dword [ebp - 0x10]
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x24], esp
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__lambda_a9f22f3d78385a1443a278be7ea01f24___bool__class_spvtools::val::BasicBlock_const__.0
mov dword [eax + 0x24], eax
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x18], esp
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__lambda_ea2c1d9106cd174027bab6e7d537ed34___void__class_spvtools::val::BasicBlock_const__.0
mov dword [eax + 0x24], eax
sub esp, 0x28
lea ecx, [ebp - 0x4c]
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__lambda_b5637c36ecfe1bc33399838e8ad966f4___void__class_spvtools::val::BasicBlock_const__.0
mov dword [eax + 4], ecx
mov dword [eax + 0x24], eax
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x20], ecx
mov dword [ecx + 0x24], 0
mov edx, dword [ebp + 0x34]
mov byte [ebp - 4], 0xd
test edx, edx
je 0x46adca
mov eax, dword [edx]
push ecx
mov ecx, edx
call dword [eax]
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x24], eax
mov byte [ebp - 4], 0xc
push ebx
mov byte [ebp - 4], 5
call fcn.004693c0
add esp, 0xa4
add esi, 4
cmp esi, dword [ebp - 0x1c]
jne 0x46acf0
lea ecx, [ebp - 0x4c]
call fcn.00467fb0
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x46ae11
mov edx, dword [ecx]
lea eax, [ebp + 0x10]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp + 0x34], 0
mov ecx, dword [ebp + 0x5c]
test ecx, ecx
je 0x46ae29
mov esi, dword [ecx]
lea eax, [ebp + 0x38]
cmp ecx, eax
setne dl
movzx edx, dl
push edx
call dword [esi + 0x10]
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004e7294
int3