Function at 0x4f8690
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a8ad0
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x62cf50]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ecx, dword [0x6359c4]
mov dword [ebp - 0x64], eax
mov eax, dword fs:[0x2c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x635374]
cmp eax, dword [esi + 4]
jg 0x4f89a8
push 0x635344
mov dword [ebp - 0x74], 0x635344
call fcn.00551215
add esp, 4
test eax, eax
jne 0x4f89f8
mov eax, dword [0x635398]
mov dword [ebp - 4], 1
cmp eax, dword [esi + 4]
jg 0x4f89fe
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x4f8767
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x4f8767
lea eax, [ebp - 0x64]
mov ecx, 0x635378
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.004f3c20
lea ebx, [edi + esi]
mov esi, dword [eax]
cmp edi, ebx
je 0x4f8970
mov ecx, dword [esi + 0x10]
cmp ecx, dword [esi + 0x14]
je 0x4f8753
mov al, byte [edi]
mov byte [ecx], al
inc dword [esi + 0x10]
jmp 0x4f875d
push edi
push ecx
lea ecx, [esi + 0xc]
call fcn.004ca220
inc edi
cmp edi, ebx
jne 0x4f8742
jmp 0x4f8970
mov edx, dword [ebp - 0x64]
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dh
xor ecx, eax
movzx eax, byte [ebp - 0x62]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0x61]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x635378
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.004a1a70
mov eax, dword [eax + 4]
test eax, eax
je 0x4f8970
cmp eax, dword [0x63537c]
je 0x4f8970
lea eax, [ebp - 0x64]
mov ecx, 0x635378
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004f3c20
mov byte [ebp - 0x65], 0
mov esi, dword [eax]
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0x14]
je 0x4f87ed
mov byte [eax], 0
inc dword [esi + 0x10]
jmp 0x4f87fa
lea ecx, [ebp - 0x65]
push ecx
push eax
lea ecx, [esi + 0xc]
call fcn.0049dd90
push 0x5e8fe8
push dword [esi + 0xc]
call fcn.0056b470
add esp, 8
test eax, eax
je 0x4f8962
push 0x5e8ff8
push dword [esi + 0xc]
call fcn.0056b470
add esp, 8
test eax, eax
je 0x4f8962
mov dword [ebp - 0x3c], 0
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x6c], eax
mov dword [eax + 0x24], 0
push dword [esi + 0x10]
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 5
push dword [esi + 0xc]
push eax
call fcn.004f3f40
add esp, 0x34
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x20]
call fcn.004f8f10
push eax
sub esp, 0x18
mov ecx, esp
push 0xc
push 0x5e8fe8
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.0040c6f0
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x20]
call fcn.004f9410
mov ecx, eax
call fcn.004f4e80
test al, al
je 0x4f894a
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x20]
call fcn.004f8f10
push eax
sub esp, 0x18
mov ecx, esp
push 0xc
push 0x5e8ff8
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.0040c6f0
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x20]
call fcn.004f9410
mov ecx, eax
call fcn.004f4e80
test al, al
je 0x4f894a
lea eax, [ebp - 0x38]
push eax
push 0x5e8fe8
lea ecx, [ebp - 0x20]
call fcn.004f33a0
mov ecx, eax
call fcn.004f3580
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 8
push eax
call fcn.004ec4c0
add esp, 4
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x20]
push eax
push 0x5e8ff8
call fcn.004f33a0
mov ecx, eax
call fcn.004f3580
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 9
push eax
call fcn.004ec4c0
add esp, 4
lea ecx, [ebp - 0x50]
call fcn.0040c7f0
lea ecx, [ebp - 0x38]
call fcn.0040c7f0
lea eax, [ebp - 0x64]
mov ecx, 0x635378
push eax
call fcn.004f8fa0
lea ecx, [ebp - 0x20]
call fcn.004f49a0
jmp 0x4f8970
lea eax, [ebp - 0x64]
mov ecx, 0x635378
push eax
call fcn.004f8fa0
push 0x635344
mov dword [ebp - 4], 0xa
call fcn.0055123a
add esp, 4
test eax, eax
jne 0x4f8ab3
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call int.004016cd
mov esp, ebp
pop ebp
ret
push 0x635374
call fcn.0040b37e
add esp, 4
cmp dword [0x635374], 0xffffffff
jne 0x4f86e1
push 2
push 0x635344
mov dword [ebp - 4], 0
call fcn.005511f4
push 0x5afb60
mov dword [ebp - 4], 0xffffffff
call fcn.004060ec
push 0x635374
call fcn.0040b56b
add esp, 0x10
jmp 0x4f86e1
push eax
call fcn.00550c6d
push 0x635398
call fcn.0040b37e
add esp, 4
cmp dword [0x635398], 0xffffffff
jne 0x4f8715
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x6c]
mov byte [ebp - 4], 2
mov dword [0x635378], eax
push 0x18
lfence
call fcn.00406b5e
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [0x63537c], eax
mov dword [0x635384], 0
mov dword [0x635388], 0
mov dword [0x63538c], 0
push eax
push 0x10
mov ecx, 0x635384
mov byte [ebp - 4], 4
mov dword [0x635390], 7
mov dword [0x635394], 8
mov dword [0x635378], 0x3f800000
call fcn.0046ce50
push 0x5afb40
mov byte [ebp - 4], 2
call fcn.004060ec
push 0x635398
mov byte [ebp - 4], 1
call fcn.0040b56b
add esp, 8
jmp 0x4f8715
push eax
call fcn.00550c6d
int3