Function at 0x48a9e0
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fc7ce
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x98
mov eax, dword [0x53c160]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0xa0], eax
mov ecx, dword [edi]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x98], ecx
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 + 0x10]
mov dword [ebp - 0x94], eax
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x90], 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, [edi + 0xc]
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.00497d70
mov esi, dword [eax + 4]
test esi, esi
je 0x48aadc
cmp esi, dword [edi + 0x10]
je 0x48aadc
mov dword [ebp - 0x88], 0
lea ecx, [ebp - 0x80]
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x84], eax
lea eax, [esi + 0x10]
push eax
call fcn.00403040
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x68], eax
jmp 0x48ab63
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x30]
push eax
call fcn.00403040
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x68], eax
cmp edx, 8
jb 0x48ab63
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48ab59
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48ad5a
push edx
push ecx
call fcn.004c3baf
add esp, 8
mov ecx, dword [ebp - 0x8c]
mov eax, 0x51eb851f
mul ecx
mov dword [ebp - 4], 1
mov esi, edx
shr esi, 7
imul eax, esi, 0x190
sub ecx, eax
mov dword [ebp - 0x8c], ecx
cmp esi, dword [edi + 0x30]
jne 0x48ab94
mov eax, dword [edi + 0x44]
jmp 0x48abfb
cmp esi, dword [edi + 0x34]
je 0x48abf8
mov eax, dword [edi + 0x50]
lea ecx, [esi + esi*2]
lea edx, [eax + ecx*8]
lea ecx, [ebp - 0x40]
call fcn.0047e350
lea ecx, [edi + 0x38]
mov dword [ebp - 0x90], eax
cmp ecx, eax
je 0x48abe7
call fcn.00428b00
mov ecx, dword [ebp - 0x90]
mov eax, dword [ecx]
mov dword [edi + 0x38], eax
mov eax, dword [ecx + 4]
mov dword [edi + 0x3c], eax
mov eax, dword [ecx + 8]
mov dword [edi + 0x40], eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
lea ecx, [ebp - 0x40]
call fcn.00428b00
mov ecx, dword [ebp - 0x8c]
mov dword [edi + 0x34], esi
mov eax, dword [edi + 0x38]
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00408d20
mov byte [ebp - 4], 2
lea eax, [ebp - 0x80]
cmp dword [ebp - 0x6c], 8
lea ecx, [ebp - 0x64]
push dword [ebp - 0x70]
cmovae eax, dword [ebp - 0x80]
push eax
call fcn.004164a0
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 3
call fcn.00408d20
mov edx, dword [ebp - 0x94]
mov esi, dword [ebp - 0x98]
mov byte [ebp - 4], 4
mov edi, dword [ebp - 0x9c]
mov eax, dword [esi + edx*8 + 8]
mov ecx, dword [esi + edx*8 + 0xc]
movsd xmm0, qword [esi + edx*8]
mov esi, dword [ebp - 0x68]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x84]
mov dword [edi + 0x10], eax
lea eax, [ebp - 0x4c]
mov dword [edi + 0xc], ecx
lea ecx, [edi + 0x14]
push eax
movsd qword [edi], xmm0
call fcn.00408d20
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 5
push eax
lea ecx, [edi + 0x2c]
call fcn.00408d20
mov edx, dword [ebp - 0x38]
mov dword [edi + 0x44], esi
cmp edx, 0x10
jb 0x48acbe
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48acb4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48ad5f
push edx
push ecx
call fcn.004c3baf
add esp, 8
mov edx, dword [ebp - 0x50]
cmp edx, 0x10
jb 0x48acee
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48ace4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48ad5f
push edx
push ecx
call fcn.004c3baf
add esp, 8
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
cmp edx, 0x10
jb 0x48ad30
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x48ad26
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48ad5f
push edx
push ecx
call fcn.004c3baf
add esp, 8
lea ecx, [ebp - 0x80]
call fcn.00408a80
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004c3ba1
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
call fcn.004cecff
call fcn.004cecff
int3