Function at 0x4638c0
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
mov edi, dword [ebp + 0xc]
lea ecx, [ebx*8]
push ecx
mov dword [esi], 0x4aba50
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ebx
call fcn.0048a766
mov dword [esi + 0x14], eax
lea eax, [edi*8]
push eax
call fcn.0048a766
mov dword [esi + 0x18], eax
mov eax, dword [ebp + 0x10]
shl eax, 3
push eax
mov dword [esp + 0x1c], eax
call fcn.0048a766
lea edx, [ebx*4]
push edx
mov dword [esi + 0x1c], eax
call fcn.0048a766
mov dword [esi + 0x20], eax
lea eax, [edi*4]
push eax
call fcn.0048a766
mov dword [esi + 0x24], eax
xor eax, eax
lea edi, [ebx - 1]
add esp, 0x14
cmp edi, eax
mov dword [esi + 0x28], 0x47ae147b
mov dword [esi + 0x2c], 0x3f847ae1
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x3c], 1
mov dword [esp + 0x14], edi
jl 0x46397f
mov eax, dword [ebp + 0xc]
shl eax, 3
push eax
call fcn.0048a766
mov ecx, dword [esi + 0x20]
add esp, 4
dec edi
mov dword [ecx + edi*4 + 4], eax
jns 0x463964
xor eax, eax
mov edx, dword [ebp + 0xc]
dec edx
mov edi, edx
cmp edi, eax
mov dword [esp + 0xc], edx
jl 0x4639ab
lea ecx, [ecx]
mov edx, dword [esp + 0x10]
push edx
call fcn.0048a766
mov ecx, dword [esi + 0x24]
add esp, 4
dec edi
mov dword [ecx + edi*4 + 4], eax
jns 0x463990
mov edx, dword [esp + 0xc]
test ebx, ebx
mov dword [esp + 0x1c], ebx
fild dword [esp + 0x1c]
jge 0x4639bd
fadd qword [0x4a43e8]
fdivr qword [0x4ab9a8]
mov eax, dword [ebp + 0x14]
add eax, 0x1f123bb5
test edx, edx
mov edi, 0x159a55e5
mov dword [esp + 0x30], 0x16a81cc0
mov ecx, ebx
mov dword [esp + 0x10], edx
fsqrt
jl 0x463b07
mov ebx, dword [ebp + 0x10]
dec ebx
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x14]
test ebx, ebx
mov dword [esp + 0xc], ebx
jl 0x463ab0
test edx, edx
jne 0x463a0f
fld qword [0x4a55c8]
jmp 0x463a90
mov edx, edi
and edx, 0xffff
imul edx, edx, 0x9069
mov ebx, dword [esp + 0x30]
shr edi, 0x10
imul ebx, ebx, 0x10dcd
add edi, edx
mov edx, eax
and edx, 0xffff
shr eax, 0x10
imul edx, edx, 0x4650
add edx, eax
mov eax, ecx
shl eax, 0x11
xor ecx, eax
mov eax, ecx
shr eax, 0xd
xor ecx, eax
mov eax, ecx
shl eax, 5
xor ecx, eax
mov eax, edi
shl eax, 0x10
add eax, edx
add ebx, 0x12d687
xor eax, ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ebx
add eax, ecx
xor edx, edx
mov ebx, 0x5db
div ebx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fsub qword [0x4aba48]
fmul st(1)
fmul qword [0x4aba40]
mov edx, dword [esi + 0x20]
mov ebx, dword [esp + 0xc]
mov ebx, dword [edx + ebx*4]
mov edx, dword [esp + 0x10]
fstp qword [ebx + edx*8]
mov ebx, dword [esp + 0xc]
dec ebx
mov dword [esp + 0xc], ebx
jns 0x463a00
mov ebx, dword [esp + 0x1c]
test ebx, ebx
mov dword [esp + 0xc], ebx
jl 0x463afc
mov ebx, edx
and ebx, 0x80000001
jns 0x463acb
dec ebx
or ebx, 0xfffffffe
inc ebx
neg ebx
sbb ebx, ebx
and ebx, 2
dec ebx
mov dword [esp + 0x18], ebx
fild dword [esp + 0x18]
jmp 0x463ae0
mov ebx, dword [esi + 0x24]
fld st(0)
mov ebx, dword [ebx + edx*4]
mov edx, dword [esp + 0xc]
fstp qword [ebx + edx*8]
dec edx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x10]
jns 0x463ae0
fstp st(0)
dec edx
mov dword [esp + 0x10], edx
jns 0x4639f0
pop edi
fstp st(0)
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10